Sun Jan 16 10:33:30 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,(%rbp) _litmus_P1_1_: movl (%rbp),%r13d _litmus_P1_2_: movl $1,(%rsi) _litmus_P1_3_: movl (%rsi),%r15d _litmus_P1_4_: movl (%rcx),%eax _litmus_P1_5_: movl (%r12),%r14d _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl (%r12),%r13d _litmus_P0_3_: movl (%rcx),%r15d _litmus_P0_4_: movl (%rbp),%r14d _litmus_P0_5_: movl (%rsi),%eax Test X000+X000 Required Histogram (12 states) 3811697:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2954572:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2400863:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 363555753:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 21801594:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 3229198:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 7010752:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 23151078:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 360476979:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 1728084:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 5684291:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 4195139:>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: 758791324, Negative: 41208676 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 92.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r14),%eax _litmus_P1_3_: movl (%r15),%edx _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r8),%edi _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r15),%eax _litmus_P0_3_: movl (%r8),%ecx _litmus_P0_4_: movl (%r14),%edx _litmus_P0_5_: movl (%r13),%edi Test X000+X001 Required Histogram (32 states) 247876:>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; 150965:>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; 13800156:>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; 60978982:>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; 228075:>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; 10705 :>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; 3487397:>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; 2621220:>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; 129956:>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; 41445 :>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; 1911261:>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; 7312209:>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; 130742587:>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; 68448 :>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; 68365041:>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; 13326559:>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; 554857:>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; 65438410:>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; 63962 :>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; 94676960:>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; 539682:>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; 121672:>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; 36911 :>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; 65943 :>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; 443503:>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; 981418:>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; 49541 :>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; 671450:>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; 31288966:>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; 824511:>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; 344775:>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; 474557:>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: 478303708, Negative: 21696292 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 99.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r14),%eax _litmus_P2_3_: movl (%r15),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl (%r8),%edi _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r14),%eax _litmus_P1_3_: movl $1,(%r9) _litmus_P1_4_: movl (%r9),%ecx _litmus_P1_5_: movl (%r13),%edi _litmus_P1_6_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r8),%ecx _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl (%r13),%edi _litmus_P0_4_: movl (%r15),%eax _litmus_P0_5_: movl (%r14),%edx Test X001+X002 Required Histogram (64 states) 19843 :>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; 30735 :>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; 3681 :>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; 38072 :>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; 101178:>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; 79182 :>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; 7430599:>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; 60607609:>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; 16503 :>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; 5993 :>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; 56 :>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; 278 :>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; 1653629:>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; 165326:>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; 55755311:>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; 37597195:>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; 4245 :>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; 223 :>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; 26 :>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; 41 :>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; 4709 :>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; 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; 2:ECX=1; 2:EDX=0; 291 :>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; 200 :>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; 1383583:>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; 1837 :>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; 24 :>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; 60 :>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; 33657682:>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; 63492 :>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; 29598 :>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; 8578 :>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; 455678:>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; 83050755:>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; 154422:>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; 36701707:>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; 118063:>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; 563671:>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; 205968:>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; 3925710:>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; 60734 :>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; 32231 :>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; 123 :>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; 3823 :>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; 528448:>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; 196848:>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; 609593:>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; 1133828:>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; 1506811:>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; 38785852:>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; 9481 :>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; 2205114:>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; 111700:>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; 291968:>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; 5855 :>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; 162832:>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; 52954802:>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; 611100:>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; 119 :>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; 12485 :>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; 76165256:>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; 602462:>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; 51093 :>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; 121194:>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: 402058284, Negative: 97941716 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 120.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl (%r14),%edi _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl (%r15),%edx _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: movl (%r13),%r12d _litmus_P1_4_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%r14) _litmus_P0_3_: movl (%r14),%eax _litmus_P0_4_: movl (%r15),%edx _litmus_P0_5_: movl (%r9),%ecx _litmus_P0_6_: movl (%r13),%edi Test X002+X003 Required Histogram (64 states) 108440:>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; 230819:>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; 65076 :>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; 1223696:>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; 103516:>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; 53864 :>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; 10525864:>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; 70317057:>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; 108663:>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; 5146 :>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; 13291 :>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; 8924 :>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; 1576789:>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; 19943 :>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; 65469788:>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; 19520259:>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; 49739 :>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; 26368 :>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; 17689 :>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; 39103 :>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; 7617 :>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; 2067 :>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; 4263 :>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; 7016 :>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; 20264692:>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; 17890 :>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; 106681:>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; 23748 :>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; 69215869:>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; 11898 :>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; 1717956:>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; 112240:>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; 219492:>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; 30641103:>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; 54814 :>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; 66231520:>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; 64490 :>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; 204850:>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; 75386 :>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; 2849402:>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; 177905:>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; 11020 :>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; 17164 :>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; 14956 :>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; 365177:>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; 18797 :>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; 221817:>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; 230835:>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; 451295:>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; 47733328:>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; 43592 :>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; 16855302:>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; 24621 :>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; 71561 :>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; 7931 :>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; 213185:>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; 39571641:>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; 352281:>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; 197609:>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; 102009:>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; 31274439:>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; 57721 :>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; 510457:>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; 158329:>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: 433011459, Negative: 66988541 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 119.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r9),%r8d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl (%rsi),%r15d _litmus_P2_3_: movl (%rcx),%eax _litmus_P2_4_: movl (%rbp),%r13d _litmus_P2_5_: movl (%r12),%r14d _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%rbp),%eax _litmus_P1_3_: movl (%r12),%r14d _litmus_P1_4_: movl (%r13),%r15d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r15) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl (%r14),%r10d Test X003+X004 Required Histogram (128 states) 2971 :>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; 1422 :>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; 2751637:>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; 3919218:>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; 3712 :>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; 1477 :>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; 2344372:>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; 4438824:>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; 13998 :>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; 828 :>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; 2691084:>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; 1239010:>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; 65529 :>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; 2856 :>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; 8592756:>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; 3387807:>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; 3259 :>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; 338 :>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; 1106262:>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; 400947:>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; 1471 :>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; 143 :>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; 377582:>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; 167360:>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; 10877607:>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; 2246 :>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; 6000058:>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; 655224:>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; 7895226:>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; 2625 :>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; 8680556:>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; 833074:>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; 22264 :>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; 2043897:>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; 906742:>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; 14872796:>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; 2762 :>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; 6177 :>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; 357246:>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; 1087465:>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; 16833 :>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; 2413 :>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; 59010 :>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; 98982 :>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; 23224 :>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; 1287 :>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; 216889:>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; 220078:>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; 465942:>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; 23390340:>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; 4167391:>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; 38021540:>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; 6070 :>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; 7275 :>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; 589000:>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; 1278544:>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; 35698907:>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; 90001 :>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; 9886738:>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; 3499191:>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; 5586353:>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; 11265 :>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; 5834111:>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; 1586296:>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; 23487 :>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; 98986 :>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; 8867 :>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; 127900:>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; 5188771:>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; 14272571:>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; 3016808:>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; 23452715:>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; 17316 :>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; 3508 :>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; 1595 :>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; 4165 :>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; 30837219:>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; 4017866:>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; 10676072:>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; 7572572:>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; 7181 :>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; 3842 :>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; 2309 :>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; 3580 :>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; 20291 :>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; 19681 :>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; 14810 :>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; 25332 :>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; 3447080:>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; 3277 :>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; 640 :>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; 729 :>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; 20975447:>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; 36212 :>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; 42540 :>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; 25492 :>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; 60532 :>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; 9865261:>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; 12619 :>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; 7949012:>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; 16902 :>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; 164246:>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; 3067 :>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; 154879:>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; 6237 :>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; 1220 :>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; 32 :>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; 137 :>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; 21892 :>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; 6259 :>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; 3484 :>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; 6273 :>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; 373795:>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; 20773872:>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; 16075 :>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; 4242520:>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; 13269 :>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; 39646 :>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; 3545 :>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; 31902 :>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; 9811288:>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; 70356 :>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; 772 :>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; 3897 :>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; 5830788:>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; 26673 :>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; 9469 :>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; 12712 :>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: 346365276, Negative: 53634724 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 119.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,(%r14) _litmus_P3_1_: movl $1,(%rax) _litmus_P3_2_: movl (%r14),%ebp _litmus_P3_3_: movl (%r15),%r12d _litmus_P3_4_: movl (%rax),%ecx _litmus_P3_5_: movl (%r13),%esi _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl (%r15),%ecx _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%ebp _litmus_P2_4_: movl (%r13),%r12d _litmus_P2_5_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl (%r14),%ebp Test X004+X005 Required Histogram (249 states) 10527 :>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; 21631 :>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; 5778 :>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; 60340 :>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; 90099 :>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; 27056 :>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; 266377:>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; 529630:>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; 57856 :>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; 10370 :>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; 6670032:>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; 5902182:>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; 176001:>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; 2156 :>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; 20271453:>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; 19842783:>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; 7712 :>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; 24856 :>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; 131 :>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; 30554 :>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; 1089 :>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; 694 :>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; 30 :>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=0; 3:ECX=1; 3:EDX=0; c=1; 1236 :>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; 124440:>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; 50906 :>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; 6824134:>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; 19192703:>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; 19685 :>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; 827 :>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; 1555229:>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; 2232691:>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; 6317377:>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; 76583 :>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; 812 :>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; 33028 :>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; 10955891:>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; 26047 :>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; 25722 :>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; 36211 :>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; 3710100:>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; 29259 :>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; 44869 :>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; 51739 :>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; 7215020:>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; 9481 :>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; 110005:>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; 43216 :>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; 14230225:>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; 257955:>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; 50 :>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; 36889 :>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; 832663:>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; 3301 :>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; 18 :>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=0; c=1; 437 :>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; 23707747:>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; 300174:>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; 56217 :>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; 156096:>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; 2179318:>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; 8445 :>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; 14863 :>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; 10847 :>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; 1236 :>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; 8464 :>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; 341 :>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; 17730 :>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; 2811143:>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; 2978943:>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; 4901598:>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; 15178863:>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; 392 :>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; 601 :>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; 50 :>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; 3380 :>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; 11804 :>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; 2449 :>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; 61040 :>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; 111804:>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; 455 :>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; 5268 :>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; 3 :>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=1; c=1; 5844 :>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; 221 :>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; 459 :>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; 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=0; 3:ECX=1; 3:EDX=1; c=1; 420 :>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; 420 :>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; 1571 :>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; 13 :>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=1; c=1; 4187 :>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; 551 :>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; 227 :>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; 44 :>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; 1037 :>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; 2162312:>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; 153371:>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; 251 :>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; 45817 :>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; 45382521:>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; 15786784:>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; 4170882:>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; 12415434:>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; 115245:>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; 13100 :>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; 347 :>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; 17138 :>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; 1273476:>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; 16228 :>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; 25883 :>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; 57153 :>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; 4973354:>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; 239006:>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; 30 :>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; 40542 :>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; 1067023:>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; 9981 :>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; 27 :>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; 1501 :>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; 1077630:>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; 78693 :>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; 224 :>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; 40459 :>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; 711362:>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; 6767 :>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; 285 :>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; 2932 :>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; 147 :>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; 34204 :>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; 267 :>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; 79063 :>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; 232 :>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; 2454 :>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; 1711 :>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; 122917:>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; 47 :>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; 3725 :>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; 48800 :>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; 2941490:>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; 10 :>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; 43 :>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; 17342 :>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; 1581094:>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; 110 :>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; 4112038:>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; 6 :>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; 6171369:>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; 2 :>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; 93 :>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; 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=0; 3:ECX=1; 3:EDX=0; c=2; 629 :>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; 500 :>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; 2356263:>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; 57505 :>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; 32559572:>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; 1 :>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; 36 :>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; 677 :>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; 260861:>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; 50 :>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; 23122 :>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; 4 :>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; 18384 :>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; 17 :>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; 652 :>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; 13 :>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; 4433 :>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; 24 :>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; 2826 :>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; 53 :>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; 12170 :>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; 7 :>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; 5 :>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; 1046 :>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; 463 :>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; 20059038:>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; 2 :>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; 3763324:>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; 2 :>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=2; 62 :>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; 84 :>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; 928 :>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; 8760082:>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; 226 :>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; 6125868:>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; 21 :>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; 291 :>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; 199 :>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; 40861 :>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; 33 :>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; 64677 :>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; 33567 :>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; 1790534:>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; 16553 :>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; 6333822:>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; 1 :>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; 514 :>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; 12 :>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; 4100 :>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; 46 :>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; 372 :>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; 539 :>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; 34998 :>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; 59 :>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; 879066:>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; 2 :>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=1; c=2; 2022342:>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; 6 :>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=2; 1463 :>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; 2694 :>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; 26 :>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; 32384 :>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; 5 :>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=1; c=2; 236223:>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; 8 :>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; 128 :>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; 1485 :>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; 327 :>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; 135948:>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; 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=1; 3:ECX=1; 3:EDX=1; c=2; 60176 :>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; 24775 :>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; 2879696:>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; 908 :>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; 2846706:>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; 20 :>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; 2242 :>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; 4 :>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; 11092 :>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; 17 :>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; 363 :>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; 14 :>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; 4347 :>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; 789 :>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; 16991228:>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; 4 :>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; 4173043:>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; 45 :>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; 6837 :>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; 3415 :>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; 228 :>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; 955967:>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; 15 :>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; 789372:>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; 6 :>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; 260 :>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; 918 :>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: 297945987, Negative: 102054013 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 137.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r15),%ecx _litmus_P2_3_: movl (%rax),%esi _litmus_P2_4_: movl (%r13),%ebp _litmus_P2_5_: movl (%r14),%r12d _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: movl $1,(%r14) _litmus_P0_3_: movl (%r12),%ebp _litmus_P0_4_: movl (%r13),%ebx Test X005+X006 Required Histogram (146 states) 24 :>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; 20937 :>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; 175 :>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; 33069 :>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; 16 :>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; b=1; x=1; 110116:>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; 145631:>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; 31501440:>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; 3162 :>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; 3787905:>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; 8205 :>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; 573423:>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; 380 :>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; 4985753:>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; 50118 :>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; 13749841:>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; 15 :>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; 30832 :>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; 317 :>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; 44508 :>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; 2 :>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; b=1; x=1; 7601 :>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; 744 :>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; 76128 :>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; 55052 :>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; 20652842:>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; 63144 :>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; 2373163:>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; 424 :>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; 5270049:>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; 32336 :>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; 6770893:>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; 17 :>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; 207898:>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; 246 :>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; 32660 :>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; 20 :>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; b=1; x=1; 817423:>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; 105993:>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; 23475847:>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; 90841 :>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; 44 :>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; 4014 :>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; 104237:>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; 126 :>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; 12275 :>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; 2621 :>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; 714133:>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; 2235 :>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; 96867 :>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; 6 :>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; b=1; x=1; 310876:>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; 1106 :>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; 100572:>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; 3505 :>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; 1212817:>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; 3360 :>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; 48924 :>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; 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; b=1; x=1; 257350:>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; 426 :>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; 17865 :>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; 24671 :>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; 115685:>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; 29249 :>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; 19910698:>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; 809673:>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; 1078256:>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; 83818 :>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; 2068881:>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; 9191196:>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; 12953213:>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; 2674 :>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; 123140:>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; 33359424:>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; 15953302:>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; 127698:>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; 1482788:>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; 43338 :>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; 72102 :>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; 49665 :>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; 5970421:>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; 4739 :>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; 2525 :>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; 881 :>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; 741 :>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; 22047144:>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; 7877555:>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; 11671 :>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; 58045 :>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; 14255343:>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; 1159595:>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; 2890 :>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; 3634 :>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; 1311 :>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; 1 :>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=2; 229 :>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; 34116 :>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; 200 :>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; 3829118:>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; 4 :>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=2; 2038455:>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; 57 :>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; 30994 :>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; 5165304:>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; 257 :>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; 3000114:>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; 486 :>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; 18 :>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; 988 :>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; 2875 :>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; 61 :>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; 4389148:>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; 157 :>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; 17426 :>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; 3196509:>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; 149 :>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; 563343:>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; 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=2; 4539340:>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; 14 :>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; 741 :>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; 24524784:>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; 503 :>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; 13930820:>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; 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=2; 2034973:>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; 5 :>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=2; 271 :>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; 5325886:>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; 7 :>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; 8899 :>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; 9 :>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; 14471889:>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; 57 :>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; 550 :>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; 7671468:>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; 22 :>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; 20392 :>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; 48 :>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; 28857094:>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; 72 :>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; 562 :>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; 9487830:>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; 23 :>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; 5211 :>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: 374897921, Negative: 25102079 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 133.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r9d _litmus_P3_2_: movl (%r11),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: movl (%r13),%r12d _litmus_P2_4_: movl (%r15),%ecx _litmus_P2_5_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $2,(%r14) _litmus_P1_2_: movl (%r13),%ebp _litmus_P1_3_: movl (%r14),%eax _litmus_P1_4_: movl (%r15),%ebx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X006+X007 Required Histogram (240 states) 19 :>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=1; 3 :>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; 9 :>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=1; 22 :>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=0; c=1; x=1; 4 :>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; 903 :>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; 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; c=1; x=1; 15 :>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; 143 :>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; 2 :>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; 25 :>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; 51396 :>1:EAX=1; 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; 4563006:>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; 438233:>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; 5322128:>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; 139812:>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; 1319829:>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; 2505386:>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; 2759731:>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; 3182 :>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; 406168:>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; 10841 :>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; 216623:>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; 46219 :>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; 567589:>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; 444242:>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; 878334:>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; 15045 :>1:EAX=1; 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; 19141016:>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; 89367 :>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; 1548946:>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; 18738 :>1:EAX=1; 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; 126320:>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; 273001:>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; 209472:>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; 212624:>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; 50630584:>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; 320118:>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; 1686303:>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; 567265:>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; 2874232:>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; 1596431:>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; 1030985:>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; 25 :>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; 404 :>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; c=1; x=1; 3493 :>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; 671 :>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; 909 :>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; 2 :>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; 14 :>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; c=1; x=1; 16 :>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; 10 :>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; 14 :>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; 26 :>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; 2755 :>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; 8 :>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; 48 :>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=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; 5401 :>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; 29 :>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; 21 :>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; 2 :>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; 19 :>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; 6 :>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; 29 :>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; 105 :>1:EAX=1; 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; 282562:>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; 1340419:>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; 34607618:>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; 183 :>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=1; c=1; x=1; 9129 :>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; 5320174:>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; 6745953:>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; 9 :>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=1; x=1; 7320 :>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; 754 :>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; 45191 :>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; 57 :>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=1; x=1; 12059 :>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; 21075 :>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; 113054:>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; 54 :>1:EAX=1; 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; 14901863:>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; 7442 :>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; 281288:>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; 10 :>1:EAX=1; 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; 2807 :>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; 7094 :>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; 26330 :>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; 152 :>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; 7911726:>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; 2187 :>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; 66203 :>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; 327 :>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; 23558 :>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; 8697 :>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; 43487 :>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; 3 :>1:EAX=1; 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; 888 :>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; 5 :>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; 188 :>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; 187 :>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=2; x=1; 3625 :>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; 2412 :>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; 10421 :>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; 725 :>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; 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; 978 :>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; 36546 :>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; 8700 :>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; 49434 :>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; 6 :>1:EAX=1; 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; 194867:>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; 45 :>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; 532 :>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; 131 :>1:EAX=1; 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; 1810 :>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; 804 :>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; 4251 :>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; 2614 :>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; 11688558:>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; 780 :>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; 1920 :>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; 29751 :>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; 420291:>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; 57346 :>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; 92776 :>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; 31 :>1:EAX=1; 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; 78492 :>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; 192309:>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; 8217323:>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; 215 :>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=1; c=2; x=1; 10552 :>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; 1316089:>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; 3913898:>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; 6387 :>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; 315 :>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; 17321 :>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; 629 :>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; 34428 :>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; 31219 :>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; 168676:>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; 71 :>1:EAX=1; 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; 5696188:>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; 2355 :>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; 73031 :>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; 39 :>1:EAX=1; 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; 2063 :>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; 3025 :>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; 9381 :>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; 2413 :>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; 16930929:>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; 3702 :>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; 30258 :>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; 7599 :>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; 217351:>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; 49830 :>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; 105126:>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; 1010 :>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; 2036 :>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; 5 :>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; 2846 :>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; 803 :>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; 997297:>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; 686840:>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; 1453412:>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; 7258424:>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; 834237:>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; 302933:>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; 5269473:>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; 9668554:>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; 24045 :>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; 15048 :>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; 26314 :>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; 52787 :>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; 1470487:>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; 189902:>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; 9751046:>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; 5386693:>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; 1 :>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; 108 :>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; 2433 :>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; 2 :>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; 2 :>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; 19 :>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; 131 :>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; 6 :>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; 1 :>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; 21 :>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; 47 :>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; 5501 :>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; 1206715:>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; 4786 :>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; 14758186:>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; 2301 :>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; 15668 :>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; 18527 :>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; 166758:>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; 788 :>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; 893 :>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; 1094 :>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; 7602 :>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; 17410 :>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; 4377 :>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; 35621 :>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; 39623 :>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; 97 :>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; 24 :>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; 3879 :>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; 7929 :>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; 2242 :>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; 242 :>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; 10909824:>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; 7660858:>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; 23 :>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; 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=0; c=2; x=2; 1038 :>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; 881 :>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; 51984 :>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; 1133 :>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; 30661537:>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; 4255347:>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; 2295 :>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; 253214:>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; 10154 :>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; 21198675:>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; 5830 :>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; 6434 :>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; 4850430:>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; 23280362:>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; 256 :>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; 448 :>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; 1914 :>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; 10255 :>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; 80986 :>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; 5225 :>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; 10171108:>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; 5333536:>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: 363422418, Negative: 36577582 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 132.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $1,(%rax) _litmus_P3_2_: movl (%r14),%ebp _litmus_P3_3_: movl (%r15),%r12d _litmus_P3_4_: movl (%rax),%ecx _litmus_P3_5_: movl (%r13),%esi _litmus_P2_0_: movl $2,(%r15) _litmus_P2_1_: movl (%r15),%ecx _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%ebp _litmus_P2_4_: movl (%r13),%r12d _litmus_P2_5_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r13),%eax Test X007+X008 Required Histogram (354 states) 642 :>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; 298 :>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=1; 5209 :>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; 142 :>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; 3 :>0: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; d=1; y=1; 40 :>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; 235 :>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=1; 20 :>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; 1 :>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; 2641 :>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; 404 :>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; 294620:>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; 286931:>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; 30256044:>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; 14022458:>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; 1 :>0:EAX=0; 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; 8 :>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; 1983 :>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; 59792 :>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; 5789 :>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; 3303 :>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; 3792542:>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; 3209429:>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; 150008:>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; 76064 :>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; 472830:>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; 59089 :>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; 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=0; c=1; 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=0; c=1; d=1; y=1; 7295 :>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; 48370 :>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; 181 :>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; 43 :>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; 171139:>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; 85305 :>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; 136085:>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; 115307:>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; 1958 :>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; 508 :>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; 3 :>0: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; 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; 147 :>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; 1908 :>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; 1 :>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; 541 :>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; 873 :>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; 7866282:>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; 7363271:>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; 72745 :>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; 65362 :>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; 1 :>0:EAX=0; 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; 1 :>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; 752 :>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; 23783 :>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; 1421 :>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; 22617 :>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; 10081940:>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; 8629944:>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; 98549 :>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; 46446 :>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; 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=1; y=1; 15 :>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; 6202 :>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; 92276 :>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; 2 :>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=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; 21281 :>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; 47457 :>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; 9 :>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=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=1; 3:EDX=0; c=2; 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=0; c=2; d=1; y=1; 9 :>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=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=1; 3:EDX=0; c=2; d=1; y=1; 10343 :>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; 224059:>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; 570460:>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; 8620758:>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; 92 :>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; 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=2; d=1; y=1; 32066 :>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; 105 :>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; 3173 :>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; 55605 :>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; 1630480:>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; 239 :>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; 12666 :>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; 190 :>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; 7542 :>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; 30 :>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; 26 :>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; 8619 :>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; 2 :>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=2; d=1; y=1; 39 :>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; 74 :>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; 9429 :>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; 345 :>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; 74609 :>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; 1 :>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=2; d=1; y=1; 58 :>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; 12 :>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; 1234 :>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; 84 :>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; 739263:>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; 18480218:>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; 4018 :>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; 76469 :>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; 726 :>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; 86 :>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; 62544 :>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; 85 :>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; 36366 :>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; 110948:>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; 9842265:>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; 194 :>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; 18303 :>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; 1144 :>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; 126 :>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; 106897:>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; 61 :>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; 18388 :>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; 17756 :>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; 5306 :>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; 5472 :>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; 125 :>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; 1 :>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; 1475 :>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; 5103 :>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; 5 :>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; 2730 :>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; 782 :>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; 10362459:>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; 97876 :>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; 11887387:>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; 4494 :>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; 863 :>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; 7 :>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; 870692:>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; 73054 :>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; 11983 :>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; 19 :>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; 4917547:>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; 37829 :>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; 324781:>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; 157871:>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; 702 :>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; 50 :>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; 224 :>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; 4594 :>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; 103 :>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; 132 :>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; 50715249:>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; 4788842:>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; 2083358:>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; 4820 :>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; 1026 :>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; 47 :>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; 1605076:>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; 196903:>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; 373 :>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; 6 :>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; 1395982:>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; 22667 :>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; 40 :>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; 579 :>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; 3 :>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=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; 7 :>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; 643 :>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; 2 :>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; 28 :>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; 35 :>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; 580 :>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; 9 :>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=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=2; d=2; y=1; 11 :>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; 1479 :>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; 7 :>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; 2 :>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; 164 :>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; 17697 :>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; 608328:>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=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 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=2; y=1; 36 :>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=2; y=1; 11 :>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; 3810 :>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; 18 :>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; 119823:>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; 5008068:>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; 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=1; c=2; d=2; y=1; 155 :>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; 1286 :>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; 283 :>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; 76884 :>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; 2 :>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; 16 :>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; 961 :>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; 22 :>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; 149 :>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; 528 :>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; 99 :>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; 72 :>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; 1293 :>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; 6026 :>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; 3174 :>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; 1906 :>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; 20840 :>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; 2235968:>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; 1037750:>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; 6191 :>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; 114480:>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; 7929496:>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; 6239573:>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; 3494 :>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; 17752 :>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; 37205 :>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; 11319 :>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; 20900 :>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; 164989:>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; 327479:>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; 265689:>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; 26 :>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; 183 :>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; 58 :>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; 33 :>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; 139 :>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; 2982 :>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; 854 :>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; 1820 :>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; 28 :>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; 655 :>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=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 104 :>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=2; 419 :>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; 5880 :>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; 73 :>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; 1781 :>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; 501 :>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; 5510 :>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; 433 :>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; 1528 :>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; 6460 :>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; 58216 :>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; 8885 :>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; 28965 :>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; 28 :>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=2; 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=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=0; c=2; d=1; y=2; 27206 :>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; 24 :>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=2; d=1; y=2; 118077:>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; 92 :>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; 16359 :>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; 14722 :>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; 412033:>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; 955 :>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; 7031522:>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; 309952:>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; 45850574:>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; 50 :>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; 9592 :>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; 42 :>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; 7450 :>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; 1241 :>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; 4120399:>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; 2961 :>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; 8317652:>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; 3 :>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=2; 344 :>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; 30 :>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=2; 13 :>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; 252858:>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; 16 :>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; 114546:>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; 6 :>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=2; 6145 :>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; 2 :>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=2; 750 :>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; 322 :>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; 3409578:>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; 61 :>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; 429225:>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; 59 :>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; 18531 :>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; 15 :>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; 6248 :>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; 1658 :>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; 8208209:>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; 774 :>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; 1684634:>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; 600 :>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; 1110 :>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; 366 :>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; 47 :>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; 5264 :>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; 16668 :>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; 4383 :>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; 3489 :>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; 787030:>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; 24433 :>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; 1566894:>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; 2021 :>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; 6813968:>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; 465718:>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; 25568637:>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; 240670:>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; 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=1; c=1; d=2; y=2; 34 :>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=2; 1 :>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=2; 57 :>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=2; 485 :>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=2; 3 :>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=2; 8 :>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=2; 144442:>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; 11945 :>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; 21953 :>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; 757 :>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; 3810365:>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; 287459:>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; 1410375:>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; 35707 :>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; 14 :>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; 467 :>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; 13 :>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; 210 :>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; 677683:>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; 93784 :>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; 50 :>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; 2648 :>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; 5 :>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=2; y=2; 137 :>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; 3251 :>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; 10015055:>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; 3209 :>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; 5265907:>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; 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=2; d=2; y=2; 379 :>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; 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=1; c=2; d=2; y=2; 34 :>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=2; 303793:>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; 1 :>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=2; 1034 :>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; 122 :>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; 13783 :>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; 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=1; c=2; d=2; y=2; 411 :>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=2; 6053 :>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; 18374961:>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; 1235 :>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; 1146051:>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: 347935639, Negative: 52064361 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 149.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: movl $1,(%r12) _litmus_P1_4_: movl (%r12),%ebx _litmus_P1_5_: movl (%r13),%ebp _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r14) _litmus_P0_3_: movl (%r12),%ebp _litmus_P0_4_: movl (%r13),%ebx Test X008+X009 Required Histogram (88 states) 21 :>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; 859 :>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; 26 :>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; 28 :>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; 8094823:>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; 28724731:>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; 20121714:>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; 11592280:>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; 2026 :>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; 4979 :>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; 2790 :>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; 1526 :>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; 6398109:>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; 12795571:>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; 16794580:>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; 8123841:>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; 17 :>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; 173 :>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; 125 :>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; 22 :>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; 1251787:>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; 1904516:>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; 4253514:>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; 1504322:>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; 6 :>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; 9 :>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; 126 :>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; 5 :>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; 14286 :>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; 13820 :>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; 244980:>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; 3765 :>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; 4 :>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=2; y=1; 906419:>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; 9864 :>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; 11180011:>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; 50211 :>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; 55 :>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; 2 :>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=2; y=1; 2542 :>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; 44 :>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; 969226:>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; 12344 :>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; 21405219:>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; 76029 :>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; 1564 :>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; 1 :>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; 372566:>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; 8224 :>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; 52678921:>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; 46055 :>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; 8288 :>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; 12 :>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; 1177 :>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; 3 :>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=1; 20816371:>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; 1483 :>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; 231623:>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; 34206329:>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; 48745 :>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; 62358 :>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; 3532530:>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; 58820225:>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; 6111849:>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; 3985338:>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; 270148:>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; 14974810:>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; 332274:>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; 147474:>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; 185835:>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; 7473892:>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; 642016:>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; 139045:>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; 40 :>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; 6627 :>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; 6 :>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; 164219:>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; 4000 :>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; 3851272:>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; 14927 :>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; 7247 :>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; 8 :>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; 10916060:>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; 2839 :>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; 7315 :>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; 2 :>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; 23460045:>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; 4890 :>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: 377549441, Negative: 22450559 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 128.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r14),%r12d _litmus_P1_3_: movl (%r15),%edx _litmus_P1_4_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%r15) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl (%r13),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%rdi),%ecx _litmus_P0_6_: movl (%rbp),%ebx _litmus_P0_7_: movl (%r14),%edx Test X009+X010 Required Histogram (32 states) 148554:>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; 693822:>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; 3713690:>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; 73446016:>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; 21629 :>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; 132675:>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; 1349988:>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; 16223179:>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; 12147 :>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; 13504 :>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; 101223:>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; 934170:>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; 111698774:>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; 6634480:>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; 30768627:>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; 49827427:>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; 37238 :>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; 54448906:>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; 345 :>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; 104501590:>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; 4378 :>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; 831298:>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; 24 :>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; 1293083:>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; 10322 :>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; 27221 :>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; 38 :>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; 10265 :>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; 37196844:>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; 5075136:>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; 12062 :>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; 831345:>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: 493760423, Negative: 6239577 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 110.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P2_4_: movl (%r14),%ecx _litmus_P2_5_: movl (%r13),%edi _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: movl (%rax),%ecx _litmus_P1_5_: movl (%rdx),%r12d _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r14),%ecx _litmus_P0_4_: movl (%rax),%edx _litmus_P0_5_: movl (%r15),%edi Test X010+X011 Required Histogram (56 states) 377798:>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; 207649:>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; 42343 :>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; 723601:>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; 5508435:>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; 150002:>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; 67562874:>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; 72444025:>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; 3499507:>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; 14861 :>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; 28187 :>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; 16149 :>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; 43161420:>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; 13021 :>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; 475268:>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; 54254 :>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; 2043551:>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; 4936056:>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; 30289 :>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; 6054854:>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; 2982019:>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; 347358:>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; 390641:>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; 1611111:>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; 61625316:>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; 2817126:>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; 39848 :>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; 679484:>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; 44455836:>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; 286174:>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; 280272:>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; 197848:>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; 86 :>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; 15978 :>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; 153 :>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; 104097:>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; 872 :>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; 5725 :>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; 185055:>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; 25406952:>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; 906 :>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; 57310938:>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; 167 :>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; 65206352:>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; 207 :>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; 31327 :>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; 1581 :>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; 569350:>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; 208 :>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; 24288736:>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; 15 :>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; 3799016:>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; 7 :>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; 5559 :>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; 11 :>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; 9525 :>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: 421434862, Negative: 78565138 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 127.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl (%r13),%edx _litmus_P2_2_: movl (%r12),%eax _litmus_P1_0_: movl $2,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r8),%edi _litmus_P1_4_: movl (%r15),%edx _litmus_P1_5_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl (%r13),%edx _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: movl (%r14),%eax Test X011+X012 Required Histogram (30 states) 4209033:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 126120628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 33297517:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 46831481:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 187222:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 35022 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 47899394:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 8479295:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 4065670:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 26854285:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 317569:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 85612 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1764603:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 135369:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2527863:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 88154 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5655 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 1579349:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 378 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 134911:>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; 35715350:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 48748 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 26061 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 1700 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 54277524:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1046 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 105309742:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 813 :>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: 456174929, Negative: 43825071 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 107.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r10),%r8d _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl (%r12),%r14d _litmus_P1_2_: movl (%r13),%r15d _litmus_P1_3_: movl $1,(%rbx) _litmus_P1_4_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r12),%r14d _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%r15d _litmus_P0_4_: movl (%rbp),%eax Test X012+X013 Required Histogram (64 states) 37624 :>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; 159379:>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; 9939463:>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; 25955597:>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; 97314 :>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; 1111 :>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; 4584173:>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; 2650536:>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; 11723 :>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; 17362 :>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; 1400170:>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; 1326566:>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; 48464867:>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; 1639 :>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; 39394609:>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; 2937654:>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; 72202 :>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; 14762858:>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; 945662:>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; 53776462:>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; 146953:>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; 3055 :>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; 82830 :>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; 92653 :>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; 15730 :>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; 26007 :>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; 98911 :>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; 100399:>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; 9881467:>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; 1701 :>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; 733938:>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; 50630 :>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; 4270641:>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; 6743368:>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; 5487368:>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; 30425146:>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; 1403855:>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; 379922:>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; 3351100:>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; 2378138:>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; 694073:>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; 304009:>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; 538432:>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; 1060033:>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; 63156321:>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; 529871:>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; 16541194:>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; 2390922:>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; 35984 :>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; 17549936:>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; 1083 :>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; 22126776:>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; 66867 :>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; 1566 :>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; 1067 :>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; 141 :>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; 6993 :>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; 12148 :>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; 59 :>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; 1510 :>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; 2768178:>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; 740 :>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; 1278 :>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; 36 :>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: 376186078, Negative: 23813922 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 104.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl (%r15),%eax _litmus_P3_2_: movl (%r12),%ebx _litmus_P3_3_: movl $1,(%r13) _litmus_P3_4_: movl (%r14),%ebp _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl (%r15),%eax _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r13),%ebx _litmus_P2_4_: movl (%r12),%ebp _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl (%r13),%ebp _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r12) _litmus_P1_4_: movl (%r14),%ebx _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $2,(%r13) _litmus_P0_2_: movl (%r15),%eax _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X013+X014 Required Histogram (381 states) 1 :>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=0; 3:ECX=0; c=1; 497 :>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=0; c=1; 3319 :>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; 36107 :>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; 41 :>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; 7346 :>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; 1947 :>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; 31080 :>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; 195 :>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=0; c=1; 2802 :>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=0; c=1; 114602:>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; 29132 :>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; 8506 :>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; 166449:>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; 376622:>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; 193181:>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; 7 :>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=0; c=1; 806 :>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; 293960:>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; 26618 :>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; 68024 :>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; 1350166:>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; 8222676:>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; 4250896:>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; 110 :>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=0; c=1; 831 :>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=0; c=1; 603562:>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; 11890 :>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; 629854:>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; 3893042:>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; 33958682:>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; 7338802:>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; 1262 :>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; 1650 :>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; 32644 :>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; 4 :>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; 4421 :>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; 83 :>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; 15114 :>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; 21 :>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=0; c=1; 532 :>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=0; c=1; 4533 :>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; 4911 :>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; 44 :>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; 1273 :>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; 386 :>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; 1802 :>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; 56 :>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; 3324 :>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; 280315:>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; 116817:>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; 44034 :>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; 1557556:>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; 5172568:>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; 4119053:>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; 99 :>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=0; 3:ECX=0; c=1; 455 :>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; 135353:>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; 7038 :>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; 79237 :>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; 903425:>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; 4187796:>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; 1620762:>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; 38 :>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=0; c=1; 328 :>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; 4655807:>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; 27094 :>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; 188 :>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; 2570 :>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; 2780 :>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; 7644 :>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; 422 :>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; 1661 :>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=0; c=1; 10153164:>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; 11823 :>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; 3487 :>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; 21201 :>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; 49735 :>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; 8452 :>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; 31 :>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; 7644421:>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; 2690 :>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; 211 :>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; 968 :>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; 34894 :>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; 3011 :>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; 5 :>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=0; c=1; 14 :>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; 12735748:>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; 366 :>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; 409 :>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; 797 :>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; 44950 :>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; 588 :>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; 714 :>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; 14898 :>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; 6001036:>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; 173836:>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; 239 :>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; 12681 :>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; 229 :>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; 7434 :>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; 396 :>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; 726 :>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; 2337445:>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; 4022 :>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; 305 :>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; 846 :>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; 587 :>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; 553 :>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; 893 :>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; 10492 :>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; 14673814:>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; 247317:>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; 1445 :>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; 31865 :>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; 16126 :>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; 16217 :>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; 238 :>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; 183 :>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; 7044910:>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; 1901 :>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; 951 :>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; 793 :>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; 12484 :>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; 635 :>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; 426 :>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; 1093 :>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; 35255 :>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; 1 :>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; 4784 :>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; 284 :>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; 19882 :>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; 35911 :>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; 316643:>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; 8927821:>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; 3134323:>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; 466853:>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; 3985914:>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; 8333323:>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; 4909371:>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; 90 :>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; 1424 :>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; 4353 :>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; 7 :>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; 1097 :>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; 627 :>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; 3120 :>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; 21 :>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; 302 :>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; 17966 :>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; 4557 :>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; 419 :>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; 7441 :>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; 19561 :>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; 12412 :>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=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=1; c=1; 680 :>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; 450 :>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; 33541 :>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; 2483 :>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; 38 :>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; 12098 :>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; 6 :>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; 174 :>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; 1147 :>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; 7018 :>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; 4 :>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; 530 :>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; 129 :>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; 1726 :>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=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; 288 :>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; 916 :>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; 10324 :>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; 4 :>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; 844 :>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; 125 :>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; 4069 :>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; 7 :>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=0; 3:ECX=1; c=1; 51 :>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; 1112 :>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; 974 :>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; 47 :>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; 299 :>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; 328 :>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; 632 :>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; 91 :>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; 3578 :>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; 2605979:>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; 178976:>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; 143 :>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; 13424 :>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; 1609 :>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; 24017 :>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; 87730 :>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; 501271:>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; 53470802:>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; 4121009:>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; 207149:>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; 1844499:>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; 1507694:>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; 483890:>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; 5 :>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; 43 :>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; 434755:>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; 1772 :>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; 28 :>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; 289 :>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; 451 :>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; 760 :>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; 7 :>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; 25 :>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; 1503209:>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; 287 :>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; 85 :>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; 258 :>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; 2247 :>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; 144 :>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; 507 :>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; 21775 :>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; 3306394:>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; 300285:>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; 118 :>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; 23230 :>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; 164 :>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; 10144 :>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; 608 :>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; 1305 :>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; 2070613:>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; 18457 :>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; 276 :>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; 1684 :>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; 415 :>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; 1500 :>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; 109 :>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; 1879 :>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; 673743:>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; 29750 :>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; 84 :>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; 2331 :>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; 191 :>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; 2287 :>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; 54 :>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; 56 :>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; 332482:>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; 614 :>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; 154 :>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; 162 :>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; 609 :>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; 129 :>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; 607 :>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; 22555 :>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; 197 :>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; 44128 :>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; 12397 :>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; 16801 :>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; 20109 :>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; 146238:>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; 2758 :>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; 5571 :>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; 275013:>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; 1512022:>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; 8783 :>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; 2910 :>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; 778576:>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; 3649723:>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; 2024 :>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; 5455266:>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; 64 :>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; 3947821:>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; 1683 :>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; 11858 :>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; 87 :>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; 10331 :>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; 21909 :>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; 10252907:>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; 947640:>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; 28991607:>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; 8311 :>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; 5322 :>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; 443163:>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; 2618215:>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; 12739 :>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; 7631 :>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; 40 :>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; 2703 :>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; 13222 :>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; 3943 :>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; 383 :>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; 2232 :>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; 509 :>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; 350 :>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; 14 :>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; 338 :>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; 1029 :>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; 11 :>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=2; 12 :>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=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=0; c=2; 71608 :>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; 8524504:>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; 36 :>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; 481773:>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; 15590 :>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; 3474 :>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; 28 :>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; 712 :>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; 100955:>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; 8924361:>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; 297 :>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; 2080478:>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; 18125 :>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; 607 :>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; 171 :>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; 147 :>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; 1048 :>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; 152929:>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; 59 :>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; 90551 :>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; 3129178:>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; 7049318:>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; 724549:>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; 9920610:>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; 508 :>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; 4383 :>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; 45 :>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; 3160 :>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; 2969 :>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; 2427 :>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; 1008 :>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; 9162 :>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; 1149 :>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; 8158597:>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; 59 :>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; 3326212:>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; 1894 :>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; 48183 :>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; 230 :>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; 23321 :>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; 1077 :>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; 1005472:>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; 82 :>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; 515972:>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; 503 :>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; 1719 :>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; 66 :>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; 1484 :>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; 10048 :>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; 183646:>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; 38 :>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; 23527 :>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; 1961520:>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; 5755417:>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; 35974 :>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; 1427504:>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; 802 :>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; 556 :>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; 5 :>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=2; 106 :>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; 2240 :>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; 71 :>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; 11 :>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=2; 29 :>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; 64425 :>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; 22792924:>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; 48 :>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; 1444697:>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; 23054 :>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; 55044 :>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; 65 :>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; 5376 :>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; 19249 :>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; 2264794:>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; 26 :>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; 186310:>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; 5614 :>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; 474 :>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; 65 :>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; 93 :>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: 359051451, Negative: 40948549 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 137.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%ebx _litmus_P2_3_: movl (%r12),%ebp _litmus_P2_4_: movl (%r15),%eax _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $2,(%rax) _litmus_P1_2_: movl (%rax),%esi _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: movl (%r14),%ebp _litmus_P1_5_: movl (%r15),%r12d _litmus_P1_6_: movl (%rcx),%edi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl (%r12),%eax Test X014+X015 Required Histogram (147 states) 8882 :>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; 25857 :>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; 216630:>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; 31374834:>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; 194 :>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; 4 :>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=1; 23 :>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; 4091 :>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; 125727:>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; 6792894:>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; 915051:>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; 492206:>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; 1965121:>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; 7242246:>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; 75054 :>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; 1178 :>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; 453 :>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; 1771 :>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; 1771715:>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; 3539506:>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; 3703336:>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; 12177521:>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; 50970 :>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; 453266:>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; 104 :>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; 3 :>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=0; x=1; 8 :>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; 13 :>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; 1976 :>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; 3077 :>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; 34537785:>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; 19912084:>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; 4300142:>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; 3629623:>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; 195 :>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; 843789:>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; 14163 :>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; 3192 :>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; 1220 :>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; 3183945:>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; 1169285:>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; 20740 :>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; 10385 :>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; 305072:>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; 12143231:>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; 3183 :>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; 3 :>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=1; 42 :>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; 2619 :>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; 278950:>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; 3742590:>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; 12925 :>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; 84 :>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; 38253 :>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; 12291 :>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; 2138 :>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; 3 :>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=1; 13 :>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; 9 :>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; 47500 :>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; 10075 :>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; 14755241:>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; 8783256:>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; 142094:>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; 237834:>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; 7 :>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; 19632 :>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; 319 :>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; 65 :>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; 18 :>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; 75141 :>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; 7889 :>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; 19888057:>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; 1538753:>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; 139663:>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; 44657 :>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; 22 :>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; 91516 :>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; 430 :>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; 106 :>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; 6 :>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; 188203:>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; 7052 :>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; 2700 :>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; 1010 :>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; 30743 :>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; 3228802:>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; 632 :>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; 6 :>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; 296290:>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; 13811548:>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; 1462606:>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; 456941:>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; 1467955:>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; 2658799:>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; 829251:>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; 2664 :>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; 21029687:>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; 8687575:>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; 2003 :>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; 2603 :>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; 369 :>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; 665 :>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; 238 :>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; 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=0; x=2; 928 :>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; 329 :>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; 2630815:>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; 270890:>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; 516960:>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; 249970:>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; 3629398:>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; 7351 :>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; 9858544:>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; 581406:>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; 19921 :>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; 738 :>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; 90696 :>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; 1863060:>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; 2051245:>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; 66 :>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; 30398231:>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; 24722789:>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; 22225 :>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; 91 :>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; 41488 :>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; 4713 :>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; 2107321:>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; 31 :>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; 17756383:>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; 28551 :>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; 100325:>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; 18760 :>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; 9761 :>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; 3928 :>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; 5619510:>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; 196 :>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; 5218374:>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; 1962 :>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; 391585:>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; 25630 :>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; 40775 :>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; 3210 :>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; 19456911:>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; 272 :>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; 17188815:>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; 3557 :>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: 369016807, Negative: 30983193 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 136.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl (%r14),%edi _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r15),%edx _litmus_P1_3_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl (%r14),%edi _litmus_P0_4_: movl (%r15),%edx _litmus_P0_5_: movl (%rax),%ecx Test X015+X016 Required Histogram (64 states) 10404 :>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; 313450:>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; 1152 :>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; 1099850:>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; 38556 :>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; 142733:>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; 962682:>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; 48140236:>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; 135512:>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; 130708:>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; 1076 :>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; 75225 :>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; 2700779:>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; 613674:>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; 42417716:>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; 70795149:>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; 7973 :>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; 150194:>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; 31 :>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; 21206 :>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; 461 :>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; 381 :>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; 134 :>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; 1439 :>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; 6147436:>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; 233624:>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; 543 :>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; 6991 :>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; 46179471:>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; 554736:>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; 62386 :>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; 53832 :>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; 24867 :>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; 40383425:>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; 911 :>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; 45363787:>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; 3783 :>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; 27035 :>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; 7498 :>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; 933415:>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; 746823:>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; 963269:>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; 223 :>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; 397691:>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; 519984:>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; 134631:>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; 109875:>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; 539842:>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; 56066 :>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; 70979064:>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; 50 :>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; 5889329:>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; 1991 :>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; 5942 :>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; 306 :>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; 20825 :>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; 75008176:>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; 3605282:>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; 476 :>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; 227028:>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; 32247991:>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; 686468:>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; 15448 :>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; 98759 :>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: 444332448, Negative: 55667552 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 110.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl (%rsi),%r15d _litmus_P2_3_: movl (%rcx),%eax _litmus_P2_4_: movl (%rbp),%r13d _litmus_P2_5_: movl (%r12),%r14d _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r12),%eax _litmus_P1_3_: movl (%r15),%r10d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r15) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl (%r14),%r10d Test X016+X017 Required Histogram (128 states) 2979 :>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; 19098 :>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; 1652175:>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; 8965355:>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; 1654 :>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; 1753 :>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; 1022213:>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; 4732850:>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; 22541 :>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; 1138 :>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; 2010194:>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; 1705660:>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; 54542 :>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; 2417 :>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; 6160652:>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; 3830607:>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; 5905 :>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; 45109 :>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; 1264951:>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; 2516552:>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; 742 :>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; 426 :>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; 143169:>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; 455827:>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; 15291047:>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; 34586 :>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; 7367481:>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; 2096246:>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; 9936205:>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; 18259 :>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; 8688702:>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; 2108487:>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; 1800 :>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; 1661415:>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; 196427:>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; 17180072:>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; 212 :>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; 5186 :>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; 50814 :>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; 602909:>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; 4778 :>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; 405 :>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; 11772 :>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; 36179 :>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; 12439 :>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; 1675 :>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; 36112 :>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; 89969 :>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; 41412 :>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; 20781589:>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; 1582235:>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; 49911858:>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; 632 :>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; 4083 :>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; 91245 :>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; 820586:>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; 33967447:>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; 236193:>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; 6396618:>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; 3875271:>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; 2510298:>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; 13258 :>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; 1843765:>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; 1230639:>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; 14468 :>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; 263256:>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; 2138 :>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; 288448:>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; 2118565:>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; 14166611:>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; 1190865:>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; 30928651:>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; 26970 :>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; 4648 :>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; 1003 :>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; 1814 :>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; 28279227:>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; 5252961:>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; 7581624:>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; 9764617:>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; 6983 :>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; 100994:>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; 290 :>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; 17306 :>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; 11334 :>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; 31294 :>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; 2014 :>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; 41335 :>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; 4841866:>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; 32128 :>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; 414 :>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; 534 :>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; 22161042:>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; 71574 :>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; 23599 :>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; 26099 :>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; 2081 :>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; 7817241:>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; 51 :>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; 8237332:>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; 725 :>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; 61009 :>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; 128 :>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; 61841 :>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; 2284 :>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; 425 :>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; 5 :>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=1; 41 :>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; 10920 :>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; 3088 :>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; 87 :>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; 361 :>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; 17627 :>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; 17814539:>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; 243 :>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; 4318538:>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; 1601 :>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; 30173 :>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; 288 :>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; 22267 :>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; 8184741:>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; 120049:>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; 237 :>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; 609 :>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; 2649061:>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; 23373 :>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; 1579 :>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; 3969 :>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: 343111430, Negative: 56888570 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 112.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl (%r15),%eax _litmus_P3_2_: movl (%r12),%ebx _litmus_P3_3_: movl $1,(%r13) _litmus_P3_4_: movl (%r14),%ebp _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl (%r15),%eax _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r13),%ebx _litmus_P2_4_: movl (%r12),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl (%r14),%ebp Test X017+X018 Required Histogram (230 states) 4091 :>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; 18690 :>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; 1269 :>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; 13242 :>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; 99347 :>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; 105889:>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; 97615 :>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; 334171:>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; 234947:>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; 89794 :>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; 3509962:>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; 3489796:>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; 535734:>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; 95226 :>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; 16490651:>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; 15536322:>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; 1468 :>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; 31052 :>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; 9 :>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; 8663 :>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; 4529 :>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; 13261 :>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; 78 :>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; 2612 :>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; 594495:>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; 453047:>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; 6768305:>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; 22699380:>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; 277575:>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; 76458 :>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; 5100972:>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; 7837726:>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; 2195815:>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; 23338 :>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; 51 :>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; 7882522:>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; 59273 :>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; 159 :>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; 2868 :>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; 1898924:>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; 15177 :>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; 50 :>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; 144 :>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; 7104559:>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; 6484 :>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; 72 :>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; 81 :>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; 10026102:>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; 157230:>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; 547 :>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; 2674395:>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; 16648 :>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; 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=0; c=1; 137 :>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; 24281266:>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; 284259:>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; 53 :>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; 1026 :>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; 7464339:>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; 22903 :>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; 59 :>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; 136 :>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; 870 :>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; 18525 :>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; 42 :>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; 3600 :>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; 8256210:>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; 13003471:>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; 1690086:>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; 9562361:>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; 1129 :>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; 5573 :>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; 89 :>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; 2654 :>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; 16508 :>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; 11493 :>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; 3776 :>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; 14015 :>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; 271 :>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; 20970 :>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; 4977 :>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; 1177 :>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; 11996 :>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; 8 :>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; 1165 :>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; 1210 :>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; 14757 :>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; 26 :>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; 5049 :>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; 2883 :>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; 4391 :>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; 96 :>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; 1889 :>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; 1549994:>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; 77407 :>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; 161 :>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; 51833342:>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; 16461063:>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; 9381 :>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; 49227 :>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; 204125:>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; 3567 :>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; 80 :>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; 968887:>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; 1883 :>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; 4 :>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; 37 :>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; 6328532:>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; 283117:>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; 1084 :>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; 3665951:>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; 48930 :>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; 354 :>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; 1443729:>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; 46581 :>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; 361 :>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; 426082:>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; 3771 :>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; 33 :>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; 293 :>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; 11987 :>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; 71 :>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; 14628 :>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; 1377 :>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; 8264 :>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; 1011 :>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; 56004 :>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; 1720 :>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; 14875 :>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; 17335 :>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; 824827:>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; 426 :>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; 668 :>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; 12886 :>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; 890338:>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; 401 :>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; 6603558:>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; 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=0; c=2; 2518406:>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; 273 :>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; 5441 :>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; 2181 :>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; 16541 :>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; 17180110:>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; 56865 :>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; 27928054:>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; 1046 :>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; 2020 :>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; 7107 :>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; 694996:>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; 135 :>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; 6154 :>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; 42 :>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; 221 :>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; 415 :>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; 31 :>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; 37 :>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; 1050 :>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; 20 :>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; 83 :>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; 7 :>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=2; 5 :>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; 5843 :>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; 8155631:>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; 9814 :>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; 847 :>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; 823 :>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; 29 :>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; 18880 :>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; 10863500:>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; 25815 :>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; 1974 :>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; 152 :>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; 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=2; 464 :>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; 92297 :>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; 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=1; c=2; 13994 :>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; 1011766:>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; 9888599:>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; 11638 :>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; 3863945:>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; 473 :>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; 9830 :>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; 9 :>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; 2130 :>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; 1379 :>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; 1666 :>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; 36 :>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; 2995 :>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; 265 :>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; 10294931:>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; 1423481:>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; 593 :>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; 22268 :>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; 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=2; 4779 :>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; 824 :>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; 1260953:>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; 7 :>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; 205955:>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; 688 :>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; 1176 :>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; 7 :>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=2; 521 :>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; 2176 :>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; 95045 :>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; 356 :>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; 358829:>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; 4688834:>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; 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=1; c=2; 16039 :>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; 529 :>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; 1135 :>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; 22 :>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; 600 :>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; 58 :>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; 12317 :>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; 22971710:>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; 24008 :>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; 4166 :>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; 22047 :>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; 245 :>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; 9641 :>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; 2989673:>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; 3343 :>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; 2185 :>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; 183 :>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; 3 :>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; No Witnesses Positive: 383973422, Negative: 16026578 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 131.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r12),%ebx _litmus_P2_3_: movl (%r13),%ebp _litmus_P2_4_: movl (%r15),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl $1,(%r13) Test X018+X019 Required Histogram (91 states) 27886 :>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; 25283 :>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; 515313:>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; 33048449:>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; 6685743:>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; 888253:>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; 10293302:>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; 18362527:>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; 17967 :>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; 10742 :>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; 352 :>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; 518 :>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; 21216541:>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; 2099035:>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; 3631095:>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; 1625238:>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; 153647:>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; 25670 :>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; 896469:>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; 31111106:>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; 167584:>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; 7125 :>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; 262522:>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; 45981 :>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; 428138:>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; 46650 :>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; 19109 :>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; 1278 :>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; 1190781:>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; 34811 :>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; 101714:>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; 3760 :>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; 21643 :>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; 116973:>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; 75337 :>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; 15324117:>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; 818560:>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; 1154981:>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; 76453 :>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; 1334772:>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; 3408576:>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; 10616283:>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; 123 :>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; 2107 :>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; 28657077:>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; 17068245:>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; 88874 :>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; 362185:>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; 84365 :>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; 98696 :>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; 54703 :>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; 4736978:>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; 42754 :>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; 17015 :>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; 5024 :>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; 3538 :>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; 16958565:>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; 9097400:>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; 547 :>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; 1287 :>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; 22366657:>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; 1670435:>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; 1248 :>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; 642 :>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; 5348 :>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; 134 :>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; 226100:>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; 3551605:>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; 3527415:>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; 6010 :>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; 12259727:>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; 864930:>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; 175 :>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; 32 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 2873269:>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; 3 :>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; 982997:>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; 319 :>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; 4813986:>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; 22 :>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; 26058803:>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; 9246223:>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; 4336390:>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; 4 :>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; 15866107:>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; 14331 :>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; 9741001:>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; 1196654:>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; 33063800:>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; 4153848:>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; 18 :>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: 372594355, Negative: 27405645 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 135.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: movl (%r13),%r12d _litmus_P2_4_: movl (%r15),%ecx _litmus_P2_5_: movl (%rax),%esi _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r12),%ebx _litmus_P1_3_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X019+X020 Required Histogram (112 states) 8872093:>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; 6892912:>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; 1989473:>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; 6058830:>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; 2470893:>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; 603847:>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; 2261194:>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; 2725645:>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; 20365137:>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; 952565:>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; 53688 :>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; 169820:>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; 49924881:>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; 1119669:>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; 4601231:>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; 1752366:>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; 543752:>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; 39952415:>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; 15731 :>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; 14076610:>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; 78836 :>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; 85793 :>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; 24777 :>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; 189684:>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; 14019232:>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; 199088:>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; 614 :>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; 7464 :>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; 6000025:>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; 46799 :>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; 17599 :>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; 31773 :>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; 7737 :>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; 524 :>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; 10202 :>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; 14163 :>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; 58081 :>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; 337 :>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; 94383 :>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; 58751 :>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; 538205:>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; 1124 :>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; 943 :>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; 997 :>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; 17533539:>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; 2833 :>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; 489567:>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; 46670 :>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; 190828:>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; 8802927:>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; 14273 :>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; 5343899:>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; 115923:>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; 32633 :>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; 78194 :>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; 190042:>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; 4879008:>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; 70990 :>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; 493 :>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; 3157 :>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; 12982533:>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; 28488 :>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; 251798:>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; 82035 :>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; 222191:>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; 223726:>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; 1072158:>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; 5843956:>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; 393026:>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; 45974 :>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; 8323952:>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; 9464949:>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; 201637:>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; 12772 :>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; 6216893:>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; 1596156:>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; 821 :>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; 451853:>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; 6537 :>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; 9621540:>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; 268 :>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; 1419 :>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; 58706 :>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; 114927:>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; 134 :>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; 76 :>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; 8987 :>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; 5444 :>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; 105 :>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; 28 :>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; 9049 :>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; 25417 :>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; 2823 :>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; 122 :>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; 16669750:>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; 10341882:>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; 12132 :>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; 93 :>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; 32816731:>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; 2676191:>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; 1354 :>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; 247070:>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; 18065 :>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; 20706968:>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; 3037 :>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; 1868 :>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; 5454545:>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; 19077973:>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; 6050 :>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; 207 :>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; 7322787:>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; 2687938:>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: 349150372, Negative: 50849628 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 127.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl (%r15),%eax _litmus_P3_2_: movl (%r12),%ebx _litmus_P3_3_: movl $2,(%r13) _litmus_P3_4_: movl (%r14),%ebp _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl (%r15),%eax _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r13),%ebx _litmus_P2_4_: movl (%r12),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r13),%eax Test X020+X021 Required Histogram (255 states) 242463:>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; 271831:>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; 25199556:>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; 11624438:>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; 3952 :>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; 32800 :>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; 10536662:>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; 7453589:>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; 14564 :>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; 5143 :>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; 5075 :>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; 226 :>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; 3435 :>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; 748 :>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; 11373 :>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; 572 :>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; 6473166:>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; 5791457:>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; 15931 :>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; 13241 :>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; 852 :>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; 18217 :>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; 1211 :>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; 4170 :>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; 162759:>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; 162267:>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; 717 :>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; 49 :>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; 2718 :>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; 2014 :>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; 1010 :>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; 121 :>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; 11888 :>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; 198256:>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; 481874:>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; 6122285:>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; 878 :>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; 29698 :>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; 197825:>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; 3315563:>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; 99 :>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; 4564 :>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; 16 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 3355 :>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; 91 :>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; 5117 :>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; 129 :>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; 12367 :>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; 1787664:>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; 17821747:>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; 3344 :>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; 14186 :>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; 1476 :>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; 72961 :>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; 1007 :>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; 7497 :>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; 152248:>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; 1293088:>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; 148 :>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; 847 :>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; 250 :>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; 14148 :>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; 118 :>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; 2073 :>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; 88074 :>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; 78860 :>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; 120322:>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; 18929 :>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; 10115 :>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; 37889 :>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; 106841:>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; 46094 :>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; 9172726:>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; 62816 :>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; 7834341:>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; 7199 :>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; 4073898:>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; 34905 :>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; 10967007:>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; 21653 :>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; 6329062:>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; 4748018:>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; 12050 :>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; 6604 :>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; 2102 :>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; 31983 :>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; 2519 :>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; 5160 :>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; 50005870:>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; 7187205:>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; 1113977:>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; 1913 :>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; 4399471:>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; 126385:>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; 641091:>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; 4466 :>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; 1246 :>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; 16425 :>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; 96 :>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=1; 944 :>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=1; 723 :>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; 25365 :>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; 354 :>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; 15124 :>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; 358 :>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; 1720 :>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; 53 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 308 :>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=1; 2012 :>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; 31893 :>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; 1414 :>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; 25054 :>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; 328432:>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; 7898709:>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; 320 :>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; 1783 :>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; 491 :>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; 57846 :>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; 169 :>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; 3631 :>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; 671765:>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; 10371425:>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; 1103 :>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; 524 :>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; 8829 :>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; 145877:>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; 2626 :>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; 7422 :>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; 462 :>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; 1463 :>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; 662619:>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; 341949:>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; 477 :>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; 16037 :>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; 7573368:>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; 4551053:>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; 415 :>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; 52 :>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; 326 :>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; 18 :>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; 1874 :>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; 913 :>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; 8672 :>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; 1878 :>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; 3 :>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; 70 :>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; 9 :>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; 58 :>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; 39 :>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; 2254 :>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; 132 :>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; 2153 :>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; 61 :>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; 8 :>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=2; 6 :>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=2; 539 :>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; 333 :>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; 281 :>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; 116 :>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; 141 :>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; 6718 :>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; 29891 :>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; 502480:>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; 614 :>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; 5029827:>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; 450092:>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; 38483091:>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; 53 :>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; 1739 :>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; 7 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=2; 1014 :>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; 427 :>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; 79935 :>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; 2048 :>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; 116329:>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; 15 :>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; 6553 :>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; 48 :>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; 399 :>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; 370 :>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; 5751108:>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; 601 :>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; 710667:>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; 105 :>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; 827 :>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; 34 :>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=2; 171 :>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; 523 :>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; 66091 :>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; 967 :>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; 7650 :>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; 586 :>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; 1740 :>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; 8257 :>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; 2292 :>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; 1692 :>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; 28742 :>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; 69226 :>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; 52325 :>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; 1211520:>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; 3429 :>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; 374414:>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; 397 :>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; 9995143:>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; 131536:>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; 21422799:>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; 124649:>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; 14 :>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; 132 :>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; 25 :>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=2; 70 :>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; 132 :>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; 7317 :>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; 378 :>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; 1876 :>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; 370379:>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; 3532 :>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; 17571 :>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; 78 :>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; 5431889:>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; 144212:>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; 1195745:>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; 20452 :>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; 30 :>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; 3087 :>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; 54 :>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; 665 :>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; 833 :>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; 6825499:>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; 3014 :>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; 8432775:>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; 151 :>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; 3789 :>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; 11 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 205 :>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; 8451 :>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; 9247119:>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; 16858 :>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; 10139028:>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; 5 :>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=2; 5493 :>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; 16 :>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; 265 :>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; 224 :>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; 6581709:>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; 293 :>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; 491807:>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; 913 :>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; 28466 :>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; 306 :>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; 239 :>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; 12729 :>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; 23278604:>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; 9449 :>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; 3330471:>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: 392213466, Negative: 7786534 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 149.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: movl (%r12),%ebp _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: movl (%r13),%ebx Test X021+X022 Required Histogram (55 states) 12969171:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1792 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 8491917:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 22918943:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 3011 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 13660591:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 13387174:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2270 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5719347:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 504233:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 16 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 18455 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 4885182:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 30045852:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 1780560:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 12680309:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 2089808:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 10030883:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 14168 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 40106 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 3127931:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 32648 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 15132890:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 107057:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 50977136:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 80380 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 18916082:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 577 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 5764 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 34318 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 4696853:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1008 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 3534466:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 546428:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 123 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 553226:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 599811:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 67 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 295700:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 6070 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 28444220:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 1222989:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 48493358:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 70868 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 32156174:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 67210 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 10864356:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 609 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 9 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 2333857:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 20538 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 18167115:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 795 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 20264768:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 811 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; No Witnesses Positive: 389856763, Negative: 10143237 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 125.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl (%r11),%r9d _litmus_P2_2_: movl (%r10),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl (%r13),%ebp _litmus_P1_2_: movl (%r14),%ebx _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl $1,(%r12) _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $2,(%r11) _litmus_P0_3_: movl (%r11),%ebp _litmus_P0_4_: movl (%r12),%ebx Test X022+X023 Required Histogram (141 states) 4 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 862 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 22 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1174 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1625 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 4900321:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 11864 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 10286342:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 4685 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 7841 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3370803:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 374 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 7026559:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 181 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 110 :>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=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 31 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 11 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 25867 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 873011:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 798 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 202841:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 604 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 14365 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 946 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 3948 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 4 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 70 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 7578824:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 26702999:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 62 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 132 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 140549:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 471743:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 4441 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 8867 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 7 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 4 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 26980615:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 24910128:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 9 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 1980 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 115 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 49609 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 3300 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 14431251:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 113 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 10840 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 226195:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 268 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 8801731:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 30537 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 637165:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 5531 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2856708:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 577 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 901 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 30135 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 78 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 207669:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 21586 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 22358936:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 129 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 27586 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 412688:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 10076410:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 45621606:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 6 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 35 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 6249 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 21783 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 283 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 3498 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2406 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 371453:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 32 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 1101910:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 73612780:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 478 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 15951219:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 3 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 8358 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 31 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3941 :>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; 307 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3582531:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 5866 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 77 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 53 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 112230:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 375654:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 91488 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 352661:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 924 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 74 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 1990 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 43 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 5804 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 30 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 1723347:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 37722641:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 334 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 35654193:>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=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 8065 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 68074 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 8166560:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 47 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 856441:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 463 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 472223:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 3671 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 338537:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 813 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 13147 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 2545 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 7310 :>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: 395688263, Negative: 4311737 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 125.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $2,(%r12) _litmus_P2_2_: movl (%r12),%ebp _litmus_P2_3_: movl (%r11),%ebx _litmus_P2_4_: movl $1,(%r14) _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $2,(%rax) _litmus_P1_2_: movl (%rax),%esi _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: movl (%r14),%ebp _litmus_P1_5_: movl (%r15),%r12d _litmus_P1_6_: movl (%rcx),%edi _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl $1,(%r10) Test X023+X024 Required Histogram (204 states) 16852 :>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=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; 4995 :>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; 337 :>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; 17 :>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; 746870:>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; 8660053:>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; 5758 :>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; 2258 :>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; 4522548:>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; 3364 :>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; 771 :>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; 7 :>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; 34 :>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; 416 :>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; 43053493:>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; 5527697:>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; 80482 :>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; 2396 :>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; 2564030:>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; 7 :>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; 190 :>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; 12 :>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; 92 :>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; 4 :>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; 8246 :>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; 136 :>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; 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=1; z=1; 29 :>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; 34733 :>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; 293788:>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; 1354 :>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; 57 :>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; 279076:>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; 1671 :>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; 62 :>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; 6 :>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; 21 :>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; 11677453:>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; 245230:>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; 108154:>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; 64 :>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; 311932:>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; 424990:>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; 209602:>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; 66668 :>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; 92 :>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; 267468:>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; 22712472:>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; 1649586:>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; 196 :>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; 801709:>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; 1956 :>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; 1776290:>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=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 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=0; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 13 :>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; 4172 :>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; 23 :>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=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; 9 :>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; 7224 :>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; 54316 :>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; 2329 :>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; 5 :>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; 41529 :>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; 27147180:>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; 76662 :>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; 37 :>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; 75703 :>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; 175 :>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; 75397 :>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; 4992 :>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; 38882 :>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; 134 :>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; 912875:>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; 4183890:>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; 38913 :>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; 15639531:>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; 145 :>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; 299 :>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; 8 :>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; 1262 :>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; 706373:>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; 442283:>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; 103663:>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; 1634762:>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; 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=1; x=2; z=1; 28 :>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; 1 :>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=1; x=2; z=1; 376 :>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; 6 :>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; 1 :>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; 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=2; z=1; 26 :>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; 42 :>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; 13589 :>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; 50725 :>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; 16378 :>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; 952208:>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; 3 :>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; 15 :>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; 6 :>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; 183 :>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; 77067 :>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; 14625 :>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; 86629 :>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; 243173:>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; 970201:>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; 372417:>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; 810841:>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; 15237368:>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; 2375286:>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; 211265:>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; 4135062:>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; 10151869:>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; 2 :>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; 9 :>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; 460 :>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; 6670 :>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; 26 :>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; 3 :>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=2; z=1; 2298 :>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; 2101 :>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; 23060 :>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; 45854 :>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; 4893742:>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; 39191442:>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; 262342:>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; 13560 :>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; 24040339:>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; 19769622:>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; 7092 :>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; 28025730:>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; 4313 :>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; 6000294:>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; 3729651:>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; 139207:>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; 5 :>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; 322 :>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; 12865 :>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; 13862447:>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; 280 :>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; 3351 :>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; 4273667:>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; 50 :>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; 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=2; 6557835:>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; 188001:>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; 2194 :>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; 22 :>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; 23603 :>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; 16 :>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; 56 :>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; 19 :>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; 5750 :>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; 126 :>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=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=2; x=1; z=2; 8 :>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; 471 :>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; 790 :>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; 225 :>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; 2 :>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; 1191 :>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; 1517325:>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; 4901 :>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; 2 :>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; 2260 :>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; 12 :>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; 2729 :>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; 188 :>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; 2752092:>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; 12072747:>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; 342 :>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; 44 :>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; 28 :>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; 10 :>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; 2604 :>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; 2167536:>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; 7825 :>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; 27732014:>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; 7 :>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; 3424 :>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; 901 :>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; 4812 :>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; 25981 :>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; 7 :>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; 21 :>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; 4 :>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; 312 :>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; 32 :>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; 2 :>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=2; 8 :>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=2; 19 :>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; 1732 :>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; 1271 :>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; 259275:>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; 8110778:>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; 8739 :>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; 331 :>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; 623900:>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; 626732:>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: 376460153, Negative: 23539847 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 149.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl (%r14),%edi _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl $1,(%r15) _litmus_P1_3_: movl (%rdx),%eax _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: movl (%rax),%ecx _litmus_P0_5_: movl (%rdx),%r12d Test X024+X025 Required Histogram (111 states) 867 :>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; 2488 :>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; 97106 :>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; 9687 :>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; 1145 :>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; 3193 :>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; 664659:>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; 35346 :>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; 3253902:>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; 79699189:>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; 50744343:>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; 31943200:>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; 5511 :>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; 75318 :>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; 3598770:>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; 529681:>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 919 :>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; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 34 :>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; 1586 :>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; 101046:>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; 63892 :>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; 41713 :>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; 323 :>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; 41359 :>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; 22551 :>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; 52855 :>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; 5699 :>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; 360749:>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; 1672795:>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; 273377:>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; 76 :>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; 26921 :>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; 980 :>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; 1402 :>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; 26197 :>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; 2819747:>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; 495907:>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; 396172:>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; 26 :>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; 16383 :>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; 8635 :>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; 31849 :>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; 7082 :>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; 602356:>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; 1629153:>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; 502786:>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; 5415 :>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; 71684 :>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; 281228:>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; 53185 :>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; 6263 :>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; 32639 :>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; 52045411:>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; 227162:>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; 85 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 21 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; z=1; 730 :>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; 82648 :>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; 73385 :>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; 21299 :>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; 170 :>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; 16930 :>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; 780545:>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; 60728 :>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; 8386 :>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; 313261:>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; 34990372:>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; 547868:>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; 227 :>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; 82096 :>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; 2724 :>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; 3162 :>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; 58 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=2; 8893 :>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; 4611 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=2; 1572 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; z=2; 248 :>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; 1080177:>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; 119 :>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; 371 :>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; 7855 :>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; 17795791:>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; 82117 :>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; 60861 :>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; 16752 :>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; 79422141:>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; 127307:>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; 49164 :>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; 13749 :>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; 19773819:>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; 572492:>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; 231074:>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; 483 :>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; 38360 :>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; 11307 :>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; 3166 :>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; 329 :>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; 12427 :>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; 614555:>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; 10805 :>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; 4180 :>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; 5857263:>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; 107437:>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; 25856 :>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; 31504 :>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; 38728557:>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; 64538504:>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; 1189480:>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: 488014902, Negative: 11985098 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 125.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $2,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: movl (%r13),%r12d _litmus_P2_4_: movl (%r15),%ecx _litmus_P2_5_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r11),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl (%r12),%ebx _litmus_P0_3_: movl (%r13),%ebp Test X025+X026 Required Histogram (277 states) 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 29 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 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=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 23 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 1403 :>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; 7481 :>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; 673 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 56 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 4401 :>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; 2851 :>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; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 89 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 346 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 26949 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 368 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 138 :>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; 146 :>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; 78 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 906 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 418 :>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; 1949 :>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; 240333:>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; 691 :>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; 2392 :>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; 1710 :>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; 195 :>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; 8272 :>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; 51 :>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; 16357 :>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; 44 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 42 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 69 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 2273856:>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; 12553433:>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; 1459455:>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; 35125104:>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; 24210826:>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; 4919122:>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; 8836452:>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; 11083179:>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; 1853 :>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; 10818 :>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; 603 :>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; 20073 :>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; 580328:>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; 13451 :>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; 1218 :>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; 4001 :>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; 15680 :>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; 95409 :>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; 3810 :>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; 65012 :>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; 34213712:>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; 141007:>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; 41372 :>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; 62606 :>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; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 64 :>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; 12 :>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; 1184 :>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; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 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=1; 2:EDX=1; d=1; y=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 7 :>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; 18 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 367 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 33 :>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; 1911 :>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; 671 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 265 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 32 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 197 :>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; 712 :>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; 7130 :>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; 455 :>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; 15909 :>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; 995031:>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; 13092 :>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; 1133 :>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; 3204 :>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; 30 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1555 :>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; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 2255 :>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; 89561 :>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; 2431 :>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; 245 :>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; 675 :>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; 332 :>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; 35334 :>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; 50 :>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; 67912 :>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; 39 :>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; 17 :>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; 20 :>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; 681 :>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; 163739:>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; 63 :>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; 196883:>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; 25529 :>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; 8737 :>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; 46 :>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; 1244 :>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; 2832 :>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; 226704:>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; 504 :>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; 161170:>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; 4210620:>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; 41193 :>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; 969 :>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; 7223 :>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; 1169 :>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; 80679 :>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; 73 :>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; 41376 :>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; 3241680:>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; 34069 :>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; 381 :>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; 3504 :>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; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 1 :>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; 14256 :>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; 69800 :>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; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 1357 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 2322 :>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; 2352 :>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; 3098 :>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; 3308395:>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; 14650426:>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; 33829 :>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; 2345 :>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; 9368660:>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; 5501809:>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; 696 :>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; 108 :>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; 85983 :>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; 345085:>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; 344166:>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; 3670 :>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; 274155:>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; 136310:>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; 4331 :>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; 10460 :>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; 1329076:>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; 1858623:>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; 11242298:>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; 26284 :>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; 12954000:>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; 3244002:>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; 51 :>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; 87 :>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; 44323 :>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; 331083:>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=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=2; 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=2; y=1; 1962 :>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; 2823 :>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; 448 :>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; 3920 :>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; 132478:>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; 1626742:>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; 9229 :>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; 2329 :>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; 52765 :>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; 127153:>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; 3707 :>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; 9170 :>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; 539950:>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; 4669687:>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; 4796602:>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; 20599 :>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; 2901734:>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; 1661804:>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; 2002 :>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; 10795 :>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; 120098:>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; 1248011:>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; 3742687:>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; 27104 :>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; 1911676:>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; 1110025:>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; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=2; 238 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 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=1; 2:EDX=0; d=1; y=2; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 1280 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 602 :>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; 13141 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 121 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 14 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=2; 1607 :>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; 61475 :>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; 203 :>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; 98807 :>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; 14911 :>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; 2598 :>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; 508 :>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; 5021 :>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; 2269 :>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; 75965 :>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; 100 :>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; 21992 :>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; 1298353:>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; 21492 :>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; 289 :>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; 2336 :>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; 9 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 22254 :>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; 188495:>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; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 1287 :>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; 1082247:>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; 25 :>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; 637614:>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; 613987:>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; 8291 :>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; 33 :>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; 192 :>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; 2162 :>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; 10864840:>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; 63 :>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; 14320618:>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; 2250 :>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; 414 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 55 :>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; 15687 :>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; 21709434:>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; 231 :>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; 4234002:>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; 6362150:>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; 104998:>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; 153 :>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; 2583 :>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; 1455 :>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; 7725 :>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; 392277:>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; 2510412:>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; 9826 :>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; 1091 :>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; 170780:>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; 194038:>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; 3004 :>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; 46934 :>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; 324326:>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; 773478:>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; 4998974:>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; 14863 :>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; 971934:>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; 394160:>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; 813 :>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; 230500:>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; 107656:>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; 13257862:>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; 2605 :>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; 744 :>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; 2702 :>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; 13107 :>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; 31115 :>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; 13055543:>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; 1213906:>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; 37086010:>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; 22342410:>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; 162504:>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; 2452394:>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; 1754553:>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: 376424417, Negative: 23575583 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 127.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl (%r14),%ebp _litmus_P3_2_: movl (%r11),%ebx _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl $1,(%r13) _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl $2,(%r12) _litmus_P2_3_: movl (%r12),%ebp _litmus_P2_4_: movl (%r11),%ebx _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl (%r14),%ebp Test X026+X027 Required Histogram (338 states) 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 76 :>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; 35 :>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; 166 :>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; 526 :>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; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 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=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; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; 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=1; 12 :>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; 1 :>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; 349 :>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; 549 :>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; 47586 :>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; 64261 :>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; 6932 :>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; 39444 :>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; 279000:>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; 162215:>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; 205298:>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; 630524:>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; 38 :>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; 15 :>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; 16 :>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; 27 :>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; 11 :>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; 27 :>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; 36075 :>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; 157992:>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; 3573 :>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; 61721 :>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; 40132 :>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; 41201 :>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; 4597 :>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; 45274 :>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; 890 :>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; 61 :>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; 6153 :>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; 160 :>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; 1 :>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; 5 :>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; 3 :>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; 1 :>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; 5608 :>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; 326 :>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; 2 :>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; 1551 :>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; 43 :>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; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 149 :>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; 1 :>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; 1667897:>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; 49939 :>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; 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=1; 186 :>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; 7564550:>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; 54404 :>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; 123 :>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; 733 :>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; 1247 :>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; 61 :>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; 1015 :>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; 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=1; 9660588:>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; 341323:>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; 392 :>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; 2505562:>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; 10753 :>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; 71 :>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; 3 :>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; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 16 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 212 :>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; 541 :>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; 499 :>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; 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=1; z=1; 5 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 5 :>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=1; 103 :>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; 1654 :>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; 62176 :>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; 82 :>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; 27803 :>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; 4564 :>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; 16014 :>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; 1342 :>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; 72478 :>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; 964 :>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; 1415 :>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; 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=1; 4409 :>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; 12135746:>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; 81 :>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; 4181212:>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; 862 :>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; 2007 :>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; 19 :>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=1; 5098 :>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; 25 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 2 :>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; 10 :>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; 1 :>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; 6 :>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; 6 :>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; 15066 :>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; 49 :>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 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=2; e=1; z=1; 1546 :>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; 39631 :>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; 872 :>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; 3487 :>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; 8261 :>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=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 19 :>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; 2 :>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=1; 1478 :>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=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 18618 :>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; 11579322:>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; 16055 :>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; 1288 :>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; 266 :>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; 10 :>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 1 :>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; 152155:>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; 50028 :>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; 3992102:>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; 4437289:>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; 400021:>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; 55271 :>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; 18570670:>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; 21665278:>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; 505353:>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; 194238:>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; 5733803:>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; 18999576:>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; 137759:>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; 19493 :>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; 3182412:>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; 5090208:>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=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 54 :>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; 1 :>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; 113 :>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; 6 :>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; 47 :>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; 3309918:>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; 46029 :>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; 38 :>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; 182 :>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; 8752713:>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; 17671 :>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; 128 :>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; 281 :>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; 19633071:>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; 283666:>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; 78 :>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; 532 :>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; 3621382:>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; 8213 :>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; 55 :>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; 70 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=2; 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=2; 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=2; z=1; 11 :>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; 1328 :>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; 20720 :>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; 16319 :>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; 1223442:>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; 551 :>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; 1140 :>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; 17321 :>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; 1343550:>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; 9915 :>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; 9128761:>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; 30342 :>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; 24245512:>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; 175 :>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; 250 :>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; 1741 :>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; 519894:>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; 86 :>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; 256 :>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; 17398 :>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; 803 :>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; 94 :>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; 60 :>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; 5 :>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; 5556 :>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; 6488399:>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; 28345 :>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; 113 :>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; 29 :>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; 7 :>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; 10 :>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; 1 :>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; 13 :>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; 9 :>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; 1275 :>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; 24098 :>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; 11 :>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; 1863 :>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; 9828580:>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; 13874812:>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; 1403079:>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; 9025390:>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=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; 26 :>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; 16 :>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; 7 :>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; 14 :>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; 458 :>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; 18239 :>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; 3 :>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; 1286 :>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; 610 :>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; 4379 :>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; 8 :>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; 712 :>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; 33 :>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; 2075907:>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; 127231:>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; 259 :>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; 54537545:>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; 16034108:>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; 14072 :>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; 54145 :>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; 350 :>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; 44 :>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; 836 :>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; 40 :>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; 9324930:>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; 369850:>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; 180 :>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; 2787069:>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; 17880 :>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; 98 :>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; 3 :>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; 488 :>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; 105670:>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; 11069 :>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; 1224547:>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; 10674007:>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; 10505 :>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; 4033984:>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; 217 :>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; 109 :>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=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 12 :>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; 20 :>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; 333 :>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; 12542707:>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; 1426409:>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; 160 :>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; 6766 :>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; 1924 :>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; 1877 :>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; 221686:>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; 1439 :>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; 412012:>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; 5608095:>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; 22 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 23834 :>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; 628 :>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; 7 :>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; 1 :>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; 9 :>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; 9072 :>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; 27690393:>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; 38489 :>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; 1209 :>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; 7433 :>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; 98 :>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; 57 :>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; 753 :>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; 89 :>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; 3213 :>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; 3291 :>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; 1921 :>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; 5776 :>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; 44 :>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; 988 :>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; 38 :>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; 47 :>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; 86 :>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; 3 :>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; 53 :>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; 107309:>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; 2893 :>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; 6 :>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; 318517:>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; 1807 :>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; 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=2; z=2; 35 :>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; 857850:>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; 11909 :>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; 5 :>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; 123827:>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; 422 :>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=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; 35 :>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; 1310 :>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; 223 :>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; 178 :>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; 2981 :>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; 8 :>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; 3042 :>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; 57 :>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; 277432:>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; 25729 :>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; 8 :>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; 83 :>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; 62 :>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; 22 :>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; 911 :>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; 18 :>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; 12 :>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; 160 :>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; 296 :>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; 792323:>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; 491 :>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; 18 :>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; 16 :>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; 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=2; No Witnesses Positive: 380270690, Negative: 19729310 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 148.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $2,(%r11) _litmus_P2_2_: movl (%r11),%ebp _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl $1,(%r14) _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X027+X028 Required Histogram (145 states) 36691 :>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; 31 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1974135:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 20430578:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 342 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1115 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4211688:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2543505:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 19 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 516 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 77 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 57434 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 732541:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 14 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 74 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 223170:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 18272 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 6 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 11799 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 377 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1741248:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2005942:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2111 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 38 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 41045900:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 420036:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 44 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 124 :>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; 7500 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 103437:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 104984:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1134 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 11162076:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 3332 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 3615009:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 3248227:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 13021437:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1897277:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 27 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 68 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 185 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 18 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 259127:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 471105:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1059635:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 98508 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 105958:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 1319 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 17500928:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 4008 :>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; 4016 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 6583 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 1256 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 27179451:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 130 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 49414 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 8 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 186 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 224009:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 8447833:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 270 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 10480 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 60061 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 1 :>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; 299 :>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=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 71 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 7666 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 308675:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 111 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1112 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1263 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 5592371:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 11361868:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 7310033:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 4353453:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1247 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 6179 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 3633 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 798 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 10706544:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 31970705:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 36176718:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 8382720:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 7857 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 23980313:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 2167 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 250 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 27361 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 18350840:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 30254 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1630 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 64981 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 14072856:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 3831048:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1243 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 100936:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 5398512:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 36 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 7747111:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2722 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 229 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 2723 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 555 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 43 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 20144 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 50942 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 46367 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 2361 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 24 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 6875 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 585 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 12 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 1655218:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 80 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 8622023:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 25 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1846 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 24636311:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 29 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 19 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 96 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 4675 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 20 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 17 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 772116:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 9301919:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 801123:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 161175:>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: 374579746, Negative: 25420254 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 144.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $2,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: movl (%r13),%r12d _litmus_P2_4_: movl (%r15),%ecx _litmus_P2_5_: movl (%rax),%esi _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r11),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X028+X029 Required Histogram (217 states) 16 :>1:EAX=0; 2:EAX=1; 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=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 6147 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 2911 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 217 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 474 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1493 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 2558 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 21374 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 158 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 39202070:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 15275131:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 22337 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 10908 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 91014 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 246526:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1357 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 44 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1207 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 406 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 18699 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 7718 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 990 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2211 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 89055 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 175 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 297453:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 14082 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 213073:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 20248 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 59482 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 41184 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; 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=2; d=1; x=1; y=1; 78 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 25 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 289 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 10126 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 15 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 9780917:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5702081:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 9906 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 17630 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 64295 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 277048:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1957 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 5173 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 144 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 902 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 45631 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 16 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 115354:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 3512 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 111790:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 118620:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 42803 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 124261:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 78450 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 3497 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 13758644:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 8031287:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 344302:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 212279:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1965488:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 4302534:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 390328:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 5032 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1658594:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 205431:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 4480545:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2187370:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1266660:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2095930:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 21 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 93 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 401 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 1508 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 6250 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 27 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 18 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 1261 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 13871 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 1004 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 23349 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 211 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 4399 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 9 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 1115 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 97 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 5624 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 547886:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 9816462:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 185 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 11934 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2229 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 180001:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 102 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 14265 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 2 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 501 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 113 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 3603 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 17 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 788 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 19162 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 12 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 210116:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 201640:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 19863029:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 366 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 676759:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3905 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 32926869:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 90 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 928700:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 83940 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 853 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 3952513:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 188 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 3037120:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 609336:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 6736888:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 14090 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 345774:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 635247:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 16082054:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 46998 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 3185754:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 7967 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1652834:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 379 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 17 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 300651:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 572 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 10824539:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 222 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 4286523:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 42 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 3444784:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 77 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 78 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 106 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 155634:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 3214 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 57786 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 7361 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 158992:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 13 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 814562:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1498 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 19563547:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 284 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 7697410:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 9486 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 6 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=2; 46 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=2; 30977 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 2924 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 65890 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 30104 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 408700:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 6216 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 7540408:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 146 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 18678348:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 158813:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2787195:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 237892:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 940117:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 463936:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 13019580:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 13938 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 39292500:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 2330695:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 215 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 250 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 14095 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 10092 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 21668 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 23 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 10291832:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 181289:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 92 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=2; 22 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 755 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 62 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 13463 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 13 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 613 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 45 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 3717 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 2 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=2; 8172 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=2; 22 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 2453 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 952 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 1524607:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 346 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 509975:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 7369 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 6006931:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 22722 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 110274:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 112296:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 1226549:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 228373:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 2770904:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 7 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 705 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 698 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 5479250:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 8437 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; 23175280:>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: 384348153, Negative: 15651847 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 142.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl (%r14),%ebp _litmus_P3_2_: movl (%r11),%ebx _litmus_P3_3_: movl $2,(%r12) _litmus_P3_4_: movl $1,(%r13) _litmus_P2_0_: movl $2,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl $2,(%r12) _litmus_P2_3_: movl (%r12),%ebp _litmus_P2_4_: movl (%r11),%ebx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r13),%eax Test X029+X030 Required Histogram (367 states) 564 :>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; 134 :>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; 2 :>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; 415 :>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; 208 :>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; 359234:>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; 360588:>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; 17 :>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; 71 :>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; 25472 :>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; 85380 :>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=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 3 :>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=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; 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=1; y=1; z=1; 9648 :>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; 4970 :>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; 1 :>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; 5906 :>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; 784 :>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; 26 :>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; 304 :>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; 18 :>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; 9 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 316 :>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; 23516 :>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; 312050:>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; 1 :>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; 48 :>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; 3418 :>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; 84474 :>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; 10 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 7 :>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; 698 :>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; 16356 :>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; 1 :>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; 319 :>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; 7943 :>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; 16 :>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; 5 :>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; 1 :>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; 4 :>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; 103899:>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; 103322:>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; 23 :>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; 9 :>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; 24496 :>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; 39631 :>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; 1 :>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; 8559 :>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; 148 :>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; 3 :>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; 2656 :>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; 50 :>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; 179 :>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; 10205009:>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; 75454 :>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; 1654 :>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; 18 :>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; 4601326:>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; 27175 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 13 :>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; 1 :>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; 2166 :>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; 29242 :>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; 5 :>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; 734 :>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; 33700 :>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; 7 :>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; 68 :>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; 28 :>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; 12809 :>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; 37576 :>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; 6 :>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; 5747 :>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; 52699 :>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; 2 :>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; 27791927:>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; 13173699:>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; 6304271:>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; 5388592:>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; 14358 :>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; 2405 :>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; 10568 :>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; 710 :>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; 3 :>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; 456331:>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; 7386289:>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; 74846 :>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; 1992480:>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; 38 :>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; 4198 :>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; 28 :>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; 2027 :>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; 56761 :>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; 24307 :>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; 29717 :>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; 13493 :>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; 37 :>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; 111 :>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; 8892658:>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; 31532 :>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; 5428891:>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; 14845 :>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; 136 :>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; 2289 :>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; 32 :>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; 3433 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 425 :>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; 3056 :>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; 327 :>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; 3165 :>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; 684 :>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; 3872 :>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; 3 :>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; 4164 :>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; 22158 :>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=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 163 :>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; 35 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 2506 :>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; 1546 :>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; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 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; 1317 :>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; 385 :>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; 18695 :>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; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 822 :>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; 4191 :>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; 8053907:>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=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 150 :>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; 349 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 1323 :>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; 9 :>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; 3875 :>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; 61524 :>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; 1234 :>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; 4977 :>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 7 :>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; 10510 :>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; 43947 :>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; 243 :>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; 9 :>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; 2 :>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; 5377 :>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; 124 :>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; 363484:>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; 3169 :>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; 1445 :>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; 21 :>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; 9255316:>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; 134271:>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; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 346 :>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; 187 :>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; 15657 :>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; 692 :>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; 2875 :>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; 9009811:>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; 3 :>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; 13 :>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; 16000 :>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; 2515 :>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; 13826 :>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; 5 :>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; 1637 :>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; 36024 :>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; 13885012:>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; 1019786:>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; 586882:>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; 6792015:>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; 4669818:>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; 1256 :>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; 97 :>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; 12007 :>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; 2649 :>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; 25 :>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; 52986 :>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; 1035870:>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; 368215:>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; 38843946:>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; 81 :>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; 952 :>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; 1659 :>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; 118318:>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; 8430 :>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; 6274 :>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; 43242 :>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; 53621 :>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; 97 :>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; 1 :>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; 1723666:>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; 4319 :>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; 19806792:>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; 126319:>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; 1 :>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; 47 :>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; 3509 :>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; 1373 :>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; 4787235:>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 107 :>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; 251 :>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; 6016 :>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; 8450 :>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; 6500376:>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; 19 :>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; 9 :>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; 5976513:>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; 5382794:>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; 14 :>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; 38 :>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; 182 :>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; 11815 :>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; 238796:>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; 223282:>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; 2 :>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; 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=2; 1120 :>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; 1201 :>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; 1 :>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; 1778197:>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; 19098323:>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; 5 :>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; 44 :>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; 182 :>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; 52344 :>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; 184569:>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; 1782697:>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; 1 :>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; 144 :>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; 12053 :>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; 6 :>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; 6983535:>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; 5023290:>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; 16 :>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; 11 :>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; 746 :>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; 29434 :>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; 29 :>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; 52457253:>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; 7189211:>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; 1061 :>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; 20 :>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; 4048566:>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; 90638 :>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; 204021:>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; 7486120:>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; 6 :>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; 79 :>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; 48419 :>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; 743103:>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; 10554820:>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; 12 :>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; 2117 :>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; 147466:>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; 2976 :>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; 5499 :>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; 15 :>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; 377 :>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; 633 :>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; 405 :>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; 54 :>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; 47 :>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; 234 :>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; 3960 :>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; 14 :>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; 803 :>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; 3 :>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; 107 :>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; 2 :>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; 112 :>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; 958 :>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; 2059 :>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; 69 :>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; 753 :>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; 315646:>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; 3374 :>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; 193026:>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; 1681 :>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; 18 :>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; 596 :>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; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 552 :>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; 40 :>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; 149 :>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; 21 :>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; 416 :>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; 1 :>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; 22 :>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; 14 :>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; 231 :>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; 41 :>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; 9 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 174 :>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; 446 :>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; 7 :>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; 7623 :>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; 217 :>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; 149 :>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; 5367651:>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; 44 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 538 :>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; 9 :>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; 445 :>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; 64985 :>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; 72 :>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; 737 :>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; 297 :>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; 3661 :>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; 690971:>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; 5099 :>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; 352 :>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; 4 :>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; 8012929:>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; 126526:>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; 27 :>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; 12815 :>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; 193 :>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; 289 :>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; 8024732:>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; 475 :>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; 42477 :>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; 655 :>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; 9281 :>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; 23963901:>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; 2 :>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; 2 :>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; 35 :>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; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; 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=2; z=2; 21 :>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; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 208 :>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; 18 :>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; 99873 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 11 :>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; 22 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 1651 :>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; 4 :>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; 42 :>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; 39 :>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; 524 :>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; 66544 :>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; 199 :>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; 904492:>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; 7581 :>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; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=2; 231 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=2; 33 :>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; 219832:>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; 19 :>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; 502 :>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; 517 :>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; 714072:>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: 390351588, Negative: 9648412 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 163.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ebx _litmus_P1_5_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl (%r15),%ebx _litmus_P0_4_: movl $1,(%rax) _litmus_P0_5_: movl (%r13),%ebp Test X030+X031 Required Histogram (78 states) 412 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 443 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 696 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 123 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 7039085:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 9321455:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 27255990:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 8493357:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 22 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 161 :>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; 11913 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 5480 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 441758:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 7843 :>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; 262 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 108407:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1597 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 13286538:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 43549 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 9703 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 54 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 25361422:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 414 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 930 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3731611:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 56562352:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 7773884:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 4724513:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 89 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 11081 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 291 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 23 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 93308 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 12604508:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1395005:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 75955 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 12679 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 1342 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 925408:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 10795 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 4251 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 84 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 27388324:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1279 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 9637893:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 25898404:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 20627343:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 9834002:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 2136526:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 3845612:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 13083865:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 2537186:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 116114:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 2156 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 3964068:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 21907 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 47948 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 2340 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 43355719:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 29014 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 20126 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 22800656:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 11643 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 10365 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 134108:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 25558923:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 630345:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 68923 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 112 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 58 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 8915454:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 727 :>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: 376902010, Negative: 23097990 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 140.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl (%rax),%edx _litmus_P1_3_: movl (%r8),%ecx _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r14),%edi _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%rbp) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: movl (%rbp),%ecx _litmus_P0_5_: movl (%r14),%eax _litmus_P0_6_: movl (%r13),%ebx _litmus_P0_7_: movl (%r15),%edx Test X031+X032 Required Histogram (24 states) 17484 :>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; 1172428:>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; 1670718:>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; 79057543:>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; 6596013:>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; 3279054:>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; 15021238:>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; 59424617:>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; 125528940:>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; 5040647:>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; 16089636:>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; 17496702:>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; 8121 :>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; 42530882:>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; 63 :>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; 109221796:>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; 760619:>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; 1189641:>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; 4268 :>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; 918656:>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; 13211255:>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; 1641205:>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; 4206 :>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; 114268:>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: 474749048, Negative: 25250952 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 126.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl (%rbp),%ecx _litmus_P2_3_: movl (%r13),%ebx _litmus_P2_4_: movl $1,(%r15) _litmus_P2_5_: movl $1,(%r8) _litmus_P2_6_: movl (%r8),%eax _litmus_P2_7_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: movl (%rax),%ecx _litmus_P1_5_: movl (%rdx),%r12d _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r14),%ecx _litmus_P0_4_: movl (%rax),%edx _litmus_P0_5_: movl (%r15),%edi Test X032+X033 Required Histogram (58 states) 870901:>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; 125525:>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; 2223847:>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; 8754497:>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; 659586:>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; 1049 :>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; 63125053:>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; 66645413:>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; 34881260:>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; 122549:>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; 1945140:>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; 1451202:>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; 24072546:>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; 1857 :>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; 1280833:>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; 472136:>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; 795832:>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; 1942372:>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; 78651 :>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; 6484004:>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; 34676 :>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; 1497 :>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; 4823 :>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; 64784 :>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; 98342890:>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; 6522003:>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; 1159911:>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; 6475456:>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; 1976046:>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; 7181 :>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; 62856 :>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; 49609 :>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; 42 :>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; 6958 :>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; 6599 :>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; 1868969:>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; 6 :>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; 2 :>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; 136320:>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; 21792884:>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; 2688 :>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; 130 :>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; 24245 :>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; 18 :>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; 3170 :>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; 274 :>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; 7581015:>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; 413 :>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; 64558100:>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; 62 :>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; 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; e=2; 11081 :>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; 579 :>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; 36273832:>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; 122 :>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; 37095216:>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; 243 :>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; 1045 :>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: 485526011, Negative: 14473989 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 160.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: movl (%r14),%eax _litmus_P1_0_: movl $2,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r8),%edi _litmus_P1_4_: movl (%r15),%edx _litmus_P1_5_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: movl (%r15),%ecx _litmus_P0_5_: movl (%rax),%r12d Test X033+X034 Required Histogram (32 states) 1451851:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 78608149:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 24019660:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 46100696:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 65991 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 11736 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 18735088:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 10886127:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 4587109:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 74218443:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 827452:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1182518:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 925944:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 107389:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3069181:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 322074:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 548 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 1220712:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 35640 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 217803:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 5004 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 69920443:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 2963114:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 8046 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 96 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 8238 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 130 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 41803357:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 84784 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 118518244:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 94414 :>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: 467551701, Negative: 32448299 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 130.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl (%r14),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl (%r15),%edx _litmus_P1_3_: movl (%rax),%ecx _litmus_P1_4_: movl $1,(%r8) _litmus_P1_5_: movl (%r13),%edi _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl (%r14),%edx _litmus_P0_3_: movl (%r13),%eax Test X034+X035 Required Histogram (32 states) 86839 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3099112:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 4281806:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 71342284:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 60320 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 4625 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 652249:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1125427:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 43287 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 782928:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1798136:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 13215906:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 150546003:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 138448:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 70486239:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 20396077:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 79934 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 43213265:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3538 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 104896944:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 39733 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 4187 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 402 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2009 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 42101 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 476495:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1151 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 148788:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 12918983:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 40903 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 57917 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 13964 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 489806767, Negative: 10193233 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 104.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl $1,(%rcx) _litmus_P2_3_: movl $1,(%r12) _litmus_P2_4_: movl (%r12),%r13d _litmus_P2_5_: movl (%rcx),%r15d _litmus_P2_6_: movl (%rbx),%eax _litmus_P2_7_: movl (%rdx),%r14d _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r12),%eax _litmus_P1_3_: movl (%r15),%r10d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl (%r15),%r10d _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r14),%eax Test X035+X036 Required Histogram (112 states) 2679 :>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; 290 :>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; 1372308:>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; 1092304:>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; 3902 :>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; 56 :>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; 8885434:>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; 4321799:>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; 828 :>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; 36314 :>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; 5639 :>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; 2613668:>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; 334 :>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; 32360 :>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; 175 :>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; 2316975:>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; 205239:>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; 23126 :>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; 10 :>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; 6958976:>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; 512171:>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; 3409822:>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; 550499:>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; 10067337:>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; 7102147:>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; 72 :>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; 6544 :>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; 572783:>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; 370744:>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; 11662430:>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; 227 :>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; 449 :>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; 406893:>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; 1266152:>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; 8 :>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; 259 :>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; 60 :>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; 1 :>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; 17279 :>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; 114 :>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; 1079435:>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; 14852596:>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; 16485099:>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; 56618352:>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; 113700:>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; 9289 :>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; 8404732:>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; 3927526:>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; 31904057:>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; 76 :>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; 3438215:>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; 182 :>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; 11750225:>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; 34 :>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; 6311359:>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; 1670 :>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; 54413 :>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; 44555 :>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; 85445 :>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; 236460:>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; 15310810:>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; 5399711:>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; 20836419:>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; 32998968:>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; 3333 :>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; 669 :>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; 12920669:>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; 452 :>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; 6108641:>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; 2451 :>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; 95068 :>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; 7134 :>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; 63599 :>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; 38555 :>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; 1304692:>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; 36295 :>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; 1431619:>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; 354162:>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; 1625141:>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; 512 :>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; 21939560:>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; 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=1; 274684:>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; 130 :>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; 38413 :>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; 4328854:>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; 36314 :>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; 10854413:>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; 24692 :>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; 49865 :>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; 38788 :>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; 282473:>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; 15 :>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; 2303 :>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; 6 :>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; 821 :>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; 14 :>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; 683937:>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; 14195666:>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; 173441:>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; 9587313:>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; 292355:>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; 77484 :>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; 254754:>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; 341375:>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; 10142368:>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; 19 :>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; 554 :>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; 8676209:>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; 45 :>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; 28203 :>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; 184 :>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: 387666773, Negative: 12333227 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 132.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rsi) _litmus_P3_1_: movl $1,(%r13) _litmus_P3_2_: movl (%r12),%eax _litmus_P3_3_: movl $1,(%rcx) _litmus_P3_4_: movl (%rcx),%r14d _litmus_P3_5_: movl (%rbx),%r15d _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rcx) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%rcx),%r15d _litmus_P2_4_: movl (%r13),%r14d _litmus_P2_5_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl (%r13),%ebx _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r14),%ebp Test X036+X037 Required Histogram (246 states) 12520 :>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; 8021 :>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; 47029 :>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; 140394:>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; 6948 :>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; 553 :>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; 61902 :>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; 89928 :>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; 26614 :>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; 2939 :>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; 9916438:>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; 6330936:>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; 13524 :>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; 246 :>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; 9529921:>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; 6071259:>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; 12551 :>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; 31206 :>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; 10971 :>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; 109946:>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; 1254 :>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; 374 :>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; 1350 :>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; 5508 :>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; 167294:>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; 67182 :>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; 15164843:>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; 12316762:>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; 12074 :>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; 693 :>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; 2128101:>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; 1846681:>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; 1948593:>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; 8309 :>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; 2087 :>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; 2640 :>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; 523020:>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; 153 :>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; 825 :>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; 254 :>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; 3166615:>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; 3133 :>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; 39420 :>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; 9573 :>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; 1346987:>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; 152 :>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; 19215 :>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; 1529 :>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; 3231971:>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; 38813 :>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; 420 :>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; 7498 :>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; 92730 :>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; 187 :>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; 46 :>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; 37 :>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; 36472927:>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; 159734:>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; 87580 :>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; 69607 :>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; 1400242:>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; 442 :>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; 9818 :>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; 1649 :>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; 165102:>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; 358600:>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; 33882 :>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; 304062:>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; 7090089:>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; 3894769:>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; 6469224:>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; 13601088:>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; 1087 :>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; 637 :>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; 854 :>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; 3166 :>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; 1932 :>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; 482 :>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; 10628 :>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; 30751 :>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; 13463 :>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; 90021 :>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; 481 :>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; 58397 :>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; 14485 :>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; 46073 :>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; 3749 :>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; 61351 :>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; 5998 :>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; 20833 :>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; 401 :>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; 22311 :>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; 3259 :>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; 2273 :>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; 1674 :>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; 17543 :>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; 10699261:>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; 382597:>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; 7603 :>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; 71062 :>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; 33526626:>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; 4415896:>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; 1364795:>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; 1182498:>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; 483531:>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; 2643 :>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; 245 :>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; 865 :>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; 353900:>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; 761 :>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; 867 :>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; 825 :>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; 17579820:>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; 285072:>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; 288 :>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; 24524 :>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; 2515000:>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; 54482 :>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; 1399 :>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; 12569 :>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; 7869878:>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; 128326:>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; 447 :>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; 17005 :>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; 739170:>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; 3275 :>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; 1008 :>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; 2043 :>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; 66 :>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; 5976 :>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; 608 :>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; 55744 :>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; 18 :>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; 50 :>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; 983 :>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; 26672 :>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; 2 :>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; 451 :>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; 123888:>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; 3040989:>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; 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=0; e=2; 3 :>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; 84123 :>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; 2827130:>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; 146 :>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; 3436804:>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; 346 :>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; 3652615:>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; 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=0; e=2; 24 :>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; 9 :>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; 1157 :>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; 456 :>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; 5260486:>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; 494642:>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; 53284712:>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; 8 :>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; 54 :>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; 21156 :>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; 802805:>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; 1 :>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; 1648 :>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; 5 :>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; 707 :>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; 1 :>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; 4 :>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; 10 :>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; 44 :>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; 42 :>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=2; 913 :>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; 1 :>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; 62 :>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; 412 :>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; 2453389:>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; 12 :>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; 467749:>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; 3 :>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; 5 :>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; 2003 :>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; 7643639:>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; 505 :>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; 2199305:>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; 17 :>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; 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=0; e=2; 106 :>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; 8576 :>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; 478921:>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; 1711 :>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; 878870:>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; 253344:>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; 5815823:>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; 118640:>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; 22417341:>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; 5 :>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; 101 :>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; 20 :>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; 3082 :>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; 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=2; 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=1; e=2; 182 :>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; 8273 :>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; 574 :>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; 6831027:>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; 37 :>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; 8700283:>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; 1343 :>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; 63918 :>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; 184 :>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; 167378:>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; 90 :>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; 728805:>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; 36 :>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; 2087415:>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; 27 :>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; 176 :>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; 47 :>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; 11087 :>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; 9435 :>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; 321758:>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; 159 :>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; 88554 :>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; 281634:>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; 5488562:>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; 2510 :>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; 1256791:>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; 38 :>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; 2 :>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=2; 78 :>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; 1 :>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=2; 50 :>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; 2538 :>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; 22959847:>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; 10 :>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; 2694919:>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; 1956 :>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; 80438 :>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; 22 :>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; 17543 :>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; 886 :>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; 4564163:>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; 5 :>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; 918469:>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; 2 :>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; 122 :>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; 1 :>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; 360 :>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: 345247373, Negative: 54752627 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 146.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl (%r13),%r14d _litmus_P2_4_: movl (%rsi),%r15d _litmus_P2_5_: movl (%rcx),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl $1,(%r13) Test X037+X038 Required Histogram (94 states) 4529 :>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; 7916 :>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; 224135:>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; 26338819:>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; 3967603:>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; 1002004:>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; 5468720:>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; 14645154:>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; 12623 :>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; 11219 :>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; 8276 :>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; 76272 :>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; 23175600:>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; 3929146:>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; 5968814:>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; 6375995:>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; 42849 :>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; 12758 :>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; 333615:>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; 35922579:>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; 48242 :>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; 2861 :>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; 43412 :>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; 15398 :>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; 472091:>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; 42971 :>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; 90819 :>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; 135151:>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; 1295169:>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; 25495 :>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; 151547:>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; 16781 :>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; 4511 :>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; 40508 :>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; 33419 :>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; 15230101:>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; 295484:>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; 606988:>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; 41300 :>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; 980948:>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; 1127052:>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; 10578360:>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; 2090 :>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; 95396 :>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; 24343751:>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; 19731111:>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; 50111 :>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; 765361:>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; 19149 :>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; 40200 :>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; 49932 :>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; 7147305:>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; 7881 :>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; 6318 :>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; 382 :>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; 403 :>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; 13444546:>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; 15948225:>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; 5190 :>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; 80146 :>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; 24719458:>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; 2726401:>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; 2851 :>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; 2691 :>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; 1063 :>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; 46 :>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; 45344 :>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; 2977930:>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; 2829347:>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; 3682 :>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; 7088079:>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; 870097:>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; 202 :>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; 496 :>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; 888 :>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; 4607094:>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; 62 :>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; 3483049:>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; 25087 :>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; 2835962:>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; 14 :>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; 20084745:>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; 11106810:>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; 1788939:>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; 69 :>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; 7327842:>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; 1389 :>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; 9781806:>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; 1 :>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; 6113248:>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; 8080 :>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; 37156004:>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; 13866146:>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; 347 :>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: 384885763, Negative: 15114237 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 146.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl (%r14),%r15d _litmus_P2_5_: movl (%rsi),%edx _litmus_P2_6_: movl (%rbp),%ecx _litmus_P2_7_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $2,(%r13) _litmus_P1_2_: movl (%r12),%ebx _litmus_P1_3_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X038+X039 Required Histogram (125 states) 1511120:>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; 8329923:>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; 883 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=1; 125199:>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; 371886:>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; 1281027:>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; 2141 :>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; 62145 :>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; 12219999:>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; 1224803:>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; 11 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=1; 6240 :>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; 63148236:>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; 5586382:>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; 42910 :>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; 249733:>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; 219022:>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; 41422583:>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; 19 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 350085:>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; 76897 :>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; 901478:>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; 34 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=1; 25816 :>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; 12872793:>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; 229711:>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; 699 :>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; 10979472:>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; 423638:>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; 84 :>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; 7407 :>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; 303 :>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; 351 :>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; 3 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 9 :>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; 1983 :>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; 2494 :>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; 61 :>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; 140 :>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; 157429:>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; 138 :>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; 3 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=1; 13083480:>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; 10015 :>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; 1993 :>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; 1860 :>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; 26435 :>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; 5732252:>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; 13 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 76059 :>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; 7205 :>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; 67886 :>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; 29 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 9838 :>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; 2969713:>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; 45294 :>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; 173 :>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; 12914365:>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; 46152 :>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; 420 :>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; 3883 :>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; 608837:>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; 3369723:>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; 30923 :>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; 3719676:>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; 1543193:>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; 3121316:>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; 812862:>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; 11773820:>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; 7478 :>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; 13406 :>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; 222 :>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; 9780 :>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; 7156337:>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; 2737548:>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; 7142745:>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; 12002662:>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; 36532 :>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; 10278361:>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; 2306 :>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; 14396734:>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; 75110 :>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; 975110:>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; 5738 :>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; 1012002:>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; 282 :>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; 4641 :>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; 6 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 1376 :>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; 98998 :>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; 141611:>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; 28139 :>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; 102711:>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; 320 :>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; 263 :>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; 738 :>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; 3932 :>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; 28145 :>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; 23185 :>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; 4633175:>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; 11001177:>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; 9 :>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; 2 :>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; 2 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=2; x=2; 10 :>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; 574419:>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; 65440 :>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; 35298948:>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; 11472151:>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; 12601 :>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; 3576225:>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; 3792 :>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; 18230158:>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; 50044 :>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; 323280:>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; 1988299:>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; 19180580:>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; 98 :>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; 578 :>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; 9 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; 315 :>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; 260102:>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; 52416 :>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; 8451232:>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; 6725815:>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: 387753278, Negative: 12246722 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 139.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rsi) _litmus_P3_1_: movl $1,(%r13) _litmus_P3_2_: movl (%r12),%eax _litmus_P3_3_: movl $1,(%rcx) _litmus_P3_4_: movl (%rcx),%r14d _litmus_P3_5_: movl (%rbx),%r15d _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rcx) _litmus_P2_2_: movl $2,(%r12) _litmus_P2_3_: movl (%rcx),%r15d _litmus_P2_4_: movl (%r13),%r14d _litmus_P2_5_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%r13),%eax Test X039+X040 Required Histogram (235 states) 128521:>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; 110765:>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; 19113991:>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; 8406635:>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; 22517 :>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; 32731 :>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; 5703805:>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; 4609503:>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; 6697 :>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; 5953 :>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; 47626 :>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; 12284 :>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; 2687 :>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; 3593 :>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; 30540 :>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; 15789 :>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; 10027214:>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; 9377750:>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; 22821 :>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; 12331 :>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; 20560 :>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; 63199 :>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; 7585 :>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; 12487 :>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; 4152690:>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; 3050166:>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; 4855 :>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; 1933 :>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; 27165 :>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; 35492 :>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; 9471 :>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; 7190 :>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; 1927 :>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; 47107 :>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; 259376:>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; 3757063:>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; 266 :>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; 17970 :>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; 144528:>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; 1913015:>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; 232 :>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; 21 :>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; 273 :>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; 5 :>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; 561 :>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; 17 :>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; 840 :>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; 648201:>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; 22427569:>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; 310 :>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; 7138 :>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; 3229 :>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; 231356:>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; 383 :>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; 17970 :>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; 60476 :>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; 4897367:>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; 4 :>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; 96 :>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; 634 :>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; 86010 :>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; 37 :>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; 2045 :>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; 11667 :>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; 5715 :>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; 12382 :>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; 140 :>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; 4243 :>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; 6468 :>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; 15783 :>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; 2214 :>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; 1596875:>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; 10233 :>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; 3326386:>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; 425 :>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; 319801:>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; 12765 :>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; 2817149:>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; 6357 :>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; 1698075:>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; 847188:>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; 328 :>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; 32 :>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; 8184 :>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; 12164 :>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; 1209 :>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; 324 :>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; 43606218:>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; 6386677:>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; 826753:>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; 368 :>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; 3758999:>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; 128827:>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; 1165766:>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; 7666 :>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; 22 :>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; 1 :>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; 376 :>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; 34 :>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; 1 :>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; 9 :>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; 346 :>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; 79 :>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; 43971 :>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; 1232216:>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; 372 :>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; 20524 :>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; 24 :>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; 210224:>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; 7027675:>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; 2357 :>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; 135967:>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; 2 :>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; 235 :>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; 22338 :>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; 15898 :>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; 3405300:>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; 856570:>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; 42091 :>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; 36060 :>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; 17139364:>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; 6082136:>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; 3570 :>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; 1845 :>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; 20378 :>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; 4636 :>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; 9973 :>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; 9040 :>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; 142168:>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; 56047 :>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; 12197 :>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; 43536 :>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; 334 :>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; 226 :>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; 6860 :>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; 39672 :>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; 3408 :>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; 9198 :>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; 20653 :>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; 31463 :>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; 592 :>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; 143 :>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=2; 39042 :>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; 37713 :>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; 22583 :>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; 13650 :>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; 509 :>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; 29164 :>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; 79888 :>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; 1453535:>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; 862 :>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; 4782439:>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; 679177:>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; 45459905:>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; 14 :>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; 1415 :>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; 51 :>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; 1118 :>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; 104 :>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; 1173468:>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; 1377 :>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; 4576361:>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; 1858 :>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; 226590:>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; 15 :>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; 592 :>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; 607 :>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; 8696644:>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; 206 :>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; 1591549:>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; 693 :>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; 85507 :>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; 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=2; 43 :>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; 318 :>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; 6542137:>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; 216 :>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; 1638419:>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; 5386 :>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; 767 :>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; 5668 :>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; 10 :>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; 15311 :>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; 10987 :>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; 92057 :>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; 9533 :>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; 2003928:>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; 2905 :>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; 1230819:>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; 33 :>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; 4156797:>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; 47313 :>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; 32241864:>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; 69235 :>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; 8789 :>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; 6949 :>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; 74 :>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; 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=2; y=2; 6487 :>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; 9275 :>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; 1597 :>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; 799 :>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; 5572020:>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; 73071 :>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; 124884:>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; 33 :>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=2; 16521390:>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; 204748:>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; 7134868:>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; 37682 :>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; 11 :>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; 1421 :>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; 306 :>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; 2283769:>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; 386 :>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; 1963230:>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; 1 :>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; 998 :>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; 1597 :>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; 5390197:>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; 2823 :>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; 8432766:>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; 230 :>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; 14214 :>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; 128 :>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; 1555923:>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; 19 :>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; 69836 :>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; 3869 :>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; 106372:>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; 4227 :>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; 26799634:>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; 1127 :>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; 3733772:>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: 362128397, Negative: 37871603 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 163.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r14),%ebx _litmus_P0_4_: movl $1,(%rax) _litmus_P0_5_: movl (%r15),%ebp Test X040+X041 Required Histogram (48 states) 22212796:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 21349132:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 21587136:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 19677583:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 6911356:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 3218671:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 428600:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 21394 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1873505:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 31822585:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 847017:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 9982499:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 89595 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 2154873:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 71 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 4975 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 5123862:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 69903 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 13447862:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 167182:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 46701444:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 121424:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 21556005:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1379 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 124555:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 231479:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 4818734:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 6111750:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 558627:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 202377:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 742692:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 102533:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 23119 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 39839654:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 793442:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 62429960:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 11886 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 15499232:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 3881 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 4584446:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 7006 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 10 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 1413289:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 35240 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 12936239:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1484 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 20155232:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 2284 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; No Witnesses Positive: 396225913, Negative: 3774087 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 137.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl (%r15),%edx _litmus_P1_3_: movl (%rax),%ecx _litmus_P1_4_: movl $1,(%r8) _litmus_P1_5_: movl (%r13),%edi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl $1,(%rdx) Test X041+X042 Required Histogram (32 states) 62644101:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 1535816:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 12942748:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 34490132:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 84868065:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 13636 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 277003:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 109828:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 1765524:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 13437 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 304072:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 1667188:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 65101584:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 11700 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 417523:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 163962:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 961818:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 32309 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 661869:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 71268190:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 86 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 31 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 91 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 38989 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 15888 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 5642 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 26334 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 147569956:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 2164 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 1179 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 4653 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; 13084482:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; No Witnesses Positive: 496508975, Negative: 3491025 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 119.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl (%r14),%r15d _litmus_P2_5_: movl (%rsi),%edx _litmus_P2_6_: movl (%rbp),%ecx _litmus_P2_7_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%r11),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl (%r14),%ebp _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r13),%ebx Test X042+X043 Required Histogram (114 states) 13130033:>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; 5223701:>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; 19361075:>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; 37008841:>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; 13246313:>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; 614 :>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; 6518932:>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; 3592 :>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; 1000592:>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; 37693 :>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; 1160543:>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; 461416:>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; 23074695:>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; 25 :>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; 317134:>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; 190 :>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; 27503 :>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; 68276 :>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; 51954 :>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; 498309:>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; 1989 :>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; 13 :>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; 1462 :>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; 36 :>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; 460109:>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; 154129:>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; 355404:>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; 560070:>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; 17783803:>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; 118 :>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; 67433 :>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; 289 :>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; 5466 :>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; 3 :>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; 9746378:>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; 6608151:>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; 6090 :>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; 2845657:>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; 649 :>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; 37527 :>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; 8 :>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; 8095017:>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; 675331:>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; 9503984:>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; 7176113:>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; 93 :>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; 548 :>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; 126 :>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; 588510:>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; 2504206:>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; 65 :>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; 19451 :>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; 119 :>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; 221501:>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; 6070 :>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; 16031920:>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; 10115205:>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; 20747776:>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; 34 :>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; 8801269:>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; 2067 :>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; 3175 :>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; 3528 :>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; 2519 :>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; 13497 :>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; 1296 :>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; 548 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=1; y=2; 9923 :>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; 1189 :>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; 2460 :>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; 5022 :>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; 293590:>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; 317 :>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; 36261 :>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; 4211781:>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; 44546 :>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; 12899341:>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; 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=2; 448163:>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; 21389154:>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; 111869:>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; 13784537:>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; 6175706:>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; 33 :>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; 874 :>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; 1185 :>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; 19 :>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; 100568:>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; 181019:>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; 334 :>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; 1693 :>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; 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=2; 14575 :>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; 33 :>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; 297548:>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; 39782 :>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; 1286761:>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; 31997 :>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; 1556 :>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; 164384:>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; 136541:>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; 7900904:>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; 3 :>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; 14 :>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; 756787:>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; 9676597:>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; 8736797:>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; 44246222:>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; 21141744:>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; 52 :>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; 1527699:>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; 228 :>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: 397274278, Negative: 2725722 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 139.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $2,(%rax) _litmus_P3_2_: movl $1,(%r15) _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%ebx _litmus_P3_5_: movl (%r13),%ebp _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r15) _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl $1,(%rax) _litmus_P2_5_: movl (%r13),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl (%r13),%ebx _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r14),%ebp Test X043+X044 Required Histogram (187 states) 168944:>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; 213535:>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; 142775:>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; 531675:>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; 189222:>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; 44123 :>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; 413145:>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; 734138:>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; 84997 :>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; 177467:>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; 111934:>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; 230273:>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; 17068 :>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; 3189 :>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; 36146 :>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; 40955 :>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; 12254094:>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; 172525:>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; 5941 :>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; 49112 :>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; 7202959:>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; 20094 :>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; 29449 :>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; 34992 :>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; 25435820:>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; 340127:>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; 2099 :>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; 37188 :>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; 1682272:>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; 3210 :>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; 858 :>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; 1595 :>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; 5734 :>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; 72232 :>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; 2755 :>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; 497321:>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; 2440 :>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; 7373 :>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; 4719 :>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; 456310:>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; 633 :>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; 8577015:>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; 1394 :>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; 13753619:>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; 36 :>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; 314 :>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; 97 :>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; 14071 :>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; 3288 :>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; 42162 :>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; 69 :>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; 25708 :>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; 646 :>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; 6985 :>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; 72 :>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; 11938 :>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; 2915 :>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; 16572447:>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; 44 :>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; 1842518:>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; 26 :>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; 278 :>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; 3 :>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=1; 451 :>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; 119973:>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; 9641 :>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; 12109514:>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; 7997356:>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; 29601 :>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; 197 :>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; 10886296:>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; 5934077:>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; 234147:>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; 55839 :>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; 12234987:>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; 10227943:>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; 14597 :>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; 288 :>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; 1617445:>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; 1244400:>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; 7537959:>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; 9186 :>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; 14853 :>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; 4386 :>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; 1645177:>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; 88 :>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; 7606 :>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; 388 :>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; 26725237:>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; 87075 :>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; 26610 :>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; 16891 :>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; 910733:>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; 160 :>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; 2258 :>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; 645 :>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; 32 :>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; 1818 :>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; 242374:>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; 5088028:>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; 1 :>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; 154157:>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; 3164755:>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; 681 :>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; 4564307:>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; 428205:>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; 51876458:>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; 9 :>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; 15680 :>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; 766859:>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; 9 :>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; 319 :>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; 18 :>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; 672 :>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; 4 :>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; 50 :>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; 1732 :>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; 5363412:>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; 288 :>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; 1156458:>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; 8 :>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; 62 :>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; 58922 :>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; 213619:>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; 12202 :>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; 139505:>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; 9390208:>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; 4528205:>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; 7202679:>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; 12417849:>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; 1915 :>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; 51203 :>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; 167 :>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; 18651 :>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; 2494 :>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; 6355 :>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; 208 :>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; 4245 :>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; 3166437:>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; 170733:>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; 1137 :>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; 16800 :>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; 28318735:>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; 4351671:>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; 598015:>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; 754712:>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; 3226457:>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; 79813 :>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; 26 :>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; 2642 :>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; 978231:>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; 7774 :>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; 49 :>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; 1359 :>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; 4819 :>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; 242191:>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; 1276 :>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; 459246:>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; 353820:>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; 6752531:>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; 116267:>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; 22775526:>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; 152 :>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; 6725181:>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; 4 :>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; 4689323:>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; 135 :>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; 7554 :>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; 9 :>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; 18847 :>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; 5078 :>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; 201360:>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; 50 :>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; 56568 :>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; 214196:>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; 4962350:>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; 1390 :>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; 818148:>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; 907 :>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; 10308981:>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; 1 :>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; 700577:>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; 213 :>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; 8093 :>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; 5 :>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; 2699 :>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: 346608735, Negative: 53391265 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 161.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%rax) _litmus_P2_4_: movl (%r14),%ebx _litmus_P2_5_: movl (%r12),%ebp _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r13),%eax _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X044+X045 Required Histogram (93 states) 2076478:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 20279146:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 5833079:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 5209641:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 65053 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1612326:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 165982:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 70366 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1113975:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1753607:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 37530487:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 671909:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 116148:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 262746:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 14952059:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 11772 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 2243197:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1255704:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 13025946:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1429495:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 115583:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 206878:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 847169:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 110488:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 63435 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 741 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 15162252:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 1706 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 13553 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 1575 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 29403521:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 1275 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 136632:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 7638521:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 13719 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 126266:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 14558 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 397846:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1163 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 6531 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 4626366:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 10111913:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 7519045:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 4944329:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 8178172:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 26794733:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 40478591:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 10477068:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 1289 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 20845898:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 1880 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 5363 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 12255 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 22114732:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 23768 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 31213 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 8495 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 13223188:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 2919816:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 25570 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 30817 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 6615231:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 9490559:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 42202 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 37 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 271 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 119 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 5426 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 11451 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 42191 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 5713 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 2886 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 302 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 23 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1471696:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 11 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 9 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 7589405:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 153 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 2914 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 25389832:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 88 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 1956 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 11 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 381 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 550946:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 9452117:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1892546:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1114467:>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: 380603355, Negative: 19396645 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 160.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl (%r14),%r15d _litmus_P2_5_: movl (%rsi),%edx _litmus_P2_6_: movl (%rbp),%ecx _litmus_P2_7_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,(%r12) _litmus_P1_2_: movl (%r11),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X045+X046 Required Histogram (117 states) 42100497:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 430423:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 763271:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 20406 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 490170:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1844 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 779216:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 12824 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 5067477:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 87613 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 69969 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 6873 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 66962 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 921 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 113541:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 8286 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 8630977:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 108962:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1604937:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 54700 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 2378098:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 6335 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 14372704:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 335005:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 1293 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 275 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 9362531:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 15605841:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 940698:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1276763:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 5228 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 5373 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 227690:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 249579:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 2685848:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 18313062:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 340733:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 23073539:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 2121 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 2080 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 109284:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 14605857:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 3485293:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 3717519:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 4108579:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 11101250:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 20921 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 11783 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 6515626:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 15218937:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 128 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 2226 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 10352327:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 9680 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 17785181:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 16990 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 13 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 3761 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 13237804:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 15128552:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 41 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 2578 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 522 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 2370097:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 19139949:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 143 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 277451:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 24 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 86690 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 40 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 8382565:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 54514378:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 25603 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 20850 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 7816775:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 654 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 2360 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 632 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 7714 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 2345 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 72 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 60539 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 11060 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 768 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 1280 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 10023 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 430445:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 38 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 202088:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 5375098:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 28012 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 2096 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 192537:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 57721 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 4174 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 24 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 4460928:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 3187574:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 28 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 2426 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 1947443:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 250572:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 26087190:>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: 396898512, Negative: 3101488 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 156.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $2,(%rax) _litmus_P3_2_: movl $1,(%r15) _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%ebx _litmus_P3_5_: movl (%r13),%ebp _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r15) _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl $1,(%rax) _litmus_P2_5_: movl (%r13),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%r13),%eax Test X046+X047 Required Histogram (186 states) 797379:>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; 1143572:>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; 51542 :>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; 85936 :>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; 217176:>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; 149586:>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; 23418 :>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; 10128 :>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; 16510 :>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; 554213:>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; 748 :>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; 50049 :>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; 971 :>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; 35237 :>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; 43 :>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; 4181 :>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; 96766 :>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; 30403 :>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; 19365 :>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; 6342 :>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; 10849042:>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; 91281 :>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; 2372632:>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; 36437 :>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; 82 :>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; 1115 :>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; 10 :>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; 365 :>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; 125 :>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; 2670 :>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; 12 :>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; 947 :>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; 20749529:>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; 9456434:>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; 3207074:>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; 3246736:>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; 20141 :>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; 9255 :>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; 8604 :>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; 7175 :>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; 258696:>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; 3489311:>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; 94601 :>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; 1269680:>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; 27 :>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; 327 :>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; 17 :>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; 499 :>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; 20741 :>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; 781 :>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; 8326 :>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; 969 :>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; 3598484:>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; 1408 :>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; 1208391:>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; 2405 :>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; 18 :>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; 55 :>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; 95144 :>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; 121711:>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; 141337:>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; 134869:>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; 32491 :>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; 17996 :>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; 84598 :>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; 17217 :>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; 3934 :>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; 262889:>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; 2396 :>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; 13465150:>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; 563 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=1; g=1; y=2; z=1; 42398 :>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; 318 :>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; 4766788:>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; 52657 :>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; 11931 :>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; 125192:>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; 28007 :>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; 7985146:>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; 43384 :>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; 25808818:>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; 210331:>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; 270 :>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; 8855 :>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; 616 :>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; 2807395:>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; 620 :>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; 18405 :>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; 4177 :>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; 17240902:>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; 4910472:>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; 1568701:>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; 14602289:>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; 5615659:>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; 9920 :>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; 4066 :>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; 61242 :>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; 25014 :>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; 150061:>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; 2956802:>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; 544614:>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; 51554954:>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; 33 :>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; 2342 :>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; 772 :>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; 3786758:>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; 29064 :>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; 1059 :>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; 175279:>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; 17133 :>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; 5183583:>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; 2629 :>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; 27453044:>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; 76225 :>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; 1 :>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; 157 :>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; 429 :>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; 1898763:>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; f=2; g=2; y=2; z=1; 272 :>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; 1930 :>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; 6574202:>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; 10819804:>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; 10108523:>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; 3684 :>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; 9494 :>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; 2679867:>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; 2290927:>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; 3132 :>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; 4069 :>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; 606311:>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; 24178635:>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; 376 :>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; 48209 :>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; 51187 :>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; 3906530:>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; 89 :>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; 14492 :>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; 3172335:>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; 1241380:>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; 6255 :>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; 6100 :>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; 33440409:>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; 5230764:>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; 1270776:>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; 40200 :>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; 68534 :>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; 1690665:>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; 89 :>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; 7257 :>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; 194786:>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; 6162220:>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; 266 :>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; 26860 :>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; 1630 :>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; 9944 :>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; 700 :>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; 3059 :>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; 1951 :>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; 2667 :>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; 657 :>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; 655 :>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; 609 :>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; 101565:>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; 181 :>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; 4273179:>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; 216 :>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; 33269 :>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; 64 :>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; 1769258:>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; 7806 :>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; 6417 :>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; 5159 :>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; 7142 :>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; 1166753:>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; 27011 :>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; 3055976:>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; 51008 :>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; 539 :>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; 39774 :>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; 316 :>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; 3353044:>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; 1965 :>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; 99725 :>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; 2003 :>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; 14639590:>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: 373119661, Negative: 26880339 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 176.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r12),%eax Test X047+X048 Required Histogram (62 states) 7228134:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 18172299:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 747273:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 711366:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 144638:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 104618:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 34998 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1384 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 8597134:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 885075:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 29899534:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 387864:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 243242:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1066 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 25163510:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1170 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 2755197:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 55022365:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 190856:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 195298:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 194392:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 19626432:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 30951 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1730 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1685151:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 237081:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 4831663:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 61424 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 312536:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2660 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 28863731:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2552 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 9764682:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 26879146:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 567251:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 403517:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 5416613:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 14271473:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 611071:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 311465:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 4996792:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 326031:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 7060231:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 105401:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 6000135:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 757159:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 59484789:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 218844:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 3231 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 15166299:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 6 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 55 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 68169 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 32985262:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 5612 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 945 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 18 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 11 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 80305 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 2522 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 8174090:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1551 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 352509614, Negative: 47490386 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 125.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r12),%eax _litmus_P1_3_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl (%r13),%eax _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl (%r14),%edx Test X048+X049 Required Histogram (32 states) 121863:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 1434748:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 5020801:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 82450848:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 48996 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 40229 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 970888:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2797394:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 384018:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 521191:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 14318601:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 12924973:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 104846418:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 347915:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 40914322:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 9084973:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 139364:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 77836620:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 9653 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 84601946:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 46585 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 322426:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 637 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 68950 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 289304:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 500230:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 74 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 1867 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 59558672:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 394265:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 84 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 1145 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; No Witnesses Positive: 477174239, Negative: 22825761 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 87.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl (%r11),%eax _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r15),%r10d _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl (%r12),%eax _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: movl (%r15),%r10d _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl (%r14),%r10d Test X049+X050 Required Histogram (125 states) 5441 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1447 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5262269:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5345072:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 6707 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 547 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 8810334:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 4821002:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2799 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 138 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 363911:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 38667 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 11378 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 209 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 7445925:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 435473:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 141776:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2509 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3437386:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1036924:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 52737 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 605 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1070313:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 195600:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 13692241:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4752 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5548029:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 154332:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 10609432:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2080 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9945452:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 144176:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 12366 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 954176:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1409928:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 18273673:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 595 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 304 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 378013:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 157341:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 124 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1450 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 158 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 95 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 7754 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 123 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 626363:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 17424067:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 11865663:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 37412174:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 17022 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2346 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 665986:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 122023:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 31173415:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 33192 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6573207:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 918719:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1539690:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 411 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2526690:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 18904 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 100504:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 180109:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 56259 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 337315:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 13450044:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 10432270:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 11999428:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 25183263:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 26965 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 10149 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6434 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4304 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 25819124:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 743994:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 9492541:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1778891:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 295586:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 25452 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 20026 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 18611 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 191139:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 11840 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 19471 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 11803 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10311932:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 12001 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3823 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1150 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 18804002:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 13868 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 19550 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3230 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 65828 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 13355488:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 14132 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 13411218:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 11229 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 15732 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6573 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 26268 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 170 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 167 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 22 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 438604:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 16899072:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 18058 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2704650:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 18181 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7222 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1834 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4241 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 11642364:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 25089 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 89 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 96 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1242244:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 584 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 73 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 44 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; No Witnesses Positive: 391444905, Negative: 8555095 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 110.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P3_1_: movl (%r13),%ebx _litmus_P3_2_: movl $1,(%r14) _litmus_P3_3_: movl (%r11),%ebp _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl (%r11),%ebx _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl (%r14),%ebp Test X050+X051 Required Histogram (231 states) 12101 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 11405 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 31349 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 117366:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 12683 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 708 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 146406:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 129223:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 51207 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 11371 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 15140249:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 11019611:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 19287 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 207 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 13792727:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 8460043:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 4797 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 7961 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 565 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 40199 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 42 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 64 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 53790 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 26728 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5488630:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 6133879:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 530 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 29 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4559 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 10441 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 8616409:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 44903 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 7939 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 79553 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 4347736:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 3503 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 7562 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2800 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 8023921:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 13642 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 15974 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 8723 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2742967:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 481 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 6644 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 969 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 7817348:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 91026 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 669 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 67966 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 11268 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 143 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 19210228:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 96842 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 9282 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 34548 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 28238 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 69 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 12 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 50 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 20137 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 39849 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 10802 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 67258 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 3364534:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1464871:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4969251:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 9836286:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 7931 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1702 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2194 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 9743 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1338 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 105 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 7318 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 9311 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1280 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 6316 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 13571 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 39 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 23 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1573 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4126 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 13 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 7979 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 10 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 15263084:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 239151:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 10965 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 81639 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 46745670:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6823104:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2726680:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4767676:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1014854:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 19737 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 366 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2186 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 181908:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 263 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 381 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 416 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 9705557:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 188192:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 39794 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 12665 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 408 :>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; 44 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2617980:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 57387 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 19 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6509 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 655 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 34 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 163 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 9369 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1587 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 94622 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 91 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 278 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 4345 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 101438:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 41 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 3540 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 281631:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 7473397:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 59 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 215177:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 5097730:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 189 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2139043:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 107 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 9561276:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 91 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 525 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2267861:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 277532:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 45029121:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 8517 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 28 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 4094 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 20 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 24027 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 198 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 313 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 816 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 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; 1173 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 8345219:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 87 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4216753:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 443 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4304973:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 80 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1704040:>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=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2677 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 81162 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 877 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 228276:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 422184:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 5059100:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 129845:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 21126681:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 61 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 516 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 146 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 10303 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 15 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 256 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 6287 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 54 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2604501:>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; 6463028:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 41 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 123 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 48 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 236017:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1031979:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 21 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2407 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 155303:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 71 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 127706:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 244396:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 6767188:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2244 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4887898:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 246 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 425 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 20 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1341 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 27558518:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 8106195:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 201 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 127 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 86 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 948224:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 248497:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 12 :>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: 380834650, Negative: 19165350 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 124.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl (%r12),%ebx _litmus_P2_3_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl $1,(%r13) Test X051+X052 Required Histogram (128 states) 1465 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 1790 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 44044 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 6173627:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 1516872:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 366827:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 3666849:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 6726104:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 2510 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 12166 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 56 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 78 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 5568397:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 291376:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1771548:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 325187:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 9677 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 3202 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 100693:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 14281429:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 8600 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 369 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 33881 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 48627 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 41486 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 37512 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 6110 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 204 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 220180:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 34016 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 33402 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 545 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 9118 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 31758 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 285784:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 32713946:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 1282554:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 1268104:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 1287157:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 10588130:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 1431072:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 10613268:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 1049 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 7838 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 39606252:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 28908133:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1016145:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1643572:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 13343 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 24443 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 273491:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 15553199:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 6624 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 662 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 39823 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 37457 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 11509857:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 9970700:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 8116 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 6726 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 23836379:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 2705657:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 39210 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1861 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 2510 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 1048 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 156158:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 11725562:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 3402333:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 258509:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 13846761:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 5563253:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1538 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 1981 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 100 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 50 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 7683137:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 75971 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 2896115:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 139867:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1832092:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1991 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 26475047:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 17250849:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 3275381:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 267 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 19349794:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 60775 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 6347501:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 5582 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1123509:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 121 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 34635298:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 10677 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 6661965:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 265 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 72 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 36 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 15808 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 332727:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 26006 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 2013 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 80489 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 49951 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 152 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 184 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 19 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 15 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 210366:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 2462 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 105509:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 1953 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 796 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 49 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 35247 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 231156:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 1440 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 8 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 8527 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 2058 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 3420 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 644 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 2089 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 20 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 39742 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 369 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 10399 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 10 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; No Witnesses Positive: 382876981, Negative: 17123019 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 126.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl (%r11),%ebx _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%rax) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X052+X053 Required Histogram (128 states) 441680:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 756911:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 905763:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 281731:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 10393 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 283 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 1795849:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 28287 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 40156 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 5150588:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 34655 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 53104 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 269 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 5 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 25183 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 373 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 7814829:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 9597192:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1283497:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 417101:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 23255431:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 112703:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 50802919:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 162036:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 641043:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 37974320:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 77203 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 42245 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 19727630:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1879 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 4991060:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1003 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 230 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 151 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 10257 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 7209 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 9 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 65291 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1014 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 26976 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 1999466:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 33399 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 33504 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 93 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 6 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 52463 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 1101 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 970 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 608 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 2529 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 2851 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 344176:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 16 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 12084275:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 720 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 161300:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 8885621:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 18757 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 9851 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 7134610:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 870 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 13154543:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1880 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 2937970:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 9667992:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 10997751:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 7372195:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 95236 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 4197 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 12520030:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 296999:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 64388 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 14330620:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 71919 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 71257 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 232 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 37 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 41852 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 398 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 185707:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 427495:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 106102:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 96187 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 19291 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 4010 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 449499:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 28769 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 3844 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 478067:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 1942 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 2401 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 389 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 55 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1078 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 135 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 3293 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 5532 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 14287725:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 8286339:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 81 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 29813795:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 327425:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 112172:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 29713134:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 14568127:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 20474592:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 247 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 53 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 11311156:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 205745:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 14 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 24 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 512 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 611 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 25 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 5708 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 187 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 1442 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 134292:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 1392 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 2362 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 279 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 18 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 3344 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 251 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; No Witnesses Positive: 395697592, Negative: 4302408 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 126.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $2,(%r11) _litmus_P0_3_: movl (%r12),%eax Test X053+X054 Required Histogram (64 states) 4120944:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 2775272:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 5399864:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 5714571:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 2385246:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1867267:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 55304 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 7541 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 5769341:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 31169107:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 3353708:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 14900267:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 2262311:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 10572999:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 23280 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 56065 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 14140130:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 432728:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 35777594:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 976025:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 62530407:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 421963:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 21348409:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 841 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 136950:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 64749 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 147318:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 105436:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 104005:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 56404 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 704 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 70 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 13136 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 20340 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 1358248:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 1511543:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 94243 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 116085:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 82158 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 53491 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 25079 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 23948958:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 1959195:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 53980675:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 124961:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 31284711:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 100610:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 12023164:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 778 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 29 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 6141398:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 193150:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 16841658:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 1108 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 23380035:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1625 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 5 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 10 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 32036 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 32359 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 829 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 152 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 1222 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; 189 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; No Witnesses Positive: 385944493, Negative: 14055507 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 115.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl (%r11),%eax _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl $1,(%r12) Test X054+X055 Required Histogram (64 states) 10339586:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 11207400:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 2189002:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 921144:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 275289:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 69784 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 95259 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 137 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 15122142:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 30427731:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 236247:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 79527 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 33999232:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 18177729:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 885 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 118 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 35709 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 13981621:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 27726 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 1835158:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 222581:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 6214145:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 108722:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 518209:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 2707 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 16933833:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 135 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 222768:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 14259665:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 61053891:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 891 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 198942:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 5179651:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 5331185:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 51497618:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 3413395:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 231883:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 20129 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 17652539:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 202 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 58022 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 59400 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 68060 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 23674 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 6825 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 905 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 206 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 30 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 49340 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 11048666:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 17686680:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 13360786:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 230264:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 3080894:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 28039780:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 3840412:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 50 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 151200:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 43 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 78339 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 2503 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 76942 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 213 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 52249 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; No Witnesses Positive: 374469256, Negative: 25530744 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 118.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl $1,(%r13) _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X055+X056 Required Histogram (126 states) 310322:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 3946915:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 383553:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 458768:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 3636 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 73299 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 19086 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 5849 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1323952:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 13495620:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 46528201:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 3167658:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 5734 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 103378:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 10591747:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 9290 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 270088:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 395719:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 1369009:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 273414:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 7261 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 19091 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 112172:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 14415 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 327992:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 203228:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 25834894:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 444487:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 1977 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 13873 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 27911886:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 6828 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 650885:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 14735431:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 298304:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 489072:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 4246 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 192849:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 42577 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 10392 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 12866 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 328776:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 18603 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 51368 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 39 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 9355 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 780 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 153 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 3202607:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 12123662:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 11207160:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 5441980:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 6455390:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 28369123:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 40116932:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 7978509:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 9387 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 19695 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 104706:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 60217 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 71 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 655 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 3735 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 536 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 157 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 1598797:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 12 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 4 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 2205 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 2240328:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 2540 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 695 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 21278 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 35509042:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 5370409:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 5834 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 19712 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 15415083:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 7416426:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 8789 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 28 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 2189 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 8 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=2; 1643 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 7376 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 5050 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1157 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 233 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 7779 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 9259 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=2; 18 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=2; 453 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 4991 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 2525629:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 576 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 669 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 14535868:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 64 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 31 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 3524 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 28076551:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 3625 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 1000 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 50 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 654850:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 117 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 10 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 131 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 332706:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 457 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 90 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 104 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 14430 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 20 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 7 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 1058485:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 13660788:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 1427630:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 477030:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 3 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=2; 114 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=2; 1 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=2; 34 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 280 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 185 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 43 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; No Witnesses Positive: 385663752, Negative: 14336248 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 140.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl (%r11),%ebx _litmus_P2_2_: movl $2,(%r13) _litmus_P2_3_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $2,(%r10) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%rax) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X056+X057 Required Histogram (126 states) 5223198:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 80922 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 56 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 4011 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 42159020:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 67994 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 32183 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 29576 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 1493087:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 36300 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 14 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 4321 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 7678752:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 9963 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 7211 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 9235 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 944848:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 584755:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 1135 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 243203:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 13894902:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 913066:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 697787:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 942631:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 5 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 1124 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 829 :>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; 21 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=1; 5 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 403 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 17323645:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 138847:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 385 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 32910 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 536449:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 2974 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 502 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 1469 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 25219712:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 24072329:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 201 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 771149:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 150543:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 2088 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 249 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 2635 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 12093016:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 14019283:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 18735 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 3498580:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 506447:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 131395:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 16579 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 204149:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 251 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 11268218:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 539751:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 2 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=2; y=1; 24 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=1; 5 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 402 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 3685 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 16945 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 102 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 17283 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 101636:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 29233 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 19317062:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 8286269:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 2200 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 15062 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 61 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 64924 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 14903 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 5976 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 6138093:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 20394087:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 121134:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 464786:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 7150 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 1834769:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 3340514:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 618809:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 18788194:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 47989211:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 6 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 2057 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 1 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 39793 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 37 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 86 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 70647 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 8269607:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 1759 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 22801 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 155 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 60937 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 190 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 378 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 162 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 967 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 4837 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 6526015:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 141 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 17647693:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 77 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 371 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 93 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 5988 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 223716:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 3487585:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 57359 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 11724568:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 29845 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 26397 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 9897 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 264757:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 174 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 6550980:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 2 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 31781177:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 32 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=2; 3 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; 3137 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; No Witnesses Positive: 399466132, Negative: 533868 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 145.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P1_1_: movl (%rbp),%r13d _litmus_P1_2_: movl $1,(%rsi) _litmus_P1_3_: movl (%rsi),%r15d _litmus_P1_4_: mfence _litmus_P1_5_: movl (%rcx),%eax _litmus_P1_6_: movl (%r12),%r14d _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl (%r12),%r13d _litmus_P0_3_: movl (%rcx),%r15d _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rbp),%r14d _litmus_P0_6_: movl (%rsi),%eax Test X000+X000-F Required Histogram (6 states) 238800889:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 84410407:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 252937171:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 23356383:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 12305364:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 188189786:>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: 800000000, 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 104.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P2_1_: movl (%rbp),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl (%r14),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r15),%edx _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r8),%edi _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl (%r15),%eax _litmus_P0_3_: movl (%r8),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r14),%edx _litmus_P0_6_: movl (%r13),%edi Test X000+X001-F Required Histogram (17 states) 19480416:>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; 3413818:>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; 1458527:>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; 29950697:>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; 128 :>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; 39505003:>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; 126684849:>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; 2311689:>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; 109006403:>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; 367879:>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; 3866618:>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; 559104:>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; 9183022:>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; 90349790:>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; 14703669:>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; 4074035:>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; 45084353:>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: 500000000, 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 108.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r14),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r15),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r8),%edi _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl (%r14),%eax _litmus_P1_3_: movl $1,(%r9) _litmus_P1_4_: movl (%r9),%ecx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r13),%edi _litmus_P1_7_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r8),%ecx _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r13),%edi _litmus_P0_5_: movl (%r15),%eax _litmus_P0_6_: movl (%r14),%edx Test X001+X002-F Required Histogram (23 states) 3219278:>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; 11100221:>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; 77460155:>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; 1685662:>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; 827 :>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; 4755119:>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; 279867:>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; 17106989:>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; 16151089:>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; 98 :>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; 806604:>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; 49013894:>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; 29554007:>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; 75060014:>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; 390467:>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; 8379746:>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; 1460904:>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; 12210353:>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; 1831088:>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; 109268440:>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; 33068995:>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; 4574281:>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; 42621902:>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: 500000000, 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 130.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r14),%edi _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl (%r15),%edx _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%r12d _litmus_P1_5_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%r14) _litmus_P0_3_: movl (%r14),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r15),%edx _litmus_P0_6_: movl (%r9),%ecx _litmus_P0_7_: movl (%r13),%edi Test X002+X003-F Required Histogram (24 states) 1719557:>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; 5216643:>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; 98880281:>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; 20078431:>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; 603 :>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; 8097110:>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; 15220829:>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; 1752105:>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; 12403591:>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; 127 :>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; 1581 :>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; 17965547:>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; 23854991:>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; 57144868:>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; 124699:>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; 17936911:>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; 6878895:>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; 11774087:>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; 432 :>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; 3955080:>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; 101762858:>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; 19889177:>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; 3786162:>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; 71555435:>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: 500000000, 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 131.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: movl (%r9),%r8d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl (%rsi),%r15d _litmus_P2_3_: mfence _litmus_P2_4_: movl (%rcx),%eax _litmus_P2_5_: movl (%rbp),%r13d _litmus_P2_6_: movl (%r12),%r14d _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rbp),%eax _litmus_P1_4_: movl (%r12),%r14d _litmus_P1_5_: movl (%r13),%r15d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r15) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl (%r14),%r10d Test X003+X004-F Required Histogram (58 states) 26544 :>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; 56575 :>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; 924479:>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; 23 :>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; 44325 :>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; 1 :>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; 1280678:>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; 969834:>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; 130134:>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; 531311:>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; 87 :>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; 7 :>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; 674237:>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; 185208:>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; 23375550:>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; 18 :>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; 1541931:>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; 6286145:>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; 555644:>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; 1255721:>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; 14914670:>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; 4519657:>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; 63358 :>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; 8189635:>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; 64143009:>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; 68491 :>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; 1743495:>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; 513020:>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; 2725605:>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; 1435990:>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; 52573296:>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; 50 :>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; 1027 :>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; 6071851:>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; 3404500:>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; 4784197:>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; 9687240:>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; 52087 :>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; 2396537:>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; 238398:>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; 4888689:>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; 21 :>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; 4 :>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; 164877:>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; 37 :>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; 3128507:>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; 10115967:>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; 53899316:>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; 333747:>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; 2384039:>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; 13706674:>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; 6413003:>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; 25593 :>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; 4525396:>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; 55530477:>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; 6347153:>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; 1581147:>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; 21590788:>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: 400000000, 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 127.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $1,(%rax) _litmus_P3_2_: movl (%r14),%ebp _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r15),%r12d _litmus_P3_5_: movl (%rax),%ecx _litmus_P3_6_: movl (%r13),%esi _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl (%r15),%ecx _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%ebp _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%r12d _litmus_P2_6_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X004+X005-F Required Histogram (75 states) 643079:>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; 2710595:>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; 14973 :>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; 10820427:>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; 504277:>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; 45004039:>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; 67080 :>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; 255 :>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; 475807:>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; 410758:>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; 8601022:>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; 3206698:>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; 537772:>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; 13101392:>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; 6737195:>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; 270763:>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; 3757150:>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; 16598438:>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; 8262 :>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; 3037069:>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; 60186 :>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; 6440718:>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; 6952 :>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; 34255 :>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; 133735:>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; 7 :>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; 1606607:>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; 9958037:>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; 11971697:>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; 1825349:>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; 64992429:>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; 3774496:>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; 157901:>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; 1017261:>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; 7920506:>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; 684640:>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; 3142473:>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; 1652992:>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; 11029788:>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; 3777190:>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; 5391 :>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; 5026630:>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; 2407857:>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; 3493478:>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; 12084 :>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; 8893291:>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; 38175835:>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; 4778840:>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; 870029:>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; 16766361:>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; 5085 :>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; 4908421:>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; 230445:>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; 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; 3:ECX=1; 3:EDX=0; c=2; 252214:>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; 17427973:>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; 4606 :>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; 614609:>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; 160406:>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; 235899:>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; 315225:>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; 1470124:>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; 193337:>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; 64960 :>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; 1467573:>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; 1 :>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; 7104 :>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; 2422460:>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; 8024766:>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; 161475:>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; 1298735:>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; 1358298:>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; 32072299:>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; 473 :>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; 179445:>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: 400000000, 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 145.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r15),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%rax),%esi _litmus_P2_5_: movl (%r13),%ebp _litmus_P2_6_: movl (%r14),%r12d _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: movl $1,(%r14) _litmus_P0_3_: movl (%r12),%ebp _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r13),%ebx Test X005+X006-F Required Histogram (84 states) 1879 :>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; 1740150:>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; 46 :>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; 6883 :>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; 7887129:>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; 7 :>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; 257 :>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; 123783:>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; 3961 :>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; 8739610:>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; 15299 :>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; 4393358:>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; 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=0; b=1; x=1; 3878036:>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; 54418 :>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; 56044481:>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; 33701 :>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; 46414037:>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; 8 :>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; 1034 :>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; 2349396:>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; 2909 :>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; 211785:>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; 12941 :>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; 473265:>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; 21930 :>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; 36415 :>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; 16356710:>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; 122945:>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; 8716251:>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; 84788 :>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; 6392420:>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; 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=1; b=1; x=1; 1051572:>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; 18923 :>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; 8006747:>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; 518085:>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; 330678:>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; 42244 :>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; 265502:>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; 1925342:>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; 13213381:>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; 20 :>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; 4052366:>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; 759074:>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; 32279 :>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; 141262:>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; 5316627:>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; 1 :>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; 3985951:>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; 11199738:>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; 50058295:>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; 1321376:>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; 2 :>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; 118887:>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; 75070 :>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; 11 :>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; 3959636:>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; 5 :>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; 655082:>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; 7 :>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; 10461 :>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; 5612896:>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; 87 :>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; 7605764:>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; 743436:>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; 106 :>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; 12330326:>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; 1125101:>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; 8 :>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; 1729370:>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; 255729:>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; 357 :>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; 4073454:>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; 35 :>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; 3840307:>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; 3 :>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; 15937960:>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; 21 :>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; 10545 :>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; 70093551:>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; 43 :>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; 5462439:>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: 400000000, 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 143.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r10) _litmus_P3_1_: movl (%r10),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r11),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%r12d _litmus_P2_5_: movl (%r15),%ecx _litmus_P2_6_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $2,(%r14) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%ebp _litmus_P1_4_: movl (%r14),%eax _litmus_P1_5_: movl (%r15),%ebx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X006+X007-F Required Histogram (126 states) 14 :>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; 131 :>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; 38 :>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; 10 :>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; 7 :>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; 663 :>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; 10723 :>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; 246965:>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; 67996 :>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=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; 13 :>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; 155509:>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; 23748 :>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; 103036:>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; 4037 :>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; 494087:>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; 185 :>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; 497732:>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; 174550:>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; 254522:>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; 19832492:>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; 380344:>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; 1888246:>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; 5756799:>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; 2055970:>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; 33475006:>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; 3195013:>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; 17 :>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; c=1; x=1; 135 :>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; 1845 :>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; 437 :>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; 1 :>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; 277 :>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; 56 :>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; 190 :>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; 39 :>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; 473 :>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; 160 :>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; 38 :>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; 104 :>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; 5483 :>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; 316 :>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; 304 :>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; 110 :>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; 70 :>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; 1197 :>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; 271 :>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; 164227:>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; 1743472:>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; 22653584:>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; 8475741:>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; 53 :>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; 999 :>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; 1724079:>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; 431374:>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; 2339316:>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; 200038:>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; 3870736:>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; 70 :>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; 1981187:>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; 1053522:>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; 73672 :>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; 32564665:>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; 426803:>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; 2483447:>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; 473458:>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; 821417:>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; 10392895:>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; 2489372:>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=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; 56998 :>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; 1133535:>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; 626 :>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; 40 :>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; 120234:>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; 73106 :>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; 11098 :>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; 121 :>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; 8064 :>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; 148974:>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; 4045319:>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; 2776698:>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; 9 :>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; 128 :>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; 1186007:>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; 568283:>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; 210816:>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; 12652 :>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; 639346:>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; 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=2; x=1; 729932:>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; 285262:>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; 381928:>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; 30596714:>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; 262598:>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; 1300706:>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; 908071:>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; 1498396:>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; 3993490:>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; 1383177:>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; 39 :>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; 567 :>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; 1370 :>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; 246136:>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; 2422845:>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; 11516 :>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; 6024642:>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; 37386671:>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; 1425 :>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; 711 :>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; 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=2; 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=2; 665 :>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; 12570038:>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; 5253388:>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; 12418 :>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; 38450 :>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; 3006571:>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; 435507:>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; 15783360:>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; 11421660:>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; 6888723:>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; 16003942:>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; 4047 :>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; 14001456:>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; 53158004:>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: 400000000, 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 139.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $1,(%rax) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r14),%ebp _litmus_P3_4_: movl (%r15),%r12d _litmus_P3_5_: movl (%rax),%ecx _litmus_P3_6_: movl (%r13),%esi _litmus_P2_0_: movl $2,(%r15) _litmus_P2_1_: movl (%r15),%ecx _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%ebp _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%r12d _litmus_P2_6_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r13),%eax Test X007+X008-F Required Histogram (129 states) 5931 :>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; 1113 :>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; 14 :>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; 70 :>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; 36759 :>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; 45591 :>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; 1449671:>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; 4111945:>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; 558 :>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; 8058 :>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; 2278534:>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; 33013690:>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; 383004:>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; 144100:>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; 433 :>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; 2930 :>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; 1451992:>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; 2700755:>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; 131203:>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; 5432651:>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; 50112 :>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; 903011:>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; 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=1; d=1; y=1; 197491:>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; 1 :>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; 41 :>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; 13304 :>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; 750438:>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; 14867 :>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; 1943085:>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; 41553 :>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; 1621490:>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; 6397 :>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; 5 :>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; 168195:>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; 95101 :>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; 17433144:>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; 86200 :>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; 3124984:>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; 1 :>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; 124145:>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; 18 :>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; 13924 :>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; 1328105:>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; 7 :>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; 51 :>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; 574277:>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; 2186 :>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; 6971085:>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; 1144 :>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; 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=0; c=2; d=1; y=1; 129738:>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; 1973296:>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; 44671 :>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; 1260 :>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; 337350:>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; 48 :>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; 230593:>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; 6609302:>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; 1777988:>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; 251 :>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; 148892:>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; 43 :>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; 351238:>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; 16003704:>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; 610016:>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; 1830 :>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; 669013:>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; 380 :>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; 800712:>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; 109340:>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; 4226 :>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; 8095 :>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; 257 :>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; 8329519:>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; 200910:>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; 11728792:>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; 26980017:>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; 7315135:>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; 606217:>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; 162 :>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; 55 :>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; 1958357:>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; 857072:>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; 3251 :>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; 257 :>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; 29964813:>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; 1912850:>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; 92 :>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; 5187722:>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; 1694 :>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; 2257 :>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; 389638:>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; 48 :>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; 35498 :>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; 22730 :>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; 129654:>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; 528660:>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; 17427562:>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; 586493:>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; 3377481:>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; 4472 :>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; 384 :>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; 159678:>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; 12 :>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; 4483 :>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; 785 :>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; 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=1; d=1; y=2; 230433:>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; 1617821:>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; 25231877:>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; 14477249:>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; 1865894:>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; 7662919:>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; 164801:>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; 2523846:>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; 1840469:>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; 21611642:>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; 25743269:>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; 1602851:>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; 420657:>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; 159899:>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; 14539070:>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; 2042310:>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; 5750616:>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; 12754765:>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; 25567168:>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: 400000000, 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 157.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r10),%r9d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: movl $1,(%r12) _litmus_P1_4_: movl (%r12),%ebx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r13),%ebp _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r14) _litmus_P0_3_: movl (%r12),%ebp _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r13),%ebx Test X008+X009-F Required Histogram (54 states) 424 :>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=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; 4924685:>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; 7211 :>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; 16849272:>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; 1902 :>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; 173 :>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; 8497 :>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; 2321409:>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; 924988:>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; 40144943:>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; 417 :>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; 1 :>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; 742 :>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; 2651778:>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; 162068:>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; 45288724:>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; 6 :>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; 17 :>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; 695 :>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; 9479 :>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; 82861 :>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; 3465269:>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; 900977:>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; 738253:>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; 1016 :>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; 868 :>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; 13762872:>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; 9187911:>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; 476 :>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; 57 :>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; 31153228:>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; 12299675:>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; 6828 :>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; 1039 :>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; 39930996:>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; 2998278:>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; 2647590:>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; 96458 :>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; 38414499:>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; 1756896:>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; 27635570:>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; 15243896:>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; 3829 :>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; 1823718:>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; 37251888:>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; 107861:>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; 8184997:>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; 2328716:>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; 1543254:>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; 1038628:>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; 494791:>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; 27335125:>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; 6264229:>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: 400000000, 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 135.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P2_1_: movl (%r12),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r14),%r12d _litmus_P1_4_: movl (%r15),%edx _litmus_P1_5_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%r15) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: movl (%r13),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%rdi),%ecx _litmus_P0_6_: mfence _litmus_P0_7_: movl (%rbp),%ebx _litmus_P0_8_: movl (%r14),%edx Test X009+X010-F Required Histogram (17 states) 11994733:>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; 1779841:>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; 919680:>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; 9359695:>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; 227673:>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; 5267751:>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; 141931249:>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; 8496514:>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; 127674299:>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; 1549526:>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; 6866865:>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; 8310 :>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; 675279:>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; 106591485:>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; 19067075:>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; 639329:>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; 56950696:>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: 500000000, 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 115.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%edi _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: movl (%rax),%ecx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rdx),%r12d _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r14),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rax),%edx _litmus_P0_6_: movl (%r15),%edi Test X010+X011-F Required Histogram (24 states) 2182113:>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; 96030496:>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; 2291886:>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; 664 :>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; 5807274:>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; 2266038:>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; 3429 :>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; 1818 :>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; 36379584:>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; 2409278:>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; 9105926:>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; 548 :>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; 690447:>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; 81642268:>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; 23945244:>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; 12596066:>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; 51727268:>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; 8157934:>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; 7578379:>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; 31345196:>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; 30897448:>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; 68539466:>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; 645845:>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; 25755385:>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: 500000000, 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 142.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl (%r13),%edx _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $2,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%edi _litmus_P1_5_: movl (%r15),%edx _litmus_P1_6_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl (%r13),%edx _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r14),%eax Test X011+X012-F Required Histogram (17 states) 26942845:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 32855541:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 105 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 1065711:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 128386516:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 85495775:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 4966818:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 3870 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5599302:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 676570:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 31939040:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 16316059:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 14365868:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 3203859:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 3593305:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 118395755:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 26193061:>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: 500000000, 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 115.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r10),%r8d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r9),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl (%r12),%r14d _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%r15d _litmus_P1_4_: movl $1,(%rbx) _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r12),%r14d _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%rbx),%r15d _litmus_P0_5_: mfence _litmus_P0_6_: movl (%rbp),%eax Test X012+X013-F Required Histogram (45 states) 6244615:>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; 90015 :>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; 1423892:>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; 2 :>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; 2403258:>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; 1390913:>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; 10 :>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; 22217939:>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; 33996180:>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; 23991 :>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; 22559688:>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; 2928 :>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; 17649 :>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; 145073:>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; 1820601:>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; 24502 :>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; 8119466:>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; 2050577:>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; 74857 :>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; 11548559:>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; 17009494:>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; 20369 :>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; 25277128:>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; 2309 :>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; 10444 :>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; 743511:>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; 4150048:>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; 18985 :>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; 6254945:>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; 30991297:>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; 133125:>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; 53230224:>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; 64338132:>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; 191806:>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; 53416068:>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; 28177 :>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; 109233:>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; 162348:>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; 1392370:>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; 205990:>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; 14831168:>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; 3627338:>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; 619868:>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; 5329324:>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; 3751584:>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: 400000000, 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 119.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl (%r15),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%ebx _litmus_P3_4_: movl $1,(%r13) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r14),%ebp _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl $1,(%r13) _litmus_P2_4_: movl (%r13),%ebx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r12),%ebp _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl (%r13),%ebp _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r12) _litmus_P1_4_: mfence _litmus_P1_5_: movl (%r14),%ebx _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $2,(%r13) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r15),%eax _litmus_P0_4_: movl (%r13),%ebx _litmus_P0_5_: movl (%r14),%ebp Test X013+X014-F Required Histogram (193 states) 180 :>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; 7239 :>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; 2799 :>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; 3116 :>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; 113 :>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; 87470 :>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; 537091:>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; 2729783:>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; 258292:>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; 9 :>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; 3317 :>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; 206 :>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; 953 :>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; 2 :>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; 458 :>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; 98 :>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; 192 :>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; 4522 :>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; 908838:>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; 109231:>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; 386938:>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; 1 :>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=0; 3:ECX=0; c=1; 377 :>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; 988 :>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; 434 :>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; 584110:>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; 34367094:>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; 6816131:>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; 11338155:>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; 21990 :>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; 28 :>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; 191 :>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; 2866 :>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; 152 :>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; 418026:>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; 13 :>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; 452 :>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; 2209 :>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; 285562:>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; 2666 :>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; 31 :>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; 375 :>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; 1752 :>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; 94 :>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; 1 :>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; 20 :>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; 2557 :>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; 31531 :>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; 400304:>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; 61987 :>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; 2153 :>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; 18610 :>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; 5467 :>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; 16580 :>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; 42309 :>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; 153757:>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; 4125870:>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; 604154:>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; 30094 :>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; 172467:>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; 414386:>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; 169890:>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; 28449 :>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; 158435:>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; 17712477:>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; 418215:>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; 186786:>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; 1294246:>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; 3531760:>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; 847090:>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; 300 :>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; 221 :>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; 230 :>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; 25100 :>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; 2625874:>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; 312268:>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; 437795:>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; 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=0; 3:ECX=1; c=1; 135 :>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; 1551 :>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; 265 :>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; 67774 :>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; 1876532:>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; 1158705:>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; 1078726:>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; 86 :>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; 4 :>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; 45 :>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; 153 :>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; 181546:>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; 780 :>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; 39494 :>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; 104 :>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; 7 :>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; 20 :>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; 255 :>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; 5 :>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; 25 :>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; 26 :>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=0; 3:ECX=1; c=1; 5258 :>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; 2085 :>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; 3983 :>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; 29418 :>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; 6802178:>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; 379873:>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; 2418639:>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; 189662:>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; 11512487:>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; 10364529:>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; 12043795:>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; 638304:>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; 18584147:>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; 4257660:>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; 1824371:>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; 197 :>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; 23437 :>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; 3543558:>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; 90074 :>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; 10855 :>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; 190885:>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; 329822:>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; 227325:>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; 4582 :>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; 36872 :>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; 195863:>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; 55779 :>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; 5 :>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; 27 :>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; 139906:>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; 5999203:>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; 14986915:>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; 2999234:>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; 29179 :>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; 3598878:>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; 54644 :>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; 340751:>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; 25762 :>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; 130410:>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; 1475618:>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; 435474:>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; 165 :>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; 2527 :>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; 14 :>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; 13 :>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; 227233:>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; 2622211:>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; 43412802:>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; 3285018:>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; 209187:>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; 2629489:>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; 645052:>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; 2050151:>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; 1636 :>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; 76223 :>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; 494 :>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; 5238 :>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; 1515 :>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; 8475765:>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; 295 :>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; 16538538:>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; 45609 :>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; 17349 :>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; 17118 :>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; 8535 :>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; 6514764:>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; 6043067:>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; 443093:>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; 517425:>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; 389 :>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; 1457116:>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; 27 :>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; 293401:>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; 16 :>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; 36090 :>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; 871 :>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; 1246405:>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; 6727 :>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; 4203147:>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; 6397 :>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; 7758586:>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; 3506616:>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; 2283380:>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; 2837 :>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; 1875 :>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; 6966878:>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; 380362:>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; 18693279:>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; 3526710:>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; 32756817:>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; 7028005:>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; 10844184:>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; 4105541:>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: 400000000, 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 151.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%ebx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r12),%ebp _litmus_P2_5_: movl (%r15),%eax _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $2,(%rax) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rax),%esi _litmus_P1_4_: movl $1,(%r14) _litmus_P1_5_: movl (%r14),%ebp _litmus_P1_6_: movl (%r15),%r12d _litmus_P1_7_: movl (%rcx),%edi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r13) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r12),%eax Test X014+X015-F Required Histogram (71 states) 1016607:>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; 20389 :>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; 1030679:>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; 612334:>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; 307588:>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; 3514276:>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; 5290 :>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; 53221 :>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; 8 :>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; 2535 :>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; 1501044:>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; 11494715:>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; 233066:>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; 6265721:>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; 177918:>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; 1308 :>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; 1166467:>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; 178207:>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; 414875:>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; 2739208:>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; 3277016:>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; 33648905:>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; 5214852:>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; 2257414:>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; 34572997:>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; 66495 :>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; 252785:>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; 692966:>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; 156184:>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; 4566115:>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; 5715 :>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; 6878236:>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; 149 :>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; 9 :>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; 54699 :>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; 42174 :>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; 415 :>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; 56476 :>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; 14842 :>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; 2273869:>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; 13418194:>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; 44758495:>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; 147884:>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; 8381815:>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; 33094 :>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; 355 :>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; 3243254:>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; 410192:>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; 63793 :>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; 429096:>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; 1038370:>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; 5609091:>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; 248689:>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; 185190:>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; 8784401:>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; 569505:>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; 634 :>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; 13379979:>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; 25812817:>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; 1704540:>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; 40885630:>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; 3872108:>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; 3296283:>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; 60489 :>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; 82 :>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; 3205732:>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; 176592:>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; 6164682:>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; 1284 :>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; 84983547:>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; 4366414:>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: 400000000, 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 143.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r14),%edi _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r15),%edx _litmus_P1_4_: movl (%r12),%eax _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r14),%edi _litmus_P0_5_: movl (%r15),%edx _litmus_P0_6_: movl (%rax),%ecx Test X015+X016-F Required Histogram (23 states) 1643569:>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; 734764:>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; 85215594:>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; 5434241:>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; 149136:>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; 2338076:>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; 6485602:>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; 5633814:>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; 5816282:>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; 35296 :>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; 723 :>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; 33001622:>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; 33403693:>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; 84424909:>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; 49 :>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; 2643825:>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; 14476384:>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; 17102344:>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; 9410763:>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; 104490362:>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; 31597312:>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; 612306:>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; 55349334:>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: 500000000, 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 121.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl (%rsi),%r15d _litmus_P2_3_: mfence _litmus_P2_4_: movl (%rcx),%eax _litmus_P2_5_: movl (%rbp),%r13d _litmus_P2_6_: movl (%r12),%r14d _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%eax _litmus_P1_4_: movl (%r15),%r10d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r15) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl (%r14),%r10d Test X016+X017-F Required Histogram (55 states) 59476 :>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; 19332 :>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; 1120825:>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; 83 :>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; 69805 :>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; 87 :>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; 1742355:>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; 3639826:>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; 153539:>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; 782034:>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; 82 :>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; 496378:>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; 252116:>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; 20829127:>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; 12 :>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; 1571494:>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; 14051638:>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; 1707482:>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; 1400480:>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; 19242227:>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; 7213436:>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; 71599 :>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; 3853033:>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; 61543952:>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; 6856 :>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; 2096917:>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; 335935:>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; 1087692:>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; 626914:>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; 60666942:>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; 17 :>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; 1522 :>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; 6578467:>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; 2261409:>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; 864189:>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; 16652690:>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; 6986 :>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; 2414905:>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; 44322 :>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; 4858726:>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; 35 :>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; 24089 :>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; 2785789:>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; 4193286:>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; 63248426:>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; 174873:>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; 2864257:>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; 9232756:>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; 5143041:>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; 26664 :>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; 4217699:>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; 47759123:>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; 4640781:>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; 893366:>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; 16470908:>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: 400000000, 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 120.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl (%r15),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%ebx _litmus_P3_4_: movl $1,(%r13) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r14),%ebp _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl $1,(%r13) _litmus_P2_4_: movl (%r13),%ebx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r12),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X017+X018-F Required Histogram (123 states) 689 :>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; 6636 :>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; 28 :>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; 10 :>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; 561035:>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; 619635:>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=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>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; 42 :>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; 10992 :>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; 34 :>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; 1615 :>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; 34837 :>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; 5141302:>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; 1553 :>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; 3197 :>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; 2338366:>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; 66260426:>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; 1456 :>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; 126 :>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; 34 :>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; 89 :>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; 32224 :>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; 416 :>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; 6467 :>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; 1273 :>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; 2865 :>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; 22904 :>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; 697 :>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; 185287:>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; 109715:>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; 29 :>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; 8275 :>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; 4794202:>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; 5484219:>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; 28225 :>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; 841110:>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; 17918623:>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; 2527327:>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; 676934:>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; 1399087:>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; 218 :>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; 1533 :>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; 87346 :>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; 2542852:>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; 1068 :>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; 674 :>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; 205965:>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; 1860325:>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; 42 :>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; 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; c=1; 1737 :>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; 39 :>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; 1683042:>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; 1964 :>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; 2 :>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; 339134:>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; 2577 :>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; 21476 :>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; 152569:>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; 17963277:>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; 4014377:>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; 41071378:>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; 19734 :>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; 1155802:>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; 321210:>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; 105880:>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; 42337 :>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; 43350 :>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; 150361:>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; 4989413:>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; 27337 :>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; 15840087:>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; 39803606:>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; 1142 :>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; 1729038:>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; 1616293:>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; 16032513:>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; 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=1; c=1; 1306971:>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; 43342071:>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; 17797500:>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; 55204 :>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; 3345373:>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; 24 :>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; 984 :>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; 786 :>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; 1063 :>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; 366 :>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; 3738697:>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; 295814:>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; 44299 :>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; 10131 :>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; 254 :>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; 470 :>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; 1741794:>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; 1916862:>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; 828 :>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; 5948 :>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; 65 :>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; 164196:>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; 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; c=2; 12089 :>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; 76 :>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; 72737 :>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; 232 :>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; 505803:>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; 8131 :>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; 6940772:>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; 349 :>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; 766543:>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; 201165:>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; 36746 :>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; 376 :>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; 145 :>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; 13685462:>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; 553791:>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; 2808292:>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; 639813:>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; 27143955:>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; 11458784:>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; 241613:>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; 301741:>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: 400000000, 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 142.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r12),%ebx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%ebp _litmus_P2_5_: movl (%r15),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r13) Test X018+X019-F Required Histogram (55 states) 1626411:>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; 185277:>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; 16180177:>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; 3 :>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; 258 :>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; 5167808:>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; 2949071:>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; 20443568:>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; 54145953:>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; 45160 :>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; 77035984:>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; 443069:>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; 4849380:>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; 368315:>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; 1441577:>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; 1226524:>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; 907114:>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; 15242058:>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; 8468231:>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; 18475859:>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; 7428607:>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; 534908:>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; 444139:>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; 22720 :>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; 22473 :>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; 848994:>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; 14728593:>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; 1563 :>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; 1071216:>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; 2182653:>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; 53003 :>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; 48021 :>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; 5930849:>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; 4 :>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; 972459:>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; 5466487:>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; 49382530:>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; 332 :>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; 382959:>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; 6849 :>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; 436286:>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; 925825:>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; 29393 :>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; 782124:>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; 9226 :>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; 2999279:>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; 3244260:>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; 10470854:>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; 403464:>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; 26131 :>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; 1734793:>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; 668 :>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; 2446807:>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; 57755548:>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; 4186 :>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: 400000000, 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 135.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%r12d _litmus_P2_5_: movl (%r15),%ecx _litmus_P2_6_: movl (%rax),%esi _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%ebx _litmus_P1_4_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X019+X020-F Required Histogram (56 states) 14141 :>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; 543305:>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; 22 :>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; 1399124:>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; 173024:>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; 565877:>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; 155 :>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; 805275:>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; 21418685:>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; 1198342:>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; 12937565:>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; 35480957:>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; 1983136:>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; 41727179:>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; 1201 :>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; 5959831:>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; 2738076:>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; 5612688:>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; 63 :>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; 3033873:>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; 36220218:>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; 2386989:>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; 2016676:>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; 10633862:>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; 26 :>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; 1994625:>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; 153 :>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; 296828:>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; 15106 :>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; 180711:>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; 5489795:>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; 139 :>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; 2075605:>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; 190821:>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; 1032138:>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; 916570:>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; 26708625:>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; 1353500:>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; 2086998:>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; 3901529:>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; 200564:>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; 7580414:>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; 5109957:>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; 27187406:>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; 6966489:>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; 2796983:>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; 25538 :>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; 1189136:>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; 441588:>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; 17400965:>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; 13814180:>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; 6340113:>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; 17313174:>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; 10296563:>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; 50243496:>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: 400000000, 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 133.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl (%r15),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%ebx _litmus_P3_4_: movl $2,(%r13) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r14),%ebp _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl $1,(%r13) _litmus_P2_4_: movl (%r13),%ebx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r12),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r13),%eax Test X020+X021-F Required Histogram (128 states) 539 :>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; 4236 :>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; 329195:>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; 354066:>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; 18 :>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; 4620 :>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; 1265851:>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; 28071100:>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; 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=1; y=1; 113 :>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; 319 :>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; 232 :>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; 4545 :>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; 16535 :>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; 56642 :>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; 29721 :>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; 1005748:>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; 64395 :>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; 1330326:>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; 7 :>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; 239958:>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; 9029 :>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; 8254924:>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; 99 :>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; 232551:>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; 657 :>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; 5420 :>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; 131288:>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; 289 :>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; 71467 :>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; 1194 :>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; 37907 :>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; 7184 :>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; 5690134:>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=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; 14 :>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; 1948 :>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; 8979 :>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; 1455226:>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; 263672:>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; 1597783:>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; 4737362:>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; 1230006:>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; 1289 :>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; 1654381:>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; 70685 :>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; 15 :>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; 29 :>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; 5980 :>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; 9542 :>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; 15 :>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; 249 :>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; 423549:>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; 1431543:>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; 592 :>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; 763 :>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; 66078 :>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; 9464 :>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; 63908 :>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; 142768:>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; 10236343:>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; 1791849:>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; 19665 :>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; 602918:>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; 74182 :>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; 320603:>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; 78 :>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; 167088:>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; 76550 :>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; 3536096:>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; 4696303:>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; 34628510:>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; 270384:>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; 141255:>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; 13829798:>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; 18986167:>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; 28465604:>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; 5140248:>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; 53 :>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; 8326 :>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; 9002 :>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; 16586 :>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; 203110:>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; 7787 :>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; 596605:>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; 446484:>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; 5906426:>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; 4828 :>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; 21158307:>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; 958678:>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; 198754:>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; 9644871:>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; 4 :>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; 2082 :>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; 36519 :>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=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=2; 262981:>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; 48 :>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; 2146 :>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; 1471 :>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; 27050797:>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; 144 :>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; 112941:>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; 552981:>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; 7164524:>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; 4146 :>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; 69025 :>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; 65376 :>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; 2171543:>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; 81293 :>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; 20446 :>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; 19509772:>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; 3103620:>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; 117 :>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; 461079:>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; 3256993:>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; 712886:>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; 19137012:>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; 2349903:>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; 53 :>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; 2151754:>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; 145313:>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; 17610958:>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; 191855:>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; 4916273:>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; 27379235:>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; 38935084:>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: 400000000, 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 160.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: movl (%r12),%ebp _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r13),%ebx Test X021+X022-F Required Histogram (44 states) 341 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 94 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1834391:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 6797 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1991 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 34975345:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 4904 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2208 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 32191283:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1236 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 247 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5551535:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 8755543:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 17013394:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 40111634:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 1901650:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 138478:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 115816:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 5635387:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 5035387:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 24817233:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 8309595:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 48096620:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 6157308:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 7 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 52 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 607 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 8452246:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 5 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 13 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 155706:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 46 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 121 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1920572:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1219077:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 50175819:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 25983220:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 47477776:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 203004:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 514461:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1002677:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 869605:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 15261990:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 6104579:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 130.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl (%r11),%r9d _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r10),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl (%r13),%ebp _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r14),%ebx _litmus_P1_4_: movl $1,(%r11) _litmus_P1_5_: movl $1,(%r12) _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $2,(%r11) _litmus_P0_3_: movl (%r11),%ebp _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r12),%ebx Test X022+X023-F Required Histogram (96 states) 1153 :>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=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2655 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 176228:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1469 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 10698146:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2131 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 9317 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 445214:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 612 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 39564551:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 199 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2833 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 106 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 325 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2561 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1540133:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 8243 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 7378837:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 606 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 25 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 25 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1341888:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 30 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 678173:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 818 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 4 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 33542 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 18875796:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 176 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 760 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 192824:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 118 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 7751 :>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=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 9 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1107762:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 36318401:>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; 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; 9182 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 20956 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 32 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 626 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 5974747:>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=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 6881 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 74 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 301 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 30785822:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2762 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 292983:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 8897 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 12956823:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 617 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 5680 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 444459:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 377 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6892653:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 7719089:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 33 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 59878 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 76394 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 39944162:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 50 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2646 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 64818 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2509 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2811 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 49038943:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 89 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 36352388:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 4195 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 233 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 7424995:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 400232:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 32 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 13778 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 741 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 2969 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 16225661:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 55 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 37944032:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 23764503:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 5145655:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 6744 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 49 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 4975 :>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: 400000000, 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 133.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $2,(%r12) _litmus_P2_2_: movl (%r12),%ebp _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%ebx _litmus_P2_5_: movl $1,(%r14) _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $2,(%rax) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rax),%esi _litmus_P1_4_: movl $1,(%r14) _litmus_P1_5_: movl (%r14),%ebp _litmus_P1_6_: movl (%r15),%r12d _litmus_P1_7_: movl (%rcx),%edi _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl $1,(%r10) Test X023+X024-F Required Histogram (114 states) 197 :>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; 24 :>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; 668 :>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; 6 :>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; 24 :>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; 1 :>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; 1139920:>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; 466657:>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; 6506860:>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; 340 :>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; 168 :>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; 218 :>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; 507 :>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; 10450189:>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; 5162313:>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; 246 :>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; 21786 :>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; 1861271:>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; 25776385:>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; 321 :>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; 198 :>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; 2205 :>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; 2186 :>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; 1165 :>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; 9 :>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; 114 :>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; 409 :>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; 315559:>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; 554927:>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; 3801063:>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; 1184 :>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; 498 :>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; 3 :>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; 34 :>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; 168 :>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; 30727708:>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; 8710059:>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; 24 :>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; 116249:>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; 644987:>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; 6018189:>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; 3928156:>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; 839669:>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; 159242:>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; 1315264:>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; 589163:>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; 9166100:>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; 615 :>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; 27 :>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; 47 :>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; 7 :>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; 93 :>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; 31492405:>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; 1139672:>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; 16654 :>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; 2056119:>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; 128698:>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; 3316174:>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; 544 :>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; 29 :>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; 10445036:>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; 713 :>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; 61 :>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; 13008108:>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; 2774 :>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; 198 :>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; 95 :>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; 10398364:>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; 154 :>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; 60 :>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; 2637411:>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; 911692:>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; 726246:>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; 28123495:>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; 1040 :>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; 74 :>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; 2610 :>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; 14106089:>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; 7800261:>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; 77415030:>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; 909870:>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; 15661 :>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; 761947:>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; 4367 :>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; 22644 :>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=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; 191 :>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; 4287992:>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; 1525926:>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; 28845876:>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; 11 :>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; 2 :>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; 1 :>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; 577912:>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; 2663150:>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; 11566 :>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; 9889 :>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; 673110:>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; 248192:>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; 32693 :>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; 67 :>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; 23543 :>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; 633 :>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; 43145 :>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; 163133:>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; 42 :>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; 33691711:>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; 3 :>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; 19912 :>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; 1372141:>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; 63608 :>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; 2017830:>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: 400000000, 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 159.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r15),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r14),%edi _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl $1,(%r15) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rdx),%eax _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: movl (%rax),%ecx _litmus_P0_5_: mfence _litmus_P0_6_: movl (%rdx),%r12d Test X024+X025-F Required Histogram (48 states) 448739:>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; 819564:>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; 1774116:>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; 2568240:>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; 4235692:>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; 2062726:>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; 117996142:>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; 302271:>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; 1778412:>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; 10164 :>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; 29850 :>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; 9154 :>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; 2331 :>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; 2095351:>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; 30276 :>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; 404 :>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; 7255580:>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; 770 :>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; 30297 :>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; 19730153:>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; 140277:>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; 274210:>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; 2466715:>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; 21 :>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; 14560657:>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; 8150 :>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; 600410:>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; 43 :>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; 59 :>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; 4845179:>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; 20682573:>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; 619242:>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; 8 :>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; 4498032:>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; 9306923:>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; 52919365:>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; 8675399:>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; 692222:>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; 25079 :>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; 90044500:>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; 15813999:>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; 15797243:>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; 425357:>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; 9804695:>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; 3172813:>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; 21255520:>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; 24165206:>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; 38025871:>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: 500000000, 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 134.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $2,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%r12d _litmus_P2_5_: movl (%r15),%ecx _litmus_P2_6_: movl (%rax),%esi _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%ebx _litmus_P0_4_: movl (%r13),%ebp Test X025+X026-F Required Histogram (115 states) 103 :>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; 3588 :>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; 3393 :>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; 12 :>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; 953 :>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; 2220 :>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; 51 :>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; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 23812 :>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; 2437039:>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; 323275:>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; 821515:>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; 818092:>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; 59547663:>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; 12 :>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; 792 :>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; 1465 :>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; 749 :>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; 83 :>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; 12407 :>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; 13 :>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; 246 :>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; 8474616:>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; 2405719:>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; 882522:>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; 15733704:>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; 859 :>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; 3 :>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; 797 :>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; 539 :>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; 3 :>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; 29206 :>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; 272825:>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; 35123 :>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; 5245 :>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; 59102 :>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; 1357 :>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; 108833:>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; 2706 :>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; 6610 :>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; 14855 :>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; 47834 :>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; 2310877:>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; 6767 :>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; 131654:>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; 6093587:>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; 50516 :>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; 3740826:>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; 192662:>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; 6690414:>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; 16888165:>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; 2613911:>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; 33009 :>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; 3044144:>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; 10524 :>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; 519105:>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; 22260614:>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; 1310031:>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; 113288:>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; 5969952:>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; 8 :>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; 224149:>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; 93467 :>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; 4250190:>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; 42 :>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; 104 :>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; 263 :>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; 1414 :>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; 148 :>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; 367207:>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; 619 :>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; 2504566:>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; 5565732:>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; 405067:>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; 4835 :>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; 2393399:>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; 2019867:>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; 16 :>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; 3654447:>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; 18069220:>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; 592127:>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; 2883490:>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; 31238830:>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; 10 :>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; 559352:>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; 8146689:>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; 45640 :>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; 2867348:>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; 30662689:>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; 6447 :>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; 11325 :>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; 414238:>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; 28359 :>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; 46111 :>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; 20 :>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; 28341 :>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; 24487 :>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; 1251433:>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; 3594713:>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; 33127746:>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; 852500:>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; 1714164:>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; 199 :>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; 604865:>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; 410828:>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; 33 :>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; 572989:>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; 47171764:>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; 12360534:>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; 3795952:>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; 675119:>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; 12696845:>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: 400000000, 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 136.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl (%r14),%ebp _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r11),%ebx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl $1,(%r13) _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl $2,(%r12) _litmus_P2_3_: movl (%r12),%ebp _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r11),%ebx _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%r12) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X026+X027-F Required Histogram (188 states) 31 :>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; 850 :>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; 49 :>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; 18 :>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; 110 :>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; 3463 :>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; 3565 :>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; 580566:>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; 4383356:>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=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 63 :>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; 10 :>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; 16 :>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; 392 :>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; 4285 :>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; 466242:>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; 2002 :>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; 30803 :>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; 53874 :>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; 12893783:>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; 605 :>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; 97 :>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; 2 :>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; 16 :>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=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; 565 :>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; 3413 :>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; 19 :>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; 6003 :>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; 1919 :>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; 49 :>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; 127 :>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; 1 :>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; 1 :>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; 1118271:>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; 169304:>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; 87066 :>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; 89516 :>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; 101 :>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; 389 :>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; 68 :>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; 1872 :>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; 205 :>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; 3 :>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; 37 :>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; 2162516:>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; 13979304:>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1024335:>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; 34293099:>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; 8266117:>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; 22310 :>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; 1690578:>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; 32 :>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; 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; 156 :>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; 42 :>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; 6 :>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; 4 :>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; 29820 :>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; 1 :>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; 325 :>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; 15 :>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; 14255 :>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; 8979421:>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; 295 :>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; 588695:>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; 6185 :>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; 362 :>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; 33 :>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; 22 :>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; 135 :>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; 175 :>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; 351 :>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; 244 :>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; 2 :>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; 20236698:>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; 8553091:>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; 86238 :>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; 120992:>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; 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=1; 43 :>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; 1710358:>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; 2702379:>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; 95 :>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; 2752 :>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; 44675 :>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; 6512022:>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; 1812 :>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; 3509 :>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; 2069470:>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; 64101584:>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; 4 :>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; 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=2; z=1; 100375:>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; 1902 :>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; 283003:>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; 13227 :>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; 2628743:>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; 2347317:>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; 27558 :>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; 638640:>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; 9619653:>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; 863135:>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; 772440:>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; 1157717:>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; 6979 :>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; 293 :>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; 4366314:>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; 2 :>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; 307907:>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; 3 :>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; 8 :>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; 905616:>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; 1557260:>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; 25 :>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; 199 :>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; 750 :>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; 7709 :>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; 226133:>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; 10318218:>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; 9 :>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; 1 :>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; 200 :>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; 486 :>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; 18 :>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; 248428:>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; 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=2; 2 :>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; 9462189:>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; 67222530:>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; 154413:>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; 6803089:>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; 15 :>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; 1 :>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; 64 :>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; 37 :>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; 2 :>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; 5 :>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; 535384:>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; 7841294:>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; 84010 :>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; 28418624:>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; 10397538:>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; 77 :>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; 1340997:>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; 1243 :>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; 2005783:>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; 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=2; 5 :>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; 428 :>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; 266044:>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; 312 :>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; 346654:>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; 2220421:>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; 571889:>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; 40 :>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; 9 :>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=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; 24204131:>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; 2484903:>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; 1489757:>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; 632531:>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; 38 :>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; 158 :>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=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; 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=2; z=2; 966 :>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; 131 :>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; 6 :>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; 3 :>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; 4 :>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; 61 :>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; 467 :>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; 11 :>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; 2791 :>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; 1356 :>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; 7 :>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; 235 :>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; 5 :>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; 1 :>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; 98 :>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; 149 :>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; 630 :>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; 293 :>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; 11 :>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; 28 :>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: 400000000, 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 155.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $2,(%r11) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%ebp _litmus_P2_4_: movl (%r12),%ebx _litmus_P2_5_: movl $1,(%r14) _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X027+X028-F Required Histogram (101 states) 1049 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 102879:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 12010248:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 294094:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3493718:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 970375:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 31555976:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 2835 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 82 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 63 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 171 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 399 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 9463 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 9327613:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 998280:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 525881:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2950537:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 6086061:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 79 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 5 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 11 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 874179:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 417603:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1246 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 12732051:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 985442:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 197 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 87 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 2673 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 160 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 343610:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1580850:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1157 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 39802413:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 666189:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 159491:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 7063232:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 14016149:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 3 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 586 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 68 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 10720 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 15390251:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 3115395:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 2456306:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 9663 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 353 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 16097886:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 4885 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 1038 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 318914:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 8488303:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 132484:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 1218318:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 10 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1787 :>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; 7 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 70628 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 7834317:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 49054 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 381606:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 3343618:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 538626:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 19677822:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1145 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 146 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 2434 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 12326897:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 11017561:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 74980999:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 1088168:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 227 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 38076972:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 91669 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 6600 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 202576:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 416310:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 715136:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 9963 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 4628 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 2444854:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 29834 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 33 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1781321:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 508793:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 145 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 380047:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 25547 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 152312:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 19 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 145134:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 2558 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 25720182:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 297 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 760 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1611665:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 85407 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 2050451:>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: 400000000, 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 149.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $2,(%r15) _litmus_P2_2_: movl (%r14),%ebp _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%r12d _litmus_P2_5_: movl (%r15),%ecx _litmus_P2_6_: movl (%rax),%esi _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X028+X029-F Required Histogram (121 states) 35 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 2183 :>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; 1598 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 81 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 2571211:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 40504577:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 957 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 8645 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 225 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 6475909:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 926 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1207 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1575 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 30778 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 52784 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1411 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 15025 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1497254:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 6453 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 4222363:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3131408:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 4934321:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2391496:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 373332:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 5048665:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 16 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 123968:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 6650825:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 68 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 2184 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 41 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 2448885:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 263 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 7615 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 12 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 559 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 139011:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 116 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 443384:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 641681:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 2320885:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1823862:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 168553:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 2484202:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 37349 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1571752:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 14 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 701 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 33 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1888814:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 165348:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2390 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 594065:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1276076:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2251926:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 20193840:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 203906:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 16689643:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 197 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 1880 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 85638 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 268 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 10846 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 694 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 5406 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 6346931:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1077 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2612739:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 4842 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 4526 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 120608:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 299897:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 45395 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 4985636:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 4613 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 18625363:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 342164:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 189247:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 13821403:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 19166249:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 551295:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 2258 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 13622539:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 13639255:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 15622102:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 400 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2429275:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 22131842:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 12223968:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 2973 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 331847:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 27600 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1084964:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 9 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 19067298:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 292375:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 201676:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 25050 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 72894 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 19689992:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1215958:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 358520:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 64 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 34522448:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 8647618:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 7676701:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1260289:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 337 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 4019 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 71785 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 2278044:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 4099002:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 18763547:>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: 400000000, 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 147.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl (%r14),%ebp _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r11),%ebx _litmus_P3_4_: movl $2,(%r12) _litmus_P3_5_: movl $1,(%r13) _litmus_P2_0_: movl $2,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl $2,(%r12) _litmus_P2_3_: movl (%r12),%ebp _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r11),%ebx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r13),%eax Test X029+X030-F Required Histogram (208 states) 16 :>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; 270 :>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; 19 :>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; 33 :>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; 95 :>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; 104421:>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; 2741725:>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; 4 :>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; 292 :>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; 11852 :>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; 5374273:>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; 5 :>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; 4 :>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; 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=1; 607 :>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; 11716 :>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; 12 :>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; 421 :>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; 70893 :>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; 265 :>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; 50 :>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; 19 :>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; 571352:>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; 163 :>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; 3587218:>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; 2 :>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; 18 :>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; 4603 :>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; 1 :>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; 53973 :>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; 4 :>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; 107 :>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; 23 :>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; 9 :>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; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 178464:>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; 746139:>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; 12 :>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; 143 :>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; 82461 :>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; 4056536:>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; 1087 :>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; 144 :>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; 1 :>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; 1 :>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; 4463 :>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; 687 :>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; 39 :>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; 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=1; 1222090:>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; 266421:>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; 1117 :>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; 365 :>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; 21195305:>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; 3865146:>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; 19 :>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; 24 :>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; 15078 :>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; 5 :>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; 396294:>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; 6 :>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; 192 :>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; 7672 :>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; 4 :>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; 397903:>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; 1149945:>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; 1654648:>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; 1272624:>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; 27412255:>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; 1616 :>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; 1298 :>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; 7755 :>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; 45811 :>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; 2 :>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; 1 :>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; 152326:>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; 5582598:>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; 47 :>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; 2611 :>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; 32504 :>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; 29044 :>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; 388704:>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; 1239939:>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; 1 :>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; 11 :>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; 24 :>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; 219638:>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; 7801 :>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; 5743365:>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; 822237:>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; 6272 :>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; 4 :>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; 725 :>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; 22 :>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; 430868:>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; 9261 :>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; 435 :>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; 371 :>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; 8891913:>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; 7 :>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; 7 :>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; 104462:>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; 45 :>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; 739 :>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; 978819:>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; 3345 :>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; 639 :>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; 937 :>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; 267 :>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; 16182225:>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; 3276060:>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; 234 :>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; 170 :>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; 6854089:>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; 1 :>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; 9000 :>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; 1146 :>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; 35376108:>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; 124737:>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; 10028609:>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; 1869 :>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; 37981 :>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; 1 :>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; 25661736:>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; 71233 :>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; 34471 :>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; 1652775:>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; 2 :>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; 8 :>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; 10117543:>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; 1820907:>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; 1 :>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; 1411359:>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; 14 :>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; 6697441:>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; 55083 :>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; 2379669:>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; 4 :>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; 15 :>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; 45350 :>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; 1104 :>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; 566663:>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; 78874 :>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; 6284403:>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; 4 :>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; 469300:>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; 2747160:>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; 320996:>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; 39388 :>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; 1576018:>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; 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=2; 13 :>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; 58460 :>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; 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=2; 13123444:>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; 45294064:>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; 106 :>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; 68 :>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; 22119694:>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; 6001562:>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; 1946606:>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; 176645:>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; 25395933:>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; 14 :>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; 2671025:>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; 30 :>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; 408 :>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; 5 :>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; 1396 :>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; 24 :>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; 1 :>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; 411 :>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; 66 :>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; 938 :>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; 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=2; 154 :>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; 2 :>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; 3 :>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; 5 :>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; 148 :>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; 279 :>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; 249 :>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; 3870 :>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; 8315 :>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; 28 :>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; 317 :>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; 9 :>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; 208 :>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; 7 :>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; 1337393:>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; 23334 :>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; 7 :>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; 29 :>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; 11 :>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; 7640201:>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; 1201885:>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; 685837:>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; 84 :>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; 37204270:>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; 4 :>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; 490 :>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; 42 :>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; 790 :>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; 1262 :>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; 66 :>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; 7798 :>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: 400000000, 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 167.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r11) _litmus_P3_1_: movl (%r11),%r9d _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ebx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl (%r15),%ebx _litmus_P0_4_: movl $1,(%rax) _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r13),%ebp Test X030+X031-F Required Histogram (54 states) 190 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2233 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2133268:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 3062473:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 48124404:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 630 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 858 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 81860 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 1790549:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 227 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 292 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 8009913:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 3889427:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 9783 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1270 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 28111978:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1540442:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 865 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 24891744:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 340764:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 27001892:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 7312 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1029 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 27035281:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 49535 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 6398982:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 265817:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 389795:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2224 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 639 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 21166930:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 4007898:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 7297786:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 7408 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 24766681:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 2196169:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 95408 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 50456786:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1536927:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 675428:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 40324790:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 6747903:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 2203361:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 66756 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 42073651:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 5191 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 3817604:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 7519481:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 1888132:>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: 400000000, 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 147.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl (%rax),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%ecx _litmus_P1_5_: movl $1,(%r13) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%r14),%edi _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%rbp) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: movl (%rbp),%ecx _litmus_P0_5_: movl (%r14),%eax _litmus_P0_6_: mfence _litmus_P0_7_: movl (%r13),%ebx _litmus_P0_8_: movl (%r15),%edx Test X031+X032-F Required Histogram (15 states) 1117596:>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; 169 :>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; 76254075:>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; 55421106:>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; 16322387:>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; 19882247:>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; 151497373:>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; 84297 :>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; 26885757:>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; 1487935:>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; 115244540:>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; 5545926:>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; 19542378:>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; 11982 :>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; 10702232:>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: 500000000, 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 139.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl (%rbp),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%ebx _litmus_P2_5_: movl $1,(%r15) _litmus_P2_6_: movl $1,(%r8) _litmus_P2_7_: movl (%r8),%eax _litmus_P2_8_: mfence _litmus_P2_9_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%r15) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: movl (%rax),%ecx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rdx),%r12d _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r14),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rax),%edx _litmus_P0_6_: movl (%r15),%edi Test X032+X033-F Required Histogram (30 states) 41 :>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; 190620:>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; 54812053:>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; 2392 :>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; 5562 :>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; 41514 :>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; 4197599:>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; 257 :>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; 16365402:>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; 70519458:>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; 17277 :>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; 508982:>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; 50047174:>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; 16702701:>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; 14415445:>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; 56451052:>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; 15114936:>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; 57610 :>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; 5223957:>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; 24565586:>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; 1328 :>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; 16976710:>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; 10400 :>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; 2535727:>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; 2719766:>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; 2265045:>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; 7022123:>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; 136217023:>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; 334 :>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; 3011926:>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: 500000000, 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 173.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r14),%eax _litmus_P1_0_: movl $2,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%edi _litmus_P1_5_: movl (%r15),%edx _litmus_P1_6_: movl (%rax),%ecx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: movl (%r15),%ecx _litmus_P0_5_: mfence _litmus_P0_6_: movl (%rax),%r12d Test X033+X034-F Required Histogram (17 states) 11317460:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 11914198:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 66 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 612967:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 84354901:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 109524901:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 10452024:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 800 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4147727:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 899374:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 39829257:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 20750624:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 34772091:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 3232615:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 758042:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 141121595:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 26311358:>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: 500000000, 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 140.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl (%r14),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl (%r15),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rax),%ecx _litmus_P1_5_: movl $1,(%r8) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%r13),%edi _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r14),%edx _litmus_P0_4_: movl (%r13),%eax Test X034+X035-F Required Histogram (18 states) 1726392:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2591 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 223 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 13179633:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 100509166:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 292839:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 36528231:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 170275441:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 690577:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 25111395:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 434 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1969627:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 104766042:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 18676352:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 6054940:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 681891:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 19534223:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 115.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rbp) _litmus_P2_2_: movl $1,(%rcx) _litmus_P2_3_: movl $1,(%r12) _litmus_P2_4_: movl (%r12),%r13d _litmus_P2_5_: movl (%rcx),%r15d _litmus_P2_6_: mfence _litmus_P2_7_: movl (%rbx),%eax _litmus_P2_8_: movl (%rdx),%r14d _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%eax _litmus_P1_4_: movl (%r15),%r10d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r15),%r10d _litmus_P0_3_: movl $1,(%r12) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r14),%eax Test X035+X036-F Required Histogram (66 states) 107 :>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; 682762:>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; 145964:>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; 24293 :>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; 657 :>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; 670821:>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; 2473 :>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; 984625:>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; 33691 :>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; 301074:>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; 2447138:>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; 16 :>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; 487 :>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; 9 :>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; 194576:>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; 5051 :>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; 23641745:>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; 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; 15892 :>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; 63283731:>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; 864490:>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; 10900 :>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; 5004048:>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; 891067:>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; 794945:>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; 20395990:>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; 5182829:>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; 7 :>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; 44106 :>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; 11027 :>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; 66223708:>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; 68734 :>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; 16725 :>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; 10086369:>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; 4595464:>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; 6 :>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; 9318 :>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; 6384 :>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; 2946096:>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; 918733:>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; 6197 :>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; 8069476:>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; 676767:>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; 974 :>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; 1798173:>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; 2916 :>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; 5521369:>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; 8 :>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; 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; 1004 :>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; 125 :>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; 2843655:>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; 4983 :>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; 70647372:>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; 172 :>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; 72538 :>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; 27396 :>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; 17041190:>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; 2558010:>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; 170986:>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; 5995018:>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; 1098402:>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; 14543292:>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; 67239 :>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; 55391836:>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; 2954817:>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: 400000000, 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 142.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rsi) _litmus_P3_1_: movl $1,(%r13) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%eax _litmus_P3_4_: movl $1,(%rcx) _litmus_P3_5_: movl (%rcx),%r14d _litmus_P3_6_: movl (%rbx),%r15d _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rcx) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%rcx),%r15d _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%r14d _litmus_P2_6_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl $1,(%r11) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r14),%ebp Test X036+X037-F Required Histogram (97 states) 17 :>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; 10 :>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; 322121:>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; 1893623:>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; 2 :>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; 3336 :>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; 138399:>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; 7892949:>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; 50 :>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; 1094 :>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; 1320299:>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; 39585147:>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; 20488 :>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; 7589 :>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; 62825 :>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; 22472 :>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; 1315887:>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; 2769041:>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; 104067:>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; 1117229:>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; 754676:>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; 642292:>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; 558437:>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; 682797:>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; 2 :>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; 5265 :>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; 14244 :>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; 22791402:>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; 89 :>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; 760 :>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; 53172 :>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; 5226861:>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; 23 :>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; 355 :>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; 1813 :>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; 4 :>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; 2732468:>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; 5073 :>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; 805308:>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; 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=1; e=1; 14675 :>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; 1234 :>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; 7529087:>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; 437736:>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; 7577525:>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; 32291 :>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; 15389663:>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; 1111312:>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; 782608:>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; 47598 :>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; 671393:>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; 10856 :>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; 151531:>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; 4751 :>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; 484303:>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; 3699830:>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; 674 :>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; 3667385:>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; 3238973:>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; 30194829:>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; 2844 :>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; 1571269:>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; 15591752:>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; 35824329:>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; 74686 :>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; 5159196:>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; 226128:>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; 629 :>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; 25404099:>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; 19295390:>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; 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; e=2; 497087:>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; 1145362:>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; 12 :>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; 4023 :>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; 111 :>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; 10576568:>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; 1820477:>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; 1677 :>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; 2038692:>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; 421 :>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; 8593372:>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; 6032 :>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; 40566121:>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; 30 :>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; 7763866:>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; 172868:>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; 1313584:>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; 1563 :>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; 4519801:>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; 2040566:>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; 593857:>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; 4476153:>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; 13166003:>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; 30188525:>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; 32117 :>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; 1430840:>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: 400000000, 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 157.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%r14d _litmus_P2_5_: movl (%rsi),%r15d _litmus_P2_6_: movl (%rcx),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r13) Test X037+X038-F Required Histogram (55 states) 5800487:>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; 76777 :>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; 7185609:>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; 4 :>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; 43832 :>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; 4336091:>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; 4023366:>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; 9899065:>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; 66390217:>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; 39183 :>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; 72086383:>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; 350730:>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; 1898287:>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; 114182:>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; 705434:>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; 724323:>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; 5827319:>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; 14443873:>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; 12972575:>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; 18523066:>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; 15306050:>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; 2034599:>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; 154105:>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; 29507 :>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; 359023:>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; 220432:>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; 7219736:>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; 23 :>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; 936360:>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; 1976412:>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; 4558 :>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; 10583 :>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; 3277671:>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; 2378648:>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; 3141109:>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; 59723086:>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; 3 :>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; 1396706:>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; 9902 :>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; 155336:>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; 672435:>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; 12956 :>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; 532481:>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; 92402 :>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; 831847:>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; 3479080:>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; 7069326:>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; 433647:>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; 6712 :>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; 2338479:>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; 129654:>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; 2036310:>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; 58312171:>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; 277847:>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: 400000000, 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 150.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl (%r14),%r15d _litmus_P2_5_: movl (%rsi),%edx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%rbp),%ecx _litmus_P2_8_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $2,(%r13) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%ebx _litmus_P1_4_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X038+X039-F Required Histogram (68 states) 172265:>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; 71345 :>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; 88050 :>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; 48221 :>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; 50168 :>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; 331448:>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; 37396 :>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; 21075332:>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; 16158637:>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; 1810625:>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; 20579610:>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; 20892017:>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; 18621238:>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; 415186:>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; 332667:>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; 942033:>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; 4304419:>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; 312441:>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; 44577048:>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; 5988533:>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; 210022:>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; 5343197:>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; 1154557:>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; 132 :>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; 20229 :>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; 607 :>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; 985947:>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; 2913986:>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; 16296 :>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; 87497 :>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; 56902 :>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; 509256:>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; 324763:>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; 25916827:>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; 2347445:>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; 161396:>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; 927649:>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; 6 :>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; 131685:>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; 92 :>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; 2586463:>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; 543 :>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; 374 :>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; 2197 :>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; 2501782:>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; 46905143:>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; 2158 :>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; 21358193:>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; 430 :>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; 3542390:>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; 2020 :>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; 106 :>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; 874 :>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; 58647 :>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; 3637147:>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; 483185:>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; 8 :>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; 14072139:>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; 18300166:>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; 23 :>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; 15739567:>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; 9 :>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; 9836472:>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; 1381 :>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; 26 :>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; 37 :>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; 7759731:>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; 55291619:>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: 400000000, 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 147.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rsi) _litmus_P3_1_: movl $1,(%r13) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%eax _litmus_P3_4_: movl $1,(%rcx) _litmus_P3_5_: movl (%rcx),%r14d _litmus_P3_6_: movl (%rbx),%r15d _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $1,(%rcx) _litmus_P2_2_: movl $2,(%r12) _litmus_P2_3_: movl (%rcx),%r15d _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%r14d _litmus_P2_6_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r13),%eax Test X039+X040-F Required Histogram (91 states) 1349112:>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; 1548333:>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; 1790967:>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; 19411676:>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; 182620:>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; 52630 :>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; 691243:>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; 857839:>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; 9009 :>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; 3663065:>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; 42508 :>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; 2330180:>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; 285245:>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; 3872 :>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; 1703993:>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; 120216:>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; 15970428:>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; 129320:>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; 3347227:>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; 3731 :>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; 2601186:>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; 28043 :>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; 5727735:>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; 201965:>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; 5121900:>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; 63 :>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; 9308 :>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; 4355266:>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; 1652312:>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; 2045495:>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; 2957575:>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; 4866411:>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; 172260:>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; 5938258:>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; 2317559:>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; 2 :>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; 16111 :>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; 112 :>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; 508737:>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; 3196 :>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; 3 :>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; 683 :>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; 22 :>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; 80 :>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; 110 :>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; 5187659:>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; 24055792:>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; 865927:>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; 200198:>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; 2442324:>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; 4610942:>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; 22045132:>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; 3182084:>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; 11 :>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; 41 :>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; 101 :>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; 5 :>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; 1958988:>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; 3765743:>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; 86731 :>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; 1055378:>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; 21625590:>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; 619142:>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; 3927566:>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; 77 :>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; 26 :>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; 271948:>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; 4652 :>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; 12854 :>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; 3547055:>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; 34903310:>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; 8882356:>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; 589472:>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; 7350905:>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; 1786491:>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; 30491169:>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; 13 :>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; 9111829:>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; 523211:>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; 57 :>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; 1141915:>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; 296243:>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; 55237328:>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; 7112198:>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; 96 :>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; 3152849:>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; 108 :>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; 566 :>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; 10885490:>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; 37050820:>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: 400000000, 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 168.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r14),%ebx _litmus_P0_4_: movl $1,(%rax) _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r15),%ebp Test X040+X041-F Required Histogram (37 states) 1272 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 21127998:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 4759 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 43820309:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2973 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 23693842:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 980 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 4743546:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 28648183:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 14129193:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 10842066:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 390909:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 336523:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 182957:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 5822252:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 5117208:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 15302747:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 6316497:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 50908921:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 7304649:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 400 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 38 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 11418275:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 1 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 123311:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 30 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 2889414:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 5936520:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 57350847:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 17023718:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 41462665:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 217177:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 620005:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 330379:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 319487:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 14708071:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 8901878:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 143.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,(%r15) _litmus_P2_2_: movl (%r15),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%r14) _litmus_P1_1_: movl $1,(%r15) _litmus_P1_2_: movl (%r15),%edx _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rax),%ecx _litmus_P1_5_: movl $1,(%r8) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%r13),%edi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl $1,(%rdx) Test X041+X042-F Required Histogram (18 states) 2032995:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2771 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 12440104:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 87790304:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 24493016:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 409 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 69842033:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 8350263:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 6452 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 866114:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 3208241:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 14 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 39076150:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 6059267:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 82991961:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 299927:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 130354763:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 32185216:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 500000000, 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 127.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl (%r14),%r15d _litmus_P2_5_: movl (%rsi),%edx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%rbp),%ecx _litmus_P2_8_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r14),%ebp _litmus_P0_3_: movl $1,(%r12) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r13),%ebx Test X042+X043-F Required Histogram (67 states) 9 :>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; 29395 :>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; 14023 :>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; 66117755:>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; 55075 :>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; 11030 :>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; 10757437:>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; 2440240:>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; 14 :>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; 2769 :>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; 11118 :>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; 3179232:>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; 878069:>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; 799 :>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; 8603060:>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; 313288:>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; 4060 :>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; 7040223:>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; 9 :>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; 23 :>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; 1037 :>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; 297 :>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; 153141:>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; 25363 :>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; 19507576:>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; 14188299:>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; 19577 :>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; 30790738:>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; 1504889:>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; 427 :>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; 3399727:>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; 569453:>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; 91831 :>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; 1289 :>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; 885374:>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; 15640 :>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; 2085368:>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; 38194 :>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; 9828415:>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; 33 :>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; 1412 :>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; 29 :>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; 35088 :>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; 68176605:>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; 3636026:>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; 267 :>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; 49117012:>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; 3084601:>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; 403 :>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; 560613:>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; 80 :>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; 1044997:>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; 747 :>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; 29814228:>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; 719114:>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; 29054 :>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; 597837:>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; 32266 :>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; 1188575:>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; 16 :>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; 128918:>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; 5750 :>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; 51931373:>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; 1458629:>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; 13962 :>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; 5339786:>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; 518316:>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: 400000000, 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 150.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $2,(%rax) _litmus_P3_2_: movl $1,(%r15) _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%ebx _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r13),%ebp _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r15) _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl $1,(%rax) _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r13),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl $1,(%r11) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r14),%ebp Test X043+X044-F Required Histogram (99 states) 57 :>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; 477 :>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; 4132 :>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; 206571:>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; 2741 :>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; 169506:>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; 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=1; 8772 :>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; 87 :>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; 1625916:>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; 444611:>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; 303285:>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; 9286 :>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; 40641 :>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; 1429220:>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; 16274935:>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; 349 :>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; 675714:>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; 7295715:>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; 18136945:>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; 14494 :>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; 2261386:>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; 45282 :>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; 4241 :>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; 19600339:>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; 7 :>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; 1306463:>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; 21 :>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; 6224214:>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; 15487723:>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; 2477 :>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; 394680:>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; 133 :>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; 333 :>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; 481134:>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; 4444319:>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; 11 :>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; 8789 :>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; 295494:>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; 8990143:>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; 99 :>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; 8015 :>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; 1637901:>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; 42415668:>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; 240995:>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; 133115:>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; 44941 :>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; 46173 :>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; 3875462:>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; 16466875:>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; 63871 :>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; 1864261:>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; 4908793:>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; 7881467:>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; 298427:>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; 1909691:>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; 854352:>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; 2229 :>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; 46007492:>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; 4 :>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; 20668245:>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; 15 :>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; 2533046:>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; 5922488:>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; 145 :>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; 12783 :>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; 36 :>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; 9386 :>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; 52466 :>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; 36923593:>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; 174 :>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; 3531 :>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; 5037 :>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; 32 :>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; 3416420:>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; 1370828:>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; 10303730:>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; 65446 :>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; 9942663:>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; 53299 :>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; 691680:>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; 13719 :>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; 3741204:>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; 12188768:>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; 364 :>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; 2370830:>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; 272 :>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; 16032088:>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; 5306 :>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; 7483907:>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; 794 :>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; 12476760:>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; 245719:>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; 1063513:>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; 8114430:>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; 5953474:>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; 647740:>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; 2835592:>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: 400000000, 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 175.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%rax) _litmus_P2_4_: movl (%r14),%ebx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r12),%ebp _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X044+X045-F Required Histogram (56 states) 3059057:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 900833:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 36079714:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 348137:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 3540003:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 8696507:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 21818 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 5877904:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 912361:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 901 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 39799765:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 989858:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 68439 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 6410688:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 14801775:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 5517 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 17286021:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3446299:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 995895:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 11994 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 16910412:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 9777 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 4613689:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 2892819:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 460407:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 536112:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1344883:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 673572:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 20659029:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 2538328:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 14378868:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 70838201:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 4876787:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 16 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 312029:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 40614385:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 424141:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 12750752:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1366818:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 44091 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 226088:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 1383668:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 8231235:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 3002805:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 503 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 949413:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 123742:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 364655:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 88 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 856729:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 193 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 30107548:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 944967:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 2166820:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 306095:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 11836849:>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: 400000000, 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 167.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%r13) _litmus_P2_2_: movl $1,(%rsi) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl (%r14),%r15d _litmus_P2_5_: movl (%rsi),%edx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%rbp),%ecx _litmus_P2_8_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,(%r12) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X045+X046-F Required Histogram (68 states) 21591372:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 18325872:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 582402:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 355628:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 4136801:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 376979:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 9750524:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 3141940:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 836883:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 2816186:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 15683 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 77412 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 330241:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 193785:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 3936420:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 910961:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 449962:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 155667:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 169018:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 72907 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 572698:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 77099 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 17911229:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 16307591:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 29809 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 94259 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 2495 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 21056167:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 578 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 3585654:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 2350 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 635 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1841459:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 19 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 13938631:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 11256371:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1032 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 16 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 27795560:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 35 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 547104:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 151 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 6768575:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1019 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 3367 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 51589132:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 2179625:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 48530411:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 381334:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 17268654:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 6237 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 17835 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 17037325:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 39282 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 352065:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 41305906:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1988757:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 6992766:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 76749 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 17 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 2307 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1038181:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 574 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 4955030:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 8 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 16217251:>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: 400000000, 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 163.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $2,(%rax) _litmus_P3_2_: movl $1,(%r15) _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%ebx _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r13),%ebp _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r15) _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl $1,(%rax) _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r13),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r13),%eax Test X046+X047-F Required Histogram (93 states) 2852 :>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; 101528:>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; 67 :>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; 206552:>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; 9299 :>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; 103042:>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; 5978 :>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; 1279936:>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; 16044 :>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; 274173:>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; 676 :>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; 235718:>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; 1 :>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; 32 :>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; 270426:>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; 23973 :>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; 10281225:>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; 814401:>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; 1 :>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; 4220 :>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; 2263799:>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; 3832608:>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; 2252925:>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; 21814187:>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; 49975 :>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; 42120 :>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; 130960:>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; 814785:>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; 602252:>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; 5861102:>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; 254 :>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; 38365 :>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; 2 :>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; 16 :>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; 159197:>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; 2705 :>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; 4108254:>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; 68550 :>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; 78 :>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; 1 :>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; 48727 :>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; 2638 :>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; 794263:>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; 3512646:>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; 11977832:>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; 34 :>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; 29483759:>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; 3946568:>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; 325 :>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; 19066095:>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; 1944189:>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; 24630169:>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; 127692:>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; 2353060:>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; 41275958:>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; 20358143:>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; 59 :>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; 33727140:>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; 2438075:>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; 381 :>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; 14656165:>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; 70178 :>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; 8851447:>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; 15 :>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; 557271:>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; 220998:>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; 19598078:>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; 1639 :>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; 1958648:>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; 9168565:>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; 3703027:>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; 4798414:>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; 5543522:>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; 5 :>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; 915 :>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; 109 :>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; 6609814:>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; 25923371:>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; 9684456:>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; 4589884:>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; 69 :>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; 123 :>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; 2574203:>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; 3872030:>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; 301 :>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; 15242 :>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; 1797233:>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; 4198544:>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; 4 :>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; 3326826:>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; 498907:>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; 298 :>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; 16419667:>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: 400000000, 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 181.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r11),%r10d _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r13) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r12),%eax Test X047+X048-F Required Histogram (44 states) 8256167:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2169 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 17627247:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 214709:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 195 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1709417:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 724 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 14319859:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 19009140:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 68 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 25907246:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 2769997:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 21615499:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 23 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 16974808:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 41778785:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2739801:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 159 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 513115:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 4041992:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 58 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 25732734:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2699375:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 8801495:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 288 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 4517934:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 16742728:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1441 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 26867748:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 69 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1712896:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1676538:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 806 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 54807204:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 23137879:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 1248589:>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; 44878851:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 2 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 973605:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 9 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 7631376:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1087095:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 135.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rdx) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%r13) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r12),%eax _litmus_P1_4_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r13),%eax _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r14),%edx Test X048+X049-F Required Histogram (18 states) 14551531:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 890 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 1014 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 84752195:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 15576259:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 12329718:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 815593:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 59002087:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 12914317:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 131901786:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 1677 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 10471 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 7488511:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 30949594:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 13885031:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 103074763:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 6548 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 12738015:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 500000000, 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 99.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rbp) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r15),%r10d _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r12),%eax _litmus_P1_3_: movl $1,(%r14) _litmus_P1_4_: mfence _litmus_P1_5_: movl (%r15),%r10d _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl (%r14),%r10d Test X049+X050-F Required Histogram (84 states) 92 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 191938:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 179727:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 40760 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 55 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 199 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 426129:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 63 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 867 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 154 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 466335:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 13178573:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 809782:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 18313 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 29 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 162420:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3607 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 294 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 31 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 239409:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1768 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 16494663:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 8363 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 8634237:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 11723006:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 282840:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7646273:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5719331:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6722662:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 170 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 47111314:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 11109261:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 72 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 64740 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4982 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 11345951:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 199340:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 50504 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 8300024:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4237049:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 31 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 954 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 170 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 36577 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7004 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10251049:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1463 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 145 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1431 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1318 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 13088853:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 322083:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 39891671:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 18180048:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3133 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 252602:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 22 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 21800 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 95 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1424005:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 28 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 9357 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 746 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 641 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3526587:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 970 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 68539097:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1710 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 322056:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 11471 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 12729484:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 24556157:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1709242:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 623325:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 975753:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 38587709:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 147986:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6602231:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2795627:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 400000000, 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 123.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r12) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r13),%ebx _litmus_P3_3_: movl $1,(%r14) _litmus_P3_4_: mfence _litmus_P3_5_: movl (%r11),%ebp _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $1,(%r13) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X050+X051-F Required Histogram (118 states) 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 72 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 3352 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 204133:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 5249700:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 20044 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 3932608:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 12331 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2308348:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 21 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 230 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 757 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 137 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1289 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 9133 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 166695:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 263 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2041223:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 10021662:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 796 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 74 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 54 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 934 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 33 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 494 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 11448786:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1091760:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3000430:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 24988659:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 111849:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 790 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 142945:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5642981:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2618 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 146777:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 146 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 5919 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 759200:>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=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 22579 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 12518 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 493 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1088 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1197 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5795652:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4295104:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1698854:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 45015565:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 12428 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1557 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 518 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 11872 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 8332917:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 172314:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 582408:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 9372352:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6185346:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2528498:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 47270 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 168545:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1506599:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 352298:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5550 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 137891:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 48782549:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6228060:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 467461:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5650713:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2595643:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 171212:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 112317:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1194715:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1603 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1781559:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 15070322:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1297650:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 171 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 170 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 133676:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 40 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2735 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 252 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 424042:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 29540597:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 857175:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1503373:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 757 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1699448:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 50627 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 3514 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 337935:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 29042 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 447 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4162 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 248921:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 30022642:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 51 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 10216 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 59 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3067939:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 6871675:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 29882661:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 87888 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 841965:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3218943:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 49343485:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 221 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 882634:>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: 400000000, 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 139.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r13) Test X051+X052-F Required Histogram (64 states) 1689756:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 184 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 6111774:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 366467:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 6057 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 7836177:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 29288541:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1226 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 35286342:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 3298 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 3302529:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 15701 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 10 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 267327:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 106072:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 2261897:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1764 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 12778461:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 6294720:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 8224788:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 4626442:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 50153 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 81854 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 2633413:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 13924835:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 2259584:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 37103080:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 33625549:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 1236138:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 32692 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2502499:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 543 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2882835:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 11020768:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 68395775:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 475428:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 7313013:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 134196:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 93104 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2352345:>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; 30882 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1810277:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 3519304:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1009319:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 6020694:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 5059492:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1477423:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 8378 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1035288:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 74853 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 2932231:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 71789997:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 643881:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 61 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 23 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 38 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 232 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 205 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 14 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 7 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 3 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 10 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 50 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 400000000, 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 134.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r8) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $1,(%r13) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%rax) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X052+X053-F Required Histogram (85 states) 5786 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 167 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 195959:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2872517:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 809725:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 756432:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 1082 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 3657145:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 263763:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 152046:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 3 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 96671 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1044 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1068351:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 55118 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 31982 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 54494212:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 5189605:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 374 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 17381360:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 16191 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 25899114:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1928605:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 218897:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 48596551:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 2054633:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 19935 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 30 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 176052:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 697 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 1256468:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 215889:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 59480 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 2116416:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 67 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 12 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1496583:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 4717 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 4187674:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 184725:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 20878 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 33550608:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 493664:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 21233 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 6180 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 7693431:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 26716319:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 12555536:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3009872:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 2367 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 11813261:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 587651:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 721460:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 698 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 28 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 116810:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 393830:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 594475:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 276230:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 41 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 589724:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 6 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 14116 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 70278 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 879 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 1007643:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 34431586:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 666154:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 1616697:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 16731 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 31543943:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 50446338:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 5230519:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 2377 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 15905 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 47 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 258266:>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; 12191 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 35929 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 400000000, 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 138.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $2,(%r11) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r12),%eax Test X053+X054-F Required Histogram (44 states) 548 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 793548:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 3715 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 8918204:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 2694 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 6392480:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 912 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 1937130:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 12085151:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 21091757:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 36401713:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 2652046:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 983723:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 1041086:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 12345524:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 19697411:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 26207984:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 22274830:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 50277942:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 6207825:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 17878 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 149112:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 205787:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 22761 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 4 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 57 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 2637897:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 3 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 12988 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 29 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 576478:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 966770:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 42757275:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 16273858:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 67483432:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 451023:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 3165651:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 765777:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 121891:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 31761312:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 3272666:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 37046 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 33 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 4049 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 400000000, 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 121.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl $1,(%r13) _litmus_P0_4_: movl $1,(%r12) Test X054+X055-F Required Histogram (45 states) 2016635:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 24613182:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 5418430:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 19003731:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 748939:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 1517428:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 9311221:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 1161653:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 365408:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 37359172:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 25037 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 364091:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 12112977:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 44715083:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 45237 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 82406 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 74 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 3861351:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 2704 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 7209608:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 254482:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 18498592:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 6662390:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 17011025:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 6839592:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 80676 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 3672813:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 77676082:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 18368 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 387377:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 14608809:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 4968416:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 31606496:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 110928:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 14 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 369 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 15 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 38 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 1161242:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 6340920:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 33162438:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 7004228:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 46 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 1 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 276 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 400000000, 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 126.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%r13) _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X055+X056-F Required Histogram (65 states) 611864:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 40 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 5113752:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 1213434:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 61 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1185156:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 7296750:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 10685978:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 30731425:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 6642106:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 38582356:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 7036893:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 45 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 94030 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 1895901:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 75 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 79593 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 362375:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 7981285:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 6767536:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 41381935:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1195495:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 9352391:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 9707594:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 12213543:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 1436196:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 104634:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 232030:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 262666:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 43758 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 625996:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 638560:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 24650897:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 9572584:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 11659393:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 78951822:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 4228 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 147544:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 682 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 20010 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 52103 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 2830625:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 5424 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 3120933:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 33993 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 21270 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 28143774:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 1145150:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 1825671:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 14 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 568 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1826 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 300851:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 12755 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 547463:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 31060618:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 12741 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 35100 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 521665:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 1709 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 855458:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 44119 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 943446:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 24 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 87 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 400000000, 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 142.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $2,(%r13) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $2,(%r10) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%rax) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X056+X057-F Required Histogram (87 states) 915464:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 3890884:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 13285 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 18451221:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 21238435:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 33292 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 158038:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 138045:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 1003032:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 4968 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1446633:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 2776668:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 3286 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 23288 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 3889 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 135261:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 184409:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 262900:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 750184:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 9347 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 915536:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 4 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 165 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 68 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 3976191:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 13312427:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 176245:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 315891:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 670149:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 16 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 11148 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 1713277:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 23080984:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 7 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 373306:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 19350 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 215657:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 13 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 5162 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 62131 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 3758041:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 12 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 4162322:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 2478 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 61197 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 19 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 267163:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 681476:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 103977:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 62 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 143283:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 101911:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 231503:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 3651073:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 2379023:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 14305479:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 115699:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 103980:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 4417 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 665969:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 256488:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 19377049:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 53519 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 3394099:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 5971 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 421077:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 807563:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 102772874:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 4 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 62460 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 13548769:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 280317:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 282264:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 14960 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 12366 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 2505861:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 26815885:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 8147 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 12832 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 907725:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 33639834:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 13911 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 816842:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 221087:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 66734809:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 3944 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 400000000, 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 151.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rsi) _litmus_P1_1_: movl (%rsi),%r12d _litmus_P1_2_: movl $1,%eax _litmus_P1_3_: xchgl %eax,(%rbx) _litmus_P1_4_: movl (%rbx),%r14d _litmus_P1_5_: movl (%rcx),%r15d _litmus_P1_6_: movl (%rbp),%r13d _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rcx) _litmus_P0_3_: movl (%rbp),%r12d _litmus_P0_4_: movl (%rcx),%r14d _litmus_P0_5_: movl (%rsi),%r13d _litmus_P0_6_: movl (%rbx),%r15d Test X000+X000-A Required Histogram (6 states) 334740311:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 42863414:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 343456339:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 11332017:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 3473759:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 64134160:>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: 800000000, 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 92.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%rbp) _litmus_P2_2_: movl (%rbp),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: movl (%r13),%r15d _litmus_P1_4_: movl (%r14),%eax _litmus_P1_5_: movl (%r12),%edx _litmus_P1_6_: movl (%r8),%ecx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r8) _litmus_P0_3_: movl (%r14),%r15d _litmus_P0_4_: movl (%r8),%edx _litmus_P0_5_: movl (%r13),%eax _litmus_P0_6_: movl (%r12),%ecx Test X000+X001-A Required Histogram (17 states) 49849868:>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; 5343438:>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; 4803336:>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; 91536849:>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; 106755:>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; 55037775:>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; 59546713:>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; 30733777:>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; 125866618:>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; 1026519:>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; 832602:>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; 461756:>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; 1890610:>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; 60078722:>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; 5372704:>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; 782791:>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; 6729167:>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: 500000000, 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 96.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r13) _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: movl (%r13),%r15d _litmus_P2_4_: movl (%r14),%eax _litmus_P2_5_: movl (%r12),%edx _litmus_P2_6_: movl (%r8),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r13) _litmus_P1_3_: movl (%r13),%r15d _litmus_P1_4_: movl $1,(%rdi) _litmus_P1_5_: movl (%rdi),%edx _litmus_P1_6_: movl (%r12),%ecx _litmus_P1_7_: movl (%r14),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl (%r8),%edx _litmus_P0_2_: movl $1,%edi _litmus_P0_3_: xchgl %edi,(%r14) _litmus_P0_4_: movl (%r12),%ecx _litmus_P0_5_: movl (%r14),%r15d _litmus_P0_6_: movl (%r13),%eax Test X001+X002-A Required Histogram (23 states) 54820791:>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; 44211763:>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; 54988085:>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; 40922905:>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; 55228 :>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; 566722:>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; 140124:>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; 79766190:>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; 11616626:>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; 72103 :>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; 1096654:>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; 5797613:>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; 40716599:>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; 23515381:>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; 628307:>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; 2931691:>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; 44798153:>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; 4168378:>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; 1031904:>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; 75495777:>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; 5441722:>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; 742293:>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; 6474991:>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: 500000000, 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 119.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: movl (%r14),%r15d _litmus_P2_4_: movl (%r8),%eax _litmus_P2_5_: movl (%r12),%edx _litmus_P2_6_: movl (%r13),%ecx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl (%r14),%eax _litmus_P1_2_: movl $1,%edi _litmus_P1_3_: xchgl %edi,(%r13) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r8) _litmus_P0_3_: movl $1,(%r13) _litmus_P0_4_: movl (%r13),%r15d _litmus_P0_5_: movl (%r14),%eax _litmus_P0_6_: movl (%rdi),%edx _litmus_P0_7_: movl (%r12),%ecx Test X002+X003-A Required Histogram (24 states) 52800557:>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; 59308571:>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; 49422516:>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; 81359586:>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; 125555:>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; 3851985:>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; 692784:>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; 62824370:>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; 6284488:>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; 80780 :>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; 54946 :>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; 3244314:>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; 48570509:>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; 40195618:>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; 271031:>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; 1972327:>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; 24307077:>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; 5023394:>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; 83687 :>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; 1364172:>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; 45086736:>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; 2901331:>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; 3193746:>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; 6979920:>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: 500000000, 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 118.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%r8d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,%eax _litmus_P2_2_: xchgl %eax,(%rsi) _litmus_P2_3_: movl (%rbx),%r14d _litmus_P2_4_: movl (%rcx),%r15d _litmus_P2_5_: movl (%rsi),%r12d _litmus_P2_6_: movl (%rbp),%r13d _litmus_P1_0_: movl $1,(%rcx) _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rbp) _litmus_P1_3_: movl (%rbx),%r15d _litmus_P1_4_: movl (%rbp),%r13d _litmus_P1_5_: movl (%r12),%r14d _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: movl (%r12),%ebx _litmus_P0_4_: movl (%r13),%ebp Test X003+X004-A Required Histogram (59 states) 2495991:>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; 4180757:>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; 6190525:>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; 52536 :>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; 3846850:>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; 274 :>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; 7711670:>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; 1571689:>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; 7340615:>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; 2876378:>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; 95277 :>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; 189661:>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; 2564978:>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; 7295104:>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; 46182290:>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; 997 :>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; 3034940:>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; 28160384:>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; 854715:>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; 9907363:>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; 11064843:>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; 10206787:>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; 83594 :>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; 16585834:>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; 15421508:>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; 4090023:>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; 25882455:>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; 20625153:>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; 6348213:>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; 12530470:>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; 27769747:>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; 5629 :>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; 23212 :>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; 20405615:>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; 220724:>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; 566939:>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; 548106:>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; 3286513:>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; 13794035:>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; 406091:>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; 1749240:>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; 3945 :>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; 36166 :>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; 8717 :>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; 150096:>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; 31021 :>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; 716780:>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; 18940097:>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; 16214538:>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; 248762:>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; 834335:>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; 11863563:>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; 1567153:>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; 88480 :>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; 1007658:>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; 18163880:>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; 1115127:>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; 632659:>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; 2209298:>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: 400000000, 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 117.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%esi _litmus_P3_2_: xchgl %esi,(%r14) _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%r13),%ebx _litmus_P3_5_: movl (%r14),%r15d _litmus_P3_6_: movl (%rbp),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl (%r13),%r15d _litmus_P2_2_: movl $1,%esi _litmus_P2_3_: xchgl %esi,(%r12) _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbp),%ebx _litmus_P2_6_: movl (%r14),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r11) _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X004+X005-A Required Histogram (77 states) 14661611:>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; 19770361:>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; 6051227:>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; 25815244:>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; 7632404:>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; 18906370:>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; 3511124:>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; 16642 :>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; 494159:>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; 297122:>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; 23217500:>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; 2774266:>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; 711775:>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; 2187002:>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; 11063348:>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; 227226:>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; 821192:>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; 1299302:>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; 3531706:>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; 24449715:>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; 261808:>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; 1016963:>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; 36733 :>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; 84473 :>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; 58731 :>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; 1524 :>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; 307447:>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; 40231117:>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; 14913005:>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; 4086496:>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; 25166203:>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; 5593481:>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; 135565:>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; 626998:>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; 1677035:>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; 3863482:>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; 1515658:>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; 380 :>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; 396123:>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; 4770173:>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; 864640:>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; 3703 :>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; 556220:>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; 5141530:>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; 1321512:>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; 8427 :>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; 1235702:>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; 11297365:>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; 743377:>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; 129970:>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; 2277233:>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; 457358:>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; 27772908:>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; 535762:>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; 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=1; 3:ECX=1; 3:EDX=0; c=2; 8937669:>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; 15762881:>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; 45 :>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; 5160 :>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; 4415782:>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; 106400:>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; 2633817:>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; 179409:>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; 1122931:>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; 84254 :>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; 831430:>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; 2089289:>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; 50 :>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; 49324 :>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; 13602998:>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; 7829671:>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; 74196 :>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; 235129:>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; 6051987:>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; 11366867:>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; 1618 :>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; 90605 :>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: 400000000, 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 137.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%rbp) _litmus_P2_3_: movl (%r13),%r15d _litmus_P2_4_: movl (%r14),%eax _litmus_P2_5_: movl (%rbp),%ecx _litmus_P2_6_: movl (%r12),%ebx _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: movl (%r12),%ebp _litmus_P0_5_: movl (%r13),%ebx Test X005+X006-A Required Histogram (87 states) 1739260:>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; 28069937:>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; 3056112:>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; 481618:>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; 19743144:>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; 517 :>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; 2802 :>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; 14428 :>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; 88326 :>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; 692729:>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; 18301778:>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; 683340:>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; 3850607:>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; 8614 :>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; 13854093:>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; 679327:>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; 17205659:>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; 111363:>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; 1656388:>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; 38304951:>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; 270674:>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; 5180 :>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; 400323:>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; 22385 :>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; 185272:>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; 38002 :>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; 96436 :>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; 203 :>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; b=1; x=1; 173292:>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; 80515 :>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; 878571:>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; 332243:>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; 2501753:>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; 168333:>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; 319531:>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; 5351 :>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; 1508964:>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; 117177:>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; 1331848:>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; 12068827:>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; 1352143:>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; 3653568:>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; 291843:>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; 16751773:>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; 26044740:>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; 18194 :>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; 1965901:>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; 6478804:>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; 7656 :>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; 2940226:>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; 12313278:>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; 319 :>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; 517291:>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; 30100852:>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; 10845205:>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; 11100 :>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; 239473:>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; 966132:>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; 3564770:>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; 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=0; b=1; x=2; 2179852:>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; 122 :>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; 1447661:>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; 948 :>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; 3594326:>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; 356813:>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; 14564542:>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; 8225032:>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; 10306185:>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; 5 :>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; 179215:>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; 2500442:>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; 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=1; b=1; x=2; 360 :>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; 4481820:>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; 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; b=1; x=2; 78465 :>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; 4 :>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; 30615352:>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; 11 :>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; 715 :>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; 34210841:>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; 7 :>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; 144123:>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: 400000000, 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 134.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r10) _litmus_P3_2_: movl (%r10),%r9d _litmus_P3_3_: movl (%r11),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%rbp),%ebx _litmus_P2_5_: movl (%r13),%r15d _litmus_P2_6_: movl (%r14),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $2,%ebp _litmus_P1_2_: xchgl %ebp,(%r14) _litmus_P1_3_: movl (%r13),%ebx _litmus_P1_4_: movl (%r14),%eax _litmus_P1_5_: movl (%r15),%ecx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X006+X007-A Required Histogram (134 states) 3 :>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; 16 :>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=1; 259 :>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; 510339:>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=1; 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; 58 :>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=0; c=1; x=1; 6883 :>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; 16007 :>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; 2898 :>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; 377 :>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; 217691:>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; 1826444:>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; 2569904:>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; 1884928:>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; 7830 :>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; 48836 :>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; 510091:>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; 642527:>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; 6062724:>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; 63429 :>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; 2435862:>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; 45045 :>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; 909045:>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; 691478:>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; 353030:>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; 47337377:>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; 631942:>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; 2706099:>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; 2454671:>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; 5507230:>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; 9113748:>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; 3992551:>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; 24604 :>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; c=1; x=1; 759668:>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; 452939:>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; 409019:>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; 41 :>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; c=1; x=1; 634 :>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; 5381 :>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; 8236 :>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; 534775:>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; 883 :>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; 54032 :>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; 1313 :>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; 7681 :>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; 11737 :>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; 267 :>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; 1253341:>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; 943 :>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; 27287 :>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; 4388 :>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; 71820 :>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; 38541 :>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; 46705 :>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; 1490958:>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; 23232141:>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; 12264587:>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; 10714190:>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; 1154 :>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; 16907 :>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; 91137 :>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; 200387:>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; 12518079:>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; 22232 :>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; 1175242:>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; 18519 :>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; 139940:>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; 220117:>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; 1052 :>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; 13913343:>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; 17766 :>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; 673292:>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; 9537 :>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; 380284:>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; 421245:>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; 692661:>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; 37 :>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; 127 :>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; 4430 :>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; 8588309:>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; 358 :>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; 318 :>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; 96580 :>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; 298642:>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; 46472 :>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; 5677 :>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; 244958:>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; 4484999:>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; 2873686:>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; 3449093:>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; 381 :>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; 4222 :>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; 59598 :>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; 106159:>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; 3655716:>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; 10781 :>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; 368647:>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; 6735 :>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; 55240 :>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; 67798 :>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; 3982 :>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; 20235552:>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; 7897 :>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; 189025:>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; 72224 :>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; 915465:>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; 382289:>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; 342689:>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; 7408 :>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; 44294 :>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; 23025 :>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; 4985246:>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; 8962350:>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; 115299:>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; 12570430:>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; 18490417:>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; 827992:>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; 58333 :>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; 804 :>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; 28684 :>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; 73569 :>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; 14705222:>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; 429237:>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; 21295 :>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; 47528 :>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; 396884:>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; 4389928:>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; 33288532:>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; 9576953:>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; 20949493:>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; 21838216:>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; 5859 :>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; 10708621:>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; 18397943:>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: 400000000, 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 133.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%esi _litmus_P3_2_: xchgl %esi,(%r14) _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%r13),%ebx _litmus_P3_5_: movl (%r14),%r15d _litmus_P3_6_: movl (%rbp),%eax _litmus_P2_0_: movl $2,(%r13) _litmus_P2_1_: movl (%r13),%r15d _litmus_P2_2_: movl $1,%esi _litmus_P2_3_: xchgl %esi,(%r12) _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbp),%ebx _litmus_P2_6_: movl (%r14),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r12) _litmus_P0_4_: movl (%r13),%eax Test X007+X008-A Required Histogram (132 states) 168396:>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; 13247 :>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; 137 :>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; 230 :>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; 316634:>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; 311342:>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; 14320265:>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; 13725134:>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; 2552 :>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; 4015 :>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; 8803158:>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; 12460644:>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; 422190:>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; 194309:>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; 143 :>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; 201 :>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; 556711:>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; 957282:>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; 2589524:>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; 5649464:>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; 254118:>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; 330215:>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; 50 :>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; 3865 :>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; 273638:>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; 10 :>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; 148 :>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; 153325:>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; 1186691:>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; 3258366:>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; 11881931:>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; 251163:>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; 637482:>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; 4 :>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; 22306 :>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; 3 :>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; 1585 :>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; 109453:>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; 2454499:>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; 13356382:>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; 550189:>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; 1128769:>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; 28 :>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; 120658:>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; 33 :>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; 29848 :>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; 642176:>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; 12 :>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; 1629 :>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; 5003868:>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; 1968 :>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; 4697980:>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; 962 :>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; 41 :>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; 49745 :>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; 3181056:>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; 9044 :>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; 400 :>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; 125218:>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; 41 :>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; 74530 :>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; 17056617:>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; 539893:>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; 1051 :>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; 127432:>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; 87 :>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; 192293:>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; 9432863:>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; 265895:>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; 1104 :>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; 164376:>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; 106 :>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; 271162:>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; 4072574:>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; 17176 :>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; 7102 :>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; 417 :>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; 11410566:>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; 321549:>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; 32881096:>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; 10212970:>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; 6023680:>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; 125572:>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; 623 :>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; 281 :>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; 2391875:>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; 797320:>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; 989 :>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; 209 :>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; 9988165:>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; 923250:>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; 4 :>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; 579 :>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; 4439511:>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; 217 :>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; 952 :>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; 141854:>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; 6 :>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; 9442 :>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; 355175:>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; 536839:>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; 6376288:>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; 11032649:>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; 315985:>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; 1059702:>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; 550 :>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; 181750:>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; 14608 :>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; 651253:>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; 4143 :>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; 9252 :>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; 69787 :>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; 258 :>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; 196063:>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; 2787268:>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; 40458694:>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; 9566201:>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; 7443351:>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; 7994041:>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; 2699861:>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; 1761649:>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; 5716853:>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; 8164056:>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; 24694528:>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; 3213774:>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; 3673692:>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; 1484643:>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; 5555371:>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; 1569594:>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; 5813332:>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; 18237120:>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; 6251805:>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: 400000000, 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 149.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,%r13d _litmus_P2_1_: xchgl %r13d,(%r10) _litmus_P2_2_: movl (%r10),%r9d _litmus_P2_3_: movl (%r11),%eax _litmus_P1_0_: movl $2,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,%ebp _litmus_P1_3_: xchgl %ebp,(%r14) _litmus_P1_4_: movl $1,(%r12) _litmus_P1_5_: movl (%r12),%ecx _litmus_P1_6_: movl (%r13),%ebx _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%r12) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: movl (%r12),%ebp _litmus_P0_5_: movl (%r13),%ebx Test X008+X009-A Required Histogram (56 states) 9443 :>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; 4078 :>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; 6106 :>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; 14909441:>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; 32513644:>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; 18363090:>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; 456132:>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; 1305329:>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; 835747:>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; 4786582:>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; 30696932:>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; 11971239:>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; 3227 :>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; 53165 :>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; 12738 :>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; 1207622:>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; 11926516:>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; 2840065:>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; 1767 :>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; 219516:>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; 25255 :>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; 3841 :>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; 1062482:>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; 75242 :>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; 6654957:>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; 40270 :>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; 404111:>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; 2453 :>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; 18926524:>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; 88852 :>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; 324812:>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; 84 :>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; 46455222:>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; 60889 :>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; 2225176:>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; 622 :>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; 29153342:>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; 4955 :>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; 17161714:>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; 118898:>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; 676972:>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; 51937414:>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; 11456609:>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; 11723149:>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; 18605754:>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; 1472950:>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; 2397142:>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; 10940864:>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; 3044475:>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; 2587488:>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; 2137937:>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; 12172 :>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; 4635757:>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; 2793 :>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; 23444692:>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; 11752 :>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: 400000000, 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 127.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P2_1_: xchgl %r13d,(%r12) _litmus_P2_2_: movl (%r12),%edx _litmus_P2_3_: movl (%rbp),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: movl (%r13),%ecx _litmus_P1_4_: movl (%r14),%eax _litmus_P1_5_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r8) _litmus_P0_3_: movl $1,(%r13) _litmus_P0_4_: movl (%r13),%r15d _litmus_P0_5_: movl $1,(%rbp) _litmus_P0_6_: movl (%rbp),%edx _litmus_P0_7_: movl (%r12),%ecx _litmus_P0_8_: movl (%r14),%eax Test X009+X010-A Required Histogram (17 states) 50529377:>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; 7157167:>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; 13492986:>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; 88896439:>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; 2476366:>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; 30425238:>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; 78139575:>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; 32554687:>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; 123477896:>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; 342675:>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; 1112046:>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; 958814:>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; 1718532:>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; 47418110:>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; 12459833:>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; 118693:>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; 8721566:>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: 500000000, 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 109.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: movl (%r14),%r15d _litmus_P2_4_: movl (%r8),%eax _litmus_P2_5_: movl (%r13),%edx _litmus_P2_6_: movl (%r12),%ecx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r12) _litmus_P1_3_: movl $1,(%r15) _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r15),%edx _litmus_P1_6_: movl (%rax),%ecx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,%edi _litmus_P0_3_: xchgl %edi,(%r8) _litmus_P0_4_: movl (%r13),%edx _litmus_P0_5_: movl (%r15),%eax _litmus_P0_6_: movl (%r14),%ecx Test X010+X011-A Required Histogram (24 states) 49338059:>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; 107208349:>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; 45227931:>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; 801416:>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; 1745618:>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; 1615215:>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; 3246575:>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; 81200 :>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; 11389270:>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; 46235782:>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; 11540977:>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; 25302 :>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; 5174305:>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; 49709755:>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; 7004906:>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; 1951817:>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; 10286909:>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; 8578755:>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; 57454936:>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; 2959218:>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; 45283253:>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; 32673197:>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; 47655 :>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; 419600:>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: 500000000, 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 132.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P2_1_: xchgl %r14d,(%r13) _litmus_P2_2_: movl (%r13),%edx _litmus_P2_3_: movl (%r12),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl $1,%edi _litmus_P1_3_: xchgl %edi,(%r9) _litmus_P1_4_: movl (%r8),%ecx _litmus_P1_5_: movl (%r14),%eax _litmus_P1_6_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rbp) _litmus_P0_3_: movl (%r12),%edx _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r13),%eax Test X011+X012-A Required Histogram (17 states) 84382923:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 47408581:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 59719 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 67343889:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 50114237:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 55728743:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 834102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 3779845:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2729632:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 11183204:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 7813949:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 16719015:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 77098 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 25544250:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 9050 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 126246996:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 24767 :>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: 500000000, 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 113.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r10d _litmus_P3_1_: xchgl %r10d,(%rbp) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r10),%r8d _litmus_P2_3_: movl (%r9),%eax _litmus_P1_0_: movl $1,%eax _litmus_P1_1_: xchgl %eax,(%rbp) _litmus_P1_2_: movl (%rbp),%r13d _litmus_P1_3_: movl (%r12),%r14d _litmus_P1_4_: movl $1,%eax _litmus_P1_5_: xchgl %eax,(%rcx) _litmus_P1_6_: movl (%rbx),%r15d _litmus_P0_0_: movl $1,%eax _litmus_P0_1_: xchgl %eax,(%r12) _litmus_P0_2_: movl (%rbp),%r13d _litmus_P0_3_: movl $1,%eax _litmus_P0_4_: xchgl %eax,(%rcx) _litmus_P0_5_: movl (%rcx),%r14d _litmus_P0_6_: movl (%rbx),%r15d Test X012+X013-A Required Histogram (45 states) 11582275:>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; 1025527:>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; 4327883:>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; 4443 :>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; 6487467:>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; 14024501:>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; 12295 :>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; 36946940:>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; 10898204:>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; 3143240:>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; 54901465:>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; 11045 :>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; 56832 :>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; 581255:>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; 1652691:>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; 340274:>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; 3625499:>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; 19495051:>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; 270660:>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; 8843364:>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; 2389864:>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; 2265063:>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; 34243349:>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; 50445 :>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; 193307:>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; 1980006:>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; 7317789:>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; 1100640:>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; 6366071:>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; 51333457:>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; 1441503:>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; 29409860:>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; 11747079:>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; 15707259:>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; 37087645:>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; 41292 :>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; 149199:>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; 230972:>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; 410658:>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; 1171584:>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; 950752:>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; 14631820:>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; 545550:>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; 627443:>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; 376482:>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: 400000000, 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 102.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_1_: xchgl %ebp,(%r15) _litmus_P3_2_: movl (%r15),%eax _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl $1,%ebp _litmus_P3_5_: xchgl %ebp,(%r13) _litmus_P3_6_: movl (%r14),%ebx _litmus_P2_0_: movl $1,%ebp _litmus_P2_1_: xchgl %ebp,(%r14) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl $1,%ebp _litmus_P2_4_: xchgl %ebp,(%r13) _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%ebx _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl (%r13),%ebp _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,%r15d _litmus_P1_4_: xchgl %r15d,(%r12) _litmus_P1_5_: movl (%r14),%ebx _litmus_P0_0_: movl $1,(%r12) _litmus_P0_1_: movl $2,%ebp _litmus_P0_2_: xchgl %ebp,(%r13) _litmus_P0_3_: movl (%r15),%eax _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%r14),%ebx Test X013+X014-A Required Histogram (212 states) 448 :>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; 2 :>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; 776 :>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; 24003 :>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; 91165 :>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; 41177 :>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; 156397:>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; 834 :>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; 146661:>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; 4488120:>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; 22558573:>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; 9996319:>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; 3 :>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=0; c=1; 113 :>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=0; c=1; 829 :>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; 2002 :>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; 1157 :>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; 51397 :>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; 18304 :>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; 78005 :>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; 131 :>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; 5388 :>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; 62878 :>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; 42151 :>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; 34305 :>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; 827662:>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; 1265747:>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; 1333677:>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; 112 :>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=0; 3:ECX=0; c=1; 3489 :>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; 225253:>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; 68478 :>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; 137866:>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; 7019519:>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; 9841457:>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; 13930617:>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; 210957:>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; 255 :>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; 119 :>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; 2054 :>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; 36115 :>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; 3817 :>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; 9486552:>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; 4197 :>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; 993 :>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; 18533 :>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; 474796:>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; 36175 :>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; 98 :>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; 9974 :>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; 197507:>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; 34666 :>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; 17 :>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; 584 :>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; 5 :>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; 29 :>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; 302 :>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; 13908 :>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; 1596129:>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; 105553:>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; 1947 :>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; 116530:>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; 43416 :>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; 43055 :>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; 2654 :>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; 129466:>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; 9326695:>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; 699872:>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; 5159 :>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; 154620:>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; 89011 :>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; 68565 :>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; 1331 :>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; 46806 :>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; 24220608:>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; 564229:>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; 11325 :>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; 449210:>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; 593774:>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; 325129:>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; 8275 :>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; 94580 :>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; 562832:>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; 709244:>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; 138155:>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; 5263474:>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; 6865983:>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; 5993868:>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; 519 :>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; 6865 :>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; 310030:>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; 98736 :>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; 21416 :>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; 637184:>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; 1372055:>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; 1003027:>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; 154 :>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; 4244 :>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; 4442 :>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; 43889 :>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; 598 :>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; 88289 :>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; 5560 :>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; 123411:>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; 135 :>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=1; c=1; 4344 :>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; 2521 :>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; 11210 :>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; 151 :>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; 8252 :>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; 637 :>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; 2979 :>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; 1008 :>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=0; 3:ECX=1; c=1; 23031 :>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; 103416:>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; 287171:>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; 6442 :>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; 402056:>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; 120372:>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; 509497:>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; 81349 :>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; 1542552:>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; 41977889:>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; 6432880:>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; 207254:>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; 5800844:>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; 4386068:>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; 2137178:>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; 381 :>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; 5829 :>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; 6906795:>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; 72592 :>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; 3900 :>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; 79175 :>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; 235774:>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; 60776 :>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; 2034 :>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; 163871:>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; 2569993:>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; 577039:>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; 141 :>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; 5468 :>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; 58 :>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; 192 :>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; 12037 :>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; 544017:>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; 10411807:>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; 2006298:>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; 14042 :>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; 725914:>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; 52465 :>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; 201574:>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; 2294 :>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; 121708:>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; 2325751:>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; 387862:>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; 804 :>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; 24836 :>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; 964 :>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; 3881 :>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; 4046 :>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; 153583:>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; 7974721:>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; 806011:>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; 7493 :>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; 351782:>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; 64482 :>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; 125520:>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; 19795 :>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; 3209074:>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; 14617 :>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; 240175:>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; 5474 :>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; 319869:>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; 393910:>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; 30370688:>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; 34543 :>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; 11169821:>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; 213 :>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; 1715 :>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; 743422:>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; 161862:>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; 98720 :>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; 188059:>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; 6974378:>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; 3714661:>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; 231110:>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; 425516:>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; 1014449:>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; 16148492:>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; 14502 :>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; 672310:>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; 567987:>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; 4383206:>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; 474785:>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; 3761111:>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; 2034418:>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; 5231978:>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; 251176:>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; 2117337:>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; 7815779:>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; 4548562:>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; 8158 :>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; 17624 :>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; 20543636:>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; 2310118:>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; 7354712:>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; 2207844:>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; 10825153:>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; 1990633:>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; 937394:>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; 455286:>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: 400000000, 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 140.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,%ebp _litmus_P2_2_: xchgl %ebp,(%r13) _litmus_P2_3_: movl (%r13),%ecx _litmus_P2_4_: movl (%r12),%ebx _litmus_P2_5_: movl (%r15),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,%ecx _litmus_P1_2_: xchgl %ecx,(%r12) _litmus_P1_3_: movl (%r12),%r14d _litmus_P1_4_: movl $1,(%rsi) _litmus_P1_5_: movl (%rsi),%eax _litmus_P1_6_: movl (%rbp),%edx _litmus_P1_7_: movl (%r13),%r15d _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r13) _litmus_P0_4_: movl (%r12),%eax Test X014+X015-A Required Histogram (72 states) 21376940:>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; 1017467:>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; 10369973:>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; 4568516:>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; 739352:>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; 6327904:>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; 2830298:>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; 822474:>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; 2625 :>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; 20341 :>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; 14985074:>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; 33632729:>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; 1174965:>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; 9309781:>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; 198099:>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; 6990 :>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; 1662922:>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; 255431:>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; 634478:>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; 1034642:>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; 2946588:>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; 10079274:>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; 14364910:>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; 1129057:>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; 10319878:>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; 94382 :>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; 44356 :>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; 298638:>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; 3119057:>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; 14147837:>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; 34347 :>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; 1961953:>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; 9242 :>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; 631 :>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; 57481 :>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; 19697 :>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; 13989 :>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; 76160 :>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; 53096 :>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; 556620:>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; 25062575:>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; 14571958:>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; 263999:>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; 1929923:>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; 120961:>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; 5907 :>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; 747392:>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; 177705:>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; 141012:>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; 277276:>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; 589544:>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; 2090289:>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; 8282942:>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; 3912246:>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; 14860594:>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; 1716 :>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; 3872791:>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; 39077 :>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; 19446366:>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; 7820466:>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; 11637085:>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; 25605668:>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; 14205674:>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; 1580950:>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; 1698587:>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; 3597 :>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; 2420304:>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; 258935:>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; 23020023:>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; 21317 :>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; 42977542:>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; 2057385:>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: 400000000, 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 135.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: movl (%r14),%r15d _litmus_P2_4_: movl (%r8),%eax _litmus_P2_5_: movl (%r12),%edx _litmus_P2_6_: movl (%r13),%ecx _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: movl (%r14),%edx _litmus_P1_4_: movl (%rbp),%eax _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r8) _litmus_P0_3_: movl $1,(%r14) _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%r14),%eax _litmus_P0_6_: movl (%r15),%edx Test X015+X016-A Required Histogram (23 states) 45080663:>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; 36498071:>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; 81694916:>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; 41592820:>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; 1419550:>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; 694522:>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; 1311437:>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; 44512356:>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; 4260939:>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; 845281:>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; 52741 :>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; 7728149:>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; 66793852:>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; 25794162:>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; 69269 :>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; 952565:>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; 48830136:>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; 19021698:>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; 3469115:>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; 45967065:>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; 10194023:>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; 355602:>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; 12861068:>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: 500000000, 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 110.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r10d _litmus_P3_1_: xchgl %r10d,(%rbp) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,%eax _litmus_P2_2_: xchgl %eax,(%rsi) _litmus_P2_3_: movl (%rbx),%r14d _litmus_P2_4_: movl (%rcx),%r15d _litmus_P2_5_: movl (%rsi),%r12d _litmus_P2_6_: movl (%rbp),%r13d _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: movl (%r12),%ebx _litmus_P1_4_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: movl (%r12),%ebx _litmus_P0_4_: movl (%r13),%ebp Test X016+X017-A Required Histogram (56 states) 3550953:>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; 2831878:>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; 9978241:>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; 105804:>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; 5383938:>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; 22483 :>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; 9482211:>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; 7567455:>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; 7721315:>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; 1774544:>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; 124124:>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; 957077:>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; 6099637:>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; 46038412:>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; 286 :>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; 2268823:>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; 26170423:>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; 2019456:>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; 7291028:>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; 14877830:>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; 7969855:>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; 150747:>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; 6206417:>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; 16913827:>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; 4607167:>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; 27118040:>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; 18624484:>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; 8335939:>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; 8058364:>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; 32704289:>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; 7574 :>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; 32462 :>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; 26157977:>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; 828417:>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; 386392:>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; 1801397:>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; 3398941:>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; 14298720:>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; 126148:>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; 857428:>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; 9013 :>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; 54152 :>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; 41819 :>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; 301039:>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; 15924893:>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; 15906540:>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; 396125:>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; 1499924:>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; 10109198:>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; 3047296:>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; 13550 :>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; 1160150:>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; 14340742:>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; 1672809:>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; 97297 :>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; 2574950:>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: 400000000, 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 113.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_1_: xchgl %ebp,(%r15) _litmus_P3_2_: movl (%r15),%eax _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl $1,%ebp _litmus_P3_5_: xchgl %ebp,(%r13) _litmus_P3_6_: movl (%r14),%ebx _litmus_P2_0_: movl $1,%ebp _litmus_P2_1_: xchgl %ebp,(%r14) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl $1,%ebp _litmus_P2_4_: xchgl %ebp,(%r13) _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%ebx _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X017+X018-A Required Histogram (134 states) 299 :>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; 75 :>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; 37895 :>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; 58805 :>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; 154093:>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; 5359 :>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; 13238603:>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; 16088620:>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; 35 :>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; 534 :>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; 1022 :>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; 4683 :>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; 9411 :>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; 202276:>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; 223599:>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; 147597:>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; 3280170:>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; 16217676:>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; 347837:>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; 116714:>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; 8959045:>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; 25033237:>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; 65474 :>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; 2592 :>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; 7492 :>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; 7807 :>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; 4032012:>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; 30339 :>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; 153943:>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; 199098:>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; 286251:>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; 86605 :>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; 5088 :>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; 1356833:>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; 178467:>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; 4633 :>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; 157850:>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; 18152658:>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; 2904130:>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; 74832 :>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; 747484:>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; 19575400:>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; 1040167:>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; 195745:>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; 994244:>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; 478949:>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; 2185670:>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; 2979314:>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; 16097655:>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; 286918:>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; 233877:>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; 499911:>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; 1929882:>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; 3059 :>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; 7963 :>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; 3920 :>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; 147957:>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; 3394 :>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; 650146:>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; 5814 :>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; 166088:>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; 267 :>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; 178775:>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; 111866:>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; 451572:>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; 36014 :>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; 1344953:>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; 38925926:>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; 22872942:>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; 529341:>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; 5528134:>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; 3618371:>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; 310870:>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; 29000 :>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; 141597:>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; 4161582:>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; 1638913:>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; 42760 :>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; 11849377:>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; 5202015:>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; 2174 :>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; 711153:>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; 4424255:>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; 1754115:>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; 24 :>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; 97337 :>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; 7055117:>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; 1633921:>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; 5859 :>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; 301990:>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; 6049 :>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; 1203032:>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; 13583 :>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; 236905:>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; 582 :>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; 109921:>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; 399653:>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; 27178483:>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; 2139 :>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; 1947532:>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; 44 :>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; 935 :>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; 860507:>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; 214477:>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; 10409 :>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; 32466 :>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; 10212719:>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; 3220973:>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; 14272 :>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; 34744 :>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; 501118:>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; 10736713:>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; 6775 :>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; 262434:>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; 755031:>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; 5160297:>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; 89381 :>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; 1253773:>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; 2059152:>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; 4996370:>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; 32284 :>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; 494933:>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; 4390779:>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; 3414057:>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; 5484 :>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; 7897 :>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; 28067889:>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; 2331294:>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; 1148624:>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; 716747:>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; 13002798:>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; 1697781:>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; 87153 :>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; 54345 :>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: 400000000, 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 132.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r14) _litmus_P2_1_: movl $1,%ebp _litmus_P2_2_: xchgl %ebp,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%ebx _litmus_P2_5_: movl (%r15),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r11) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r13) Test X018+X019-A Required Histogram (55 states) 24001854:>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; 6188845:>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; 25063231:>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; 4792 :>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; 14829 :>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; 16399552:>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; 4843306:>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; 16687652:>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; 11088340:>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; 374534:>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; 43442782:>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; 1113510:>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; 2696655:>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; 537821:>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; 158813:>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; 217020:>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; 391625:>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; 5127731:>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; 490761:>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; 2980327:>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; 1672764:>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; 12512871:>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; 1846836:>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; 3185062:>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; 147881:>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; 10146601:>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; 28220443:>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; 27867 :>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; 1473104:>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; 8051149:>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; 142616:>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; 3163022:>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; 15962330:>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; 2758 :>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; 524945:>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; 25582815:>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; 15932617:>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; 31220 :>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; 405482:>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; 515367:>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; 5497202:>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; 681113:>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; 1375186:>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; 3025895:>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; 6078 :>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; 13916426:>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; 5411578:>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; 21623988:>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; 184066:>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; 2068951:>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; 1570771:>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; 83 :>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; 26019291:>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; 27244219:>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; 3423 :>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: 400000000, 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 129.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r8) _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%rbp),%ebx _litmus_P2_5_: movl (%r13),%r15d _litmus_P2_6_: movl (%r14),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: movl (%r12),%ebx _litmus_P1_4_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X019+X020-A Required Histogram (56 states) 2581928:>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; 7501604:>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; 95426 :>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; 6319615:>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; 5586067:>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; 1399820:>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; 45404 :>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; 651634:>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; 44361024:>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; 2086025:>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; 11499147:>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; 14172558:>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; 23938949:>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; 29505570:>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; 35197 :>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; 1123866:>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; 11549495:>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; 776967:>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; 20814 :>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; 156814:>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; 13731108:>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; 1421284:>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; 442433:>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; 1411156:>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; 7250 :>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; 8792320:>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; 283 :>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; 1273376:>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; 93467 :>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; 4967741:>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; 8241892:>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; 9966 :>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; 545550:>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; 3629256:>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; 135234:>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; 11045 :>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; 34878 :>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; 20241493:>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; 382158:>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; 2095466:>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; 1158249:>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; 4294766:>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; 14810321:>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; 10007124:>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; 8125612:>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; 12688521:>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; 612185:>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; 57416 :>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; 186038:>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; 6720121:>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; 33692303:>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; 9162515:>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; 19191021:>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; 24094847:>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; 10513831:>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; 13809850:>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: 400000000, 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 126.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_1_: xchgl %ebp,(%r15) _litmus_P3_2_: movl (%r15),%eax _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl $2,%ebp _litmus_P3_5_: xchgl %ebp,(%r13) _litmus_P3_6_: movl (%r14),%ebx _litmus_P2_0_: movl $2,%ebp _litmus_P2_1_: xchgl %ebp,(%r14) _litmus_P2_2_: movl (%r15),%eax _litmus_P2_3_: movl $1,%ebp _litmus_P2_4_: xchgl %ebp,(%r13) _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%ebx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r12) _litmus_P0_4_: movl (%r13),%eax Test X020+X021-A Required Histogram (133 states) 33274 :>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; 44091 :>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; 11358063:>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; 11710924:>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; 12780 :>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; 133091:>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; 9230668:>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; 15919892:>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; 3274 :>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; 4041 :>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; 212778:>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; 82425 :>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; 6256 :>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; 105329:>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; 383092:>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; 593485:>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; 3037303:>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; 9994399:>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; 510296:>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; 1508228:>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; 5444 :>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; 222682:>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; 44714 :>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; 848979:>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; 480521:>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; 3883342:>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; 32421 :>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; 78811 :>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; 3184 :>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; 283000:>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; 10903 :>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; 150134:>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; 18080 :>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; 5048088:>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; 198238:>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; 7595541:>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; 61 :>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; 405 :>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; 46326 :>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; 64438 :>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; 18659734:>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; 796816:>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; 1445677:>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; 879756:>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; 5225785:>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; 10782 :>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; 795128:>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; 71172 :>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; 168 :>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; 55 :>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; 22237 :>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; 2689 :>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; 1080 :>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; 2471 :>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; 117318:>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; 67943 :>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; 40334 :>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; 2112 :>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; 3074309:>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; 48898 :>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; 1296776:>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; 131846:>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; 15576585:>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; 1101810:>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; 454285:>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; 1008834:>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; 194442:>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; 139379:>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; 5185 :>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; 46137 :>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; 117331:>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; 233545:>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; 37575014:>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; 15435161:>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; 3302023:>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; 288894:>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; 11462646:>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; 3094334:>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; 5815421:>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; 1307016:>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; 1649 :>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; 8135 :>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; 26102 :>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; 26323 :>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; 1190934:>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; 16473 :>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; 145988:>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; 80810 :>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; 11987500:>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; 8648 :>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; 2348709:>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; 147110:>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; 19 :>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; 4257867:>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; 7407161:>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; 714 :>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; 317473:>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; 508466:>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; 144 :>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; 507 :>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; 56688 :>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; 3820 :>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; 95 :>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; 27434 :>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; 325384:>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; 42805214:>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; 205740:>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; 2706651:>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; 6268656:>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; 5990784:>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; 1529751:>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; 1055120:>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; 74823 :>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; 78462 :>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; 354829:>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; 72407 :>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; 21910129:>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; 3509829:>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; 27 :>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; 9150 :>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; 54389 :>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; 5045188:>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; 1136805:>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; 4730583:>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; 1396348:>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; 18522 :>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; 604428:>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; 890336:>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; 10956720:>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; 884368:>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; 2107484:>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; 29583332:>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; 13375643:>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: 400000000, 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 145.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: movl (%r12),%ebp _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r13),%ebx Test X021+X022-A Required Histogram (45 states) 5980766:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1255494:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 8215189:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 21959475:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1699702:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 18980554:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 17699645:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1381214:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 10472943:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1557389:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 65904 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 678747:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 26112216:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 15820590:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 17629431:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 250582:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 770393:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 2675 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 9003072:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 16710 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 44379068:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 18531 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 30673982:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 3893 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 190 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1432 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 3057639:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 630208:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 4937866:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 141085:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 38543 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 271328:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 969983:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 95668 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 858412:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 8930342:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 56994059:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 29640546:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 25759984:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 1312306:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1743 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 5213566:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 1014 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 26511761:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 4160 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 125.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,%r13d _litmus_P2_1_: xchgl %r13d,(%r11) _litmus_P2_2_: movl (%r11),%r9d _litmus_P2_3_: movl (%r10),%eax _litmus_P1_0_: movl $2,%r15d _litmus_P1_1_: xchgl %r15d,(%r13) _litmus_P1_2_: movl (%r13),%ebp _litmus_P1_3_: movl (%r14),%ebx _litmus_P1_4_: movl $1,(%r11) _litmus_P1_5_: movl $1,(%r12) _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $2,%r15d _litmus_P0_3_: xchgl %r15d,(%r11) _litmus_P0_4_: movl (%r11),%ebp _litmus_P0_5_: movl (%r12),%ebx Test X022+X023-A Required Histogram (128 states) 1146 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 4815 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 32510 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1156 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 405 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 16873 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2587 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2024 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 59216 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 52048 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1818583:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1582074:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 11204959:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 6345 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 565255:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 90037 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2633448:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 18539 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1243575:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 437953:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 10485654:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 5671 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 82179 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 17079 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 100621:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 304 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 5180 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 330 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 3868 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 588 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 14467 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1274 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 25681 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 79651 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1098005:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 130689:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 590341:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4326 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 46358 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 2280 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 6727 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 8123 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 122887:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4686 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 48395 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 45880 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 612 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 3149 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1475622:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 31723885:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 13417 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 144966:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 42138 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1427289:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 566149:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 2405285:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 577 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 615 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1548 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1816 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 16046838:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 35545360:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 11894 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 6253 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 26666 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 14172 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 2167 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1071213:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 12279022:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 7995 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 51251 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 3005984:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 9217 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 305059:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 11280444:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 65835 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 811274:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 449905:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 3756038:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1930 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 42738 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 14007 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 218163:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 4061 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 103083:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 46889 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 554739:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 18170583:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 70718 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 1110983:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 3607992:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 46869673:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 3636 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 25315 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 9450 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 84797 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1750779:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1144 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 231029:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 13727 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 57946532:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 229555:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 21932040:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 237 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 1658436:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 1773 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 113511:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 3450 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 7144081:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 5788 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 193180:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1755 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 28933 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 242828:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 435 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 2501 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 7518 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 13530 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 23580076:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 132423:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 36900156:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 1622 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 18001919:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 35036 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 3441891:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 135825:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 2684 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 48402 :>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: 400000000, 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 128.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $2,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: movl (%r12),%ebp _litmus_P2_4_: movl (%r11),%ebx _litmus_P2_5_: movl $1,(%r14) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,%ecx _litmus_P1_2_: xchgl %ecx,(%r12) _litmus_P1_3_: movl (%r12),%r14d _litmus_P1_4_: movl $1,(%rsi) _litmus_P1_5_: movl (%rsi),%eax _litmus_P1_6_: movl (%rbp),%edx _litmus_P1_7_: movl (%r13),%r15d _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl $1,(%r10) Test X023+X024-A Required Histogram (138 states) 84083 :>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; 5377 :>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; 39243 :>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; 151144:>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; 24468 :>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; 149 :>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; 1007 :>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; 3903517:>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; 699240:>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; 4582166:>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; 1700507:>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; 264268:>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; 1656 :>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; 14750 :>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; 87561 :>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; 305251:>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; 32682521:>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; 10560052:>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; 18633 :>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; 151506:>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; 843059:>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; 6958933:>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; 59393 :>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; 9678 :>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; 58647 :>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; 11030 :>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; 1760 :>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; 1 :>1:EAX=1; 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; 38 :>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; 361 :>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; 632 :>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; 715053:>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; 227646:>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; 39 :>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; 571 :>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; 13876 :>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; 69589 :>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; 248520:>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; 54164 :>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; 347710:>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; 1214250:>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; 145526:>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; 373 :>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; 6441 :>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; 12159 :>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; 61085 :>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; 19044370:>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; 2678425:>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; 1895 :>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; 39070 :>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; 204781:>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; 1378873:>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; 16835473:>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; 1174668:>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; 144174:>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; 1049833:>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; 666743:>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; 2604950:>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; 336313:>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; 1923 :>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; 134 :>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; 1530 :>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; 1265 :>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; 4102 :>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; 28459590:>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; 195293:>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; 21311 :>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; 273081:>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; 103984:>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; 419283:>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; 85100 :>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=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 289523:>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; 15003312:>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; 5180 :>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; 913113:>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; 39488 :>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; 5831050:>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; 335 :>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; 128312:>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; 7 :>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=2; z=1; 787 :>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; 122 :>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; 24104 :>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; 14879 :>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; 1358331:>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; 950 :>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; 120424:>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; 4866 :>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; 911876:>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; 5378416:>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; 3860812:>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; 23277562:>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; 622233:>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; 129406:>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; 296379:>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; 27551684:>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; 21935171:>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; 43162823:>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; 17778576:>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; 707052:>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; 6043763:>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; 1101943:>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; 265057:>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; 328 :>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; 1783 :>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; 16823939:>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; 1190009:>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; 8517710:>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; 20508 :>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; 1557 :>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; 3 :>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=2; 47 :>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; 344 :>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; 613 :>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; 5537326:>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; 1303213:>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; 32 :>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; 973 :>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; 56872 :>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; 200260:>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; 561937:>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; 2793 :>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; 267 :>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; 2894 :>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; 2805 :>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; 5269 :>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; 7579475:>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; 83 :>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; 3317 :>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; 33992589:>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; 9 :>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=2; 1480 :>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; 174 :>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; 42963 :>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; 4297571:>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; 251194:>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; 778275:>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: 400000000, 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 152.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P2_1_: movl $2,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: movl (%r14),%r15d _litmus_P2_4_: movl (%r8),%eax _litmus_P2_5_: movl (%r12),%edx _litmus_P2_6_: movl (%r13),%ecx _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl $1,%r15d _litmus_P1_3_: xchgl %r15d,(%r14) _litmus_P1_4_: movl (%rdx),%eax _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl $1,%edi _litmus_P0_4_: xchgl %edi,(%r14) _litmus_P0_5_: movl (%r15),%edx _litmus_P0_6_: movl (%rax),%ecx Test X024+X025-A Required Histogram (48 states) 24872 :>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; 7641 :>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; 446472:>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; 522843:>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; 46537044:>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; 36772912:>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; 76962338:>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; 1014035:>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; 1600393:>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; 65775 :>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; 96568 :>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; 41281 :>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; 21626 :>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; 298498:>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; 578896:>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; 8968 :>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; 6088315:>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; 26138 :>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; 377862:>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; 4326048:>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; 1568458:>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; 907386:>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; 2855461:>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; 19107 :>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; 4961547:>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; 281312:>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; 1521772:>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; 13100 :>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; 26420 :>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; 3359470:>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; 44274517:>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; 2077783:>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; 45212 :>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; 12555153:>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; 6620062:>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; 39062394:>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; 7212183:>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; 2008260:>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; 88773 :>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; 24145822:>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; 3615832:>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; 47376825:>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; 953819:>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; 15641651:>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; 2965775:>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; 40797265:>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; 40698712:>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; 18527404:>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: 500000000, 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 126.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%rbp),%ebx _litmus_P2_5_: movl (%r13),%r15d _litmus_P2_6_: movl (%r14),%eax _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: movl (%r12),%ebx _litmus_P0_4_: movl (%r13),%ebp Test X025+X026-A Required Histogram (127 states) 64722 :>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; 60776 :>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; 202200:>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; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 170 :>0:EAX=0; 0:EBX=0; 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=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 15 :>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; 37 :>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; 306 :>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; 1565234:>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; 20228 :>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; 110353:>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; 216514:>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; 79 :>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; 157 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 4229260:>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; 28725054:>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; 17408936:>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; 7890581:>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; 8443878:>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; 33422584:>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; 54 :>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; 374 :>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; 3904 :>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; 326 :>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; 64 :>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; 759 :>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; 5244 :>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; 13048 :>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; 24723416:>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; 819757:>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; 191346:>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; 945182:>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; 46102 :>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; 12720 :>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; 56321 :>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; 30066 :>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; 42973 :>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; 564417:>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; 7959346:>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; 775747:>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; 59531 :>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; 1540669:>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; 8525 :>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; 59563 :>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; 942027:>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; 80598 :>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; 10212 :>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; 216015:>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; 129690:>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; 488506:>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; 2348 :>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; 17592 :>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; 179368:>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; 738337:>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; 33189 :>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; 154809:>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; 463604:>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; 1029929:>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; 5940807:>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; 1022170:>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; 7454 :>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; 534046:>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; 113544:>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; 100668:>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; 3417854:>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; 554317:>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; 2339 :>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; 369949:>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; 206 :>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; 7 :>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; 6161315:>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; 4132719:>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; 15737137:>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; 533 :>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; 1691 :>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; 2 :>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; 2360 :>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; 3597 :>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; 70731 :>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; 7754403:>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; 16923 :>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; 11640868:>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; 8761956:>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; 1102528:>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; 56410 :>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; 3387568:>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; 1450109:>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; 1993 :>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; 6911975:>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; 10912084:>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; 251852:>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; 5525593:>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; 9708327:>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; 4142 :>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; 2358993:>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; 5456912:>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; 233597:>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; 2570426:>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; 8925132:>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; 1449929:>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; 3527 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 5209449:>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; 8889518:>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; 2649525:>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; 1030998:>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; 4625 :>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; 495751:>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; 2587923:>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; 10385572:>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; 1447 :>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; 8866 :>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; 11755385:>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; 5093468:>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; 1262618:>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; 282316:>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; 1360 :>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; 80449 :>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; 7432667:>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; 26835 :>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; 8319570:>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; 38104997:>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; 16258842:>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; 1731584:>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; 1949705:>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; 5071067:>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: 400000000, 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 130.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r14) _litmus_P3_2_: movl (%r14),%ebp _litmus_P3_3_: movl (%r11),%ebx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl $1,(%r13) _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl $2,%r15d _litmus_P2_3_: xchgl %r15d,(%r12) _litmus_P2_4_: movl (%r12),%ebp _litmus_P2_5_: movl (%r11),%ebx _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X026+X027-A Required Histogram (294 states) 1 :>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; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 58 :>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; 201 :>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; 1676 :>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; 8275 :>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; 2389 :>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; 19998 :>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; 78 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 120 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 9 :>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; 454 :>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; 8 :>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; 1119 :>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; 731 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1100 :>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; 38 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 12624 :>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; 3 :>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; 12511 :>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; 2239 :>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; 468 :>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; 42801 :>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; 99584 :>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; 199262:>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; 207448:>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; 271250:>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; 1303156:>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; 420 :>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; 14752 :>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; 247 :>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; 24253 :>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; 8329 :>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; 24629 :>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; 15665 :>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; 162063:>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; 2441 :>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; 190858:>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; 798 :>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; 173196:>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; 63674 :>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; 418207:>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; 21142 :>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; 786784:>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; 9616 :>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; 608 :>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; 26 :>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; 357 :>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; 802922:>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; 99411 :>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; 1702 :>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; 25633 :>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; 50653 :>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; 20206 :>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; 1032 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 58694 :>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; 21747 :>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; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 5106 :>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; 756473:>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; 347436:>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; 4859 :>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; 977285:>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; 383840:>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; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 34493 :>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; 173174:>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; 7013 :>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; 2398 :>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; 8492 :>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; 5077191:>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; 297635:>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; 40712 :>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; 188136:>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; 967636:>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; 349855:>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; 598 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 31724 :>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; 1324292:>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; 358283:>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; 8336 :>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; 107471:>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; 6916706:>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; 2302904:>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; 1815 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 152933:>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; 8958909:>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; 1601582:>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; 21716 :>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; 427470:>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; 22 :>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; 834 :>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; 8404 :>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; 2645 :>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; 17764 :>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; 47 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 1138 :>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; 257497:>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; 435187:>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; 2413 :>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; 24647 :>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; 8319 :>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; 6956 :>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; 145811:>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; 149052:>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; 662911:>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; 958 :>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; 28405 :>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; 5282950:>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; 8011549:>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; 32542 :>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; 286705:>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; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 4084 :>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; 4133 :>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; 68104 :>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; 6882 :>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; 761 :>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; 474 :>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; 2372078:>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; 92282 :>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; 43870 :>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; 15751 :>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; 37 :>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; 5602 :>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; 10100 :>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; 1050200:>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; 179581:>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; 7819 :>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; 5971 :>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; 13679277:>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; 1592560:>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; 88617 :>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; 72537 :>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; 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=2; 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=1; e=2; z=1; 120 :>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; 304 :>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; 114 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 168 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 9 :>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; 385 :>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; 19 :>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; 1274 :>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; 78448 :>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; 7490 :>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; 15371488:>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; 20655288:>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; 103057:>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; 141367:>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; 2741481:>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; 18395150:>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; 174167:>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; 106724:>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; 6570253:>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; 22701791:>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; 13544 :>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; 693 :>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; 59 :>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; 492 :>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; 80457 :>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; 26173 :>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; 1109 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 74353 :>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; 22834 :>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; 23 :>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; 7552 :>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; 1555109:>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; 30595 :>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; 71834 :>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; 66686 :>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; 13574365:>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; 1665269:>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; 61315 :>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; 269799:>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; 11519120:>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; 683896:>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; 106884:>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; 453568:>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; 11 :>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; 2188 :>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; 17835 :>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; 23 :>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; 1252 :>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; 1006528:>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; 1545417:>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; 18574513:>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; 1686 :>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; 1345527:>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; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 80176 :>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; 12404 :>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; 642 :>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; 1542 :>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; 219 :>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; 6208710:>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; 1101703:>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; 4922 :>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; 18637 :>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; 96 :>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; 36 :>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; 951 :>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; 1529 :>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; 2092380:>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; 7150615:>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; 1557156:>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; 16953013:>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; 133 :>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; 191 :>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; 336 :>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; 1837 :>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; 362 :>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; 7053 :>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; 2344 :>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; 5363 :>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; 1272 :>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; 163786:>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; 340 :>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; 197864:>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; 11284 :>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; 1380 :>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; 348 :>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; 1045 :>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; 44508856:>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; 22638861:>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; 656819:>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; 3921669:>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; 62553 :>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; 25096 :>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; 1095 :>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; 122225:>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; 56953 :>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; 351 :>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; 16546 :>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; 5290231:>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; 1592978:>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; 25645 :>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; 10899869:>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; 3349616:>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; 1139 :>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; 328939:>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; 135 :>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; 1434143:>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; 11855791:>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; 5511 :>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; 26911 :>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; 216 :>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; 5473 :>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; 2125910:>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; 5013264:>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; 100667:>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; 532382:>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; 8 :>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=2; 4032931:>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; 2246765:>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; 122944:>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; 15781 :>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; 3774 :>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; 2167 :>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; 28558448:>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; 1384523:>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; 773647:>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; 326478:>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; 107 :>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; 39 :>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; 2438 :>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; 2906 :>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; 191 :>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; 370 :>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; 558 :>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; 3196 :>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; 579 :>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; 12441 :>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; 13777 :>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; 1515 :>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; 994 :>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; 2202 :>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; 103679:>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; 36455 :>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; 1845 :>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; 157225:>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; 58787 :>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; 1398 :>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; 97407 :>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; 202 :>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; 6639 :>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; 31915 :>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; 650 :>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; 9086 :>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; 8 :>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; 152624:>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; 104772:>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; 4646 :>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; 22895 :>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: 400000000, 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 150.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $2,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: movl (%r11),%ebp _litmus_P2_4_: movl (%r12),%ebx _litmus_P2_5_: movl $1,(%r14) _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r10) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X027+X028-A Required Histogram (106 states) 178546:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 297 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 3538 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 318639:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 20150140:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 476686:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1163672:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4615158:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 8567732:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 887 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 283793:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 900 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 2882 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 19952 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 70688 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 15441 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2277941:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 61176 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 196562:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 451022:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1431083:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 34049 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 142028:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 5234 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1051900:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1351053:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 8744 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 31316845:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 968263:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 36855 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 13023 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 94 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 806279:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 26961 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 171003:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1106566:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 10564 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 18668969:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 339357:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1928561:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 12638343:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 8666906:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 7650 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 43138 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 14901 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 236094:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 3960649:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1188961:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 10080614:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 6175 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 412748:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 41 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 26923737:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 5907 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 105699:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 245286:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 6868254:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 226223:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 84055 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 997 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 92541 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 240 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 78 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 31548 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 891571:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 33151 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 11094 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 12219155:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 4934367:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 11591008:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 659918:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 252802:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 151343:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 33483081:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 32948114:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 26482696:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 19709253:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 288 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 5661 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 3134 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 26826754:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1430 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 2496 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 50693 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 98471 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 10657979:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1032516:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 33422 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 5681586:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 21264 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 90 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 5689063:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 202411:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 8982 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 83872 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 19742 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 625315:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 49 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 5199033:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 6827 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 24725130:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 301 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 91 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 4634057:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 545470:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 362452:>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: 400000000, 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 147.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%rbp),%ebx _litmus_P2_5_: movl (%r13),%r15d _litmus_P2_6_: movl (%r14),%eax _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X028+X029-A Required Histogram (126 states) 27656 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 111325:>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; 14 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 244 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 80968 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 136 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 24927459:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 28528765:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 443 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 429 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 9324 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 519801:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 34250 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 5199 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 51882 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 18891 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 490166:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 594527:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 57946 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 133614:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 431955:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 11470 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 747705:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 97193 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 958297:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 240587:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 105804:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 282931:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 7879 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 51 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5260348:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 8463373:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 111 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 236 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 3655 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 453698:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 38991 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 400341:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 8655 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 54946 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 142154:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 6563 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 227191:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 43734 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 395735:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 523513:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 137602:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 380899:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 94 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 3911861:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 12123374:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 438 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 3418 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 51720 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 7664976:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 660891:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 46560 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2226330:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1015220:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 5189682:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 7512013:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2164425:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 8237919:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 9672 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 1071 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 103193:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 3084 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 118566:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 78135 :>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=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 83453 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 10825019:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 98 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 178926:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 105791:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 7424 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 21744 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 2281 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 241 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 2095963:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 21177046:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3920 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 22536030:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 8139270:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 1116412:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 5730527:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 2712018:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 6147465:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4184 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 18870080:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 6885530:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 2689058:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 2314 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 10736071:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 13191135:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 6641550:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 1418993:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1600 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 7069073:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 187223:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 10013336:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 6964 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 4586333:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 29899 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 5064749:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 660092:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 3392909:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 5533 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 14980124:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 338722:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 5853634:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 14834 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 38257303:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 3854693:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 9451797:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 803334:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 14321 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 652 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 2947287:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 1219033:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 2797347:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 20985346:>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: 400000000, 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 142.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r14) _litmus_P3_2_: movl (%r14),%ebp _litmus_P3_3_: movl (%r11),%ebx _litmus_P3_4_: movl $2,(%r12) _litmus_P3_5_: movl $1,(%r13) _litmus_P2_0_: movl $2,(%r13) _litmus_P2_1_: movl $1,(%r14) _litmus_P2_2_: movl $2,%r15d _litmus_P2_3_: xchgl %r15d,(%r12) _litmus_P2_4_: movl (%r12),%ebp _litmus_P2_5_: movl (%r11),%ebx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r9) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r12) _litmus_P0_4_: movl (%r13),%eax Test X029+X030-A Required Histogram (290 states) 29 :>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; 119 :>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; 754 :>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; 10815 :>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; 2 :>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; 158 :>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; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 2252 :>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; 28148 :>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; 58041 :>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; 194884:>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; 896745:>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; 13880 :>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; 92960 :>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; 26508 :>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; 498180:>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; 7 :>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; 39 :>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; 694 :>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; 10463 :>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 414 :>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; 10 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 5305 :>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; 1068 :>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; 1356 :>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; 30798 :>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; 58591 :>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; 6573 :>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; 17850 :>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; 22738 :>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; 100856:>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; 89 :>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; 11515 :>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; 280 :>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; 9102 :>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; 70794 :>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; 462794:>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; 47062 :>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; 302467:>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; 3994 :>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; 77 :>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; 3166 :>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; 26 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 4202 :>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; 2704 :>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; 25777 :>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 897 :>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; 4713 :>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=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 22 :>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; 11 :>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; 1523 :>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; 734 :>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; 266 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 86253 :>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; 123316:>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; 4118 :>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; 6642 :>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; 39564 :>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; 159705:>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; 9533 :>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; 515 :>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; 873012:>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; 86333 :>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; 44396 :>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; 15620 :>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; 973250:>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; 217894:>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; 142448:>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; 5863 :>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; 5019191:>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; 290513:>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; 1148460:>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; 258970:>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; 8634976:>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; 1182937:>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; 1685 :>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; 41 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 2525 :>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; 13302 :>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; 1466 :>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; 42305 :>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; 6738 :>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; 576 :>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; 30155 :>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; 6577 :>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; 10291 :>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; 101082:>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; 57 :>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; 159 :>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; 11 :>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; 255 :>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; 12896041:>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; 13534959:>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; 8087021:>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; 14656247:>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; 3 :>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; 54 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 7 :>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; 523 :>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; 113455:>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; 14400 :>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; 297286:>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; 146238:>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; 122 :>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; 400 :>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; 5687917:>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; 4644537:>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; 60 :>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; 102 :>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; 9307 :>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; 11 :>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; 41 :>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; 19867 :>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; 4335 :>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; 79375 :>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; 75248 :>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; 13545 :>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; 596 :>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; 56770 :>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; 16803 :>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; 1335262:>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; 19817 :>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; 11163129:>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; 604265:>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; 28 :>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; 4403 :>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; 323 :>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; 7558 :>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; 7 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 30 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 309 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 7145 :>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; 1303 :>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; 44763 :>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; 54 :>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; 554 :>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; 564 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 5280 :>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; 2057 :>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; 28688 :>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; 18011 :>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; 584863:>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; 873950:>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; 9588046:>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; 1200 :>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; 59671 :>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; 107174:>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; 1222026:>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; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 428 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 3664 :>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; 2562 :>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; 45831 :>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; 53915 :>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; 11182 :>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; 810564:>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; 245271:>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; 1030242:>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; 389104:>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; 7563447:>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; 2170929:>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; 3170 :>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; 216143:>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; 162117:>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; 4747373:>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; 57174 :>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; 2521609:>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; 1210539:>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; 15394762:>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; 18 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=2; z=1; 4627445:>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; 8305188:>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; 87 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 281745:>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; 181069:>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; 22284 :>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; 39209518:>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; 1444 :>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; 1296814:>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; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=2; z=1; 40146 :>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; 74210 :>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; 89946 :>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; 16470 :>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; 18160157:>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; 2500999:>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; 3356 :>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; 1529649:>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; 71102 :>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; 8200112:>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; 757 :>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; 936 :>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; 1603480:>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; 11067242:>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; 444 :>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; 4212 :>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; 217 :>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; 79734 :>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; 127 :>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; 145 :>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; 650591:>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; 2512978:>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; 318 :>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; 1667 :>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; 1090 :>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; 84317 :>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; 387 :>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; 21172837:>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; 6090 :>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; 420237:>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; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 4580764:>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; 848 :>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; 131169:>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; 74 :>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; 23 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 1607841:>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; 3183631:>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; 302 :>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; 725 :>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; 1336 :>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; 50738 :>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; 9726 :>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; 1137 :>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; 36716223:>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; 16709336:>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; 82367 :>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; 45869 :>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; 7932820:>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; 1962909:>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; 3453528:>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; 429 :>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; 130521:>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; 12191358:>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; 2632 :>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; 599942:>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; 1626 :>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; 1762 :>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; 585 :>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; 12612 :>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; 165 :>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; 251 :>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; 635 :>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; 5399 :>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; 626 :>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; 14041 :>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; 2057 :>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; 66 :>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; 31 :>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; 649 :>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; 2316 :>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; 12950 :>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; 1431 :>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; 108832:>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; 62420 :>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; 1183 :>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; 4328 :>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; 2 :>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; 107 :>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; 54 :>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; 1673 :>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; 32232 :>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; 5551557:>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; 3433 :>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; 822841:>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; 5 :>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; 44 :>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; 65479 :>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; 13971 :>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; 5718118:>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; 1581190:>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; 6940 :>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; 1833493:>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; 113518:>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; 26811772:>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; 5 :>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; 84 :>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; 42519 :>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; 4285 :>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; 3 :>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; 112102:>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; 22553 :>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; 8018 :>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; 155225:>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: 400000000, 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 162.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_1_: xchgl %r13d,(%r11) _litmus_P3_2_: movl (%r11),%r9d _litmus_P3_3_: movl (%r10),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r15) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,%ebp _litmus_P1_3_: xchgl %ebp,(%r12) _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r14),%ebx _litmus_P0_0_: movl $1,%ebp _litmus_P0_1_: xchgl %ebp,(%r14) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl $1,(%r15) _litmus_P0_4_: movl (%r15),%ecx _litmus_P0_5_: movl $1,(%rax) _litmus_P0_6_: movl (%r13),%ebx Test X030+X031-A Required Histogram (56 states) 25535 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 105514:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 51044 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 5874112:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 40029607:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 13990898:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 2694 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 394494:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 23318 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 601 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 2435855:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 49174 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 8292 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 47 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 10382034:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 49297 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1798706:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 683 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 28225411:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 4837 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1047637:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 24364 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 79572 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 47288908:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 12719968:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 10346740:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1450201:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 530589:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 288137:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 10380946:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 9355804:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 2035975:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 677354:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 5609 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 355489:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 342 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 14071895:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 9789 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 17774158:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 36197825:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 20353066:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1159132:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 18076800:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 2931148:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 2923201:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 17378 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 36064054:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 27569 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 20130318:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 110989:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 654836:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 20854273:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 3980656:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2404242:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2216939:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 1944 :>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: 400000000, 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 142.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r14) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%r14) _litmus_P1_2_: movl $1,(%r15) _litmus_P1_3_: movl (%r15),%eax _litmus_P1_4_: movl (%r8),%edx _litmus_P1_5_: movl $1,%edi _litmus_P1_6_: xchgl %edi,(%r9) _litmus_P1_7_: movl (%r13),%ecx _litmus_P0_0_: movl $1,(%rbp) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,%ebx _litmus_P0_3_: xchgl %ebx,(%rdi) _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r12),%edx _litmus_P0_6_: movl (%r14),%r15d _litmus_P0_7_: movl (%r13),%ecx _litmus_P0_8_: movl (%r8),%eax Test X031+X032-A Required Histogram (15 states) 39555833:>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; 818752:>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; 79094943:>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; 96239396:>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; 5275630:>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; 27226163:>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; 54066648:>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; 24006152:>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; 102875032:>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; 8793001:>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; 17764705:>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; 36478335:>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; 5987102:>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; 93716 :>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; 1724592:>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: 500000000, 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 130.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebx _litmus_P2_1_: xchgl %ebx,(%r14) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl $1,%ebx _litmus_P2_6_: xchgl %ebx,(%r8) _litmus_P2_7_: movl $1,(%rdi) _litmus_P2_8_: movl (%rdi),%r15d _litmus_P2_9_: movl (%rbp),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%r14) _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl $1,(%r15) _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r15),%edx _litmus_P1_6_: movl (%rax),%ecx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,%edi _litmus_P0_3_: xchgl %edi,(%r8) _litmus_P0_4_: movl (%r13),%edx _litmus_P0_5_: movl (%r15),%eax _litmus_P0_6_: movl (%r14),%ecx Test X032+X033-A Required Histogram (31 states) 5315661:>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; 34410337:>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; 100126677:>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; 45586833:>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; 298752:>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; 3106943:>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; 14142251:>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; 42704731:>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; 78082 :>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; 9404702:>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; 10187874:>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; 7543480:>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; 130994:>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; 48786275:>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; 15761008:>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; 452784:>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; 35653136:>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; 1047746:>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; 103444:>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; 30465 :>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; 596816:>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; 1614053:>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; 8366536:>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; 101763:>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; 23514 :>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; 53874120:>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; 91622 :>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; 12795017:>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; 47643565:>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; 168 :>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; 20651 :>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: 500000000, 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 150.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r14) _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r13),%eax _litmus_P1_0_: movl $2,(%r13) _litmus_P1_1_: movl $1,(%r14) _litmus_P1_2_: movl $1,%edi _litmus_P1_3_: xchgl %edi,(%r9) _litmus_P1_4_: movl (%r8),%ecx _litmus_P1_5_: movl (%r14),%eax _litmus_P1_6_: movl (%r15),%edx _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r12) _litmus_P0_3_: movl $1,(%rax) _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r14),%edx _litmus_P0_6_: movl (%r15),%ecx Test X033+X034-A Required Histogram (17 states) 73074378:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 41741372:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 119330:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 69736133:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 53319190:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 65442230:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1050200:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 3443658:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2922488:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 16570655:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 12365416:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 18741886:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 175557:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 19348649:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 56599 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 121763896:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 128363:>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: 500000000, 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 125.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%edx _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $1,%edi _litmus_P1_1_: xchgl %edi,(%r13) _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: movl (%r14),%eax _litmus_P1_4_: movl (%r15),%edx _litmus_P1_5_: movl $1,%edi _litmus_P1_6_: xchgl %edi,(%r8) _litmus_P1_7_: movl (%r9),%ecx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rbp) _litmus_P0_3_: movl (%r13),%edx _litmus_P0_4_: movl (%r12),%eax Test X034+X035-A Required Histogram (18 states) 44586338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 3839158:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 503257:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 29198707:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 100369324:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1159910:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 59805291:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 65022720:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 31834512:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 100986749:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 146472:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 655445:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 6458436:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 8522932:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 36148734:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 4133764:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 640113:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 5988138:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 109.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r10d _litmus_P3_1_: xchgl %r10d,(%rbp) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%rbp) _litmus_P2_1_: movl $1,%eax _litmus_P2_2_: xchgl %eax,(%rdx) _litmus_P2_3_: movl $1,(%rsi) _litmus_P2_4_: movl $1,(%rcx) _litmus_P2_5_: movl (%rcx),%r12d _litmus_P2_6_: movl (%rsi),%r14d _litmus_P2_7_: movl (%rdi),%r15d _litmus_P2_8_: movl (%rbx),%r13d _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r13) _litmus_P1_3_: movl (%r12),%ebx _litmus_P1_4_: movl (%r14),%ebp _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%r11) _litmus_P0_2_: movl (%r14),%ebp _litmus_P0_3_: movl $1,%r15d _litmus_P0_4_: xchgl %r15d,(%r12) _litmus_P0_5_: movl (%r13),%ebx Test X035+X036-A Required Histogram (72 states) 924728:>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; 5906416:>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; 3728600:>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; 240688:>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; 902094:>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; 996270:>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; 2716957:>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; 10231490:>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; 60562 :>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; 4974095:>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; 18197 :>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; 2601357:>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; 58109 :>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; 32422 :>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; 638037:>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; 4766828:>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; 4045682:>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; 59063317:>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; 770 :>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; 507 :>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; 3682639:>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; 12119724:>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; 27196836:>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; 13576 :>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; 11838113:>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; 232690:>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; 10785046:>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; 2650 :>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; 25464141:>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; 997153:>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; 795160:>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; 2803227:>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; 8160051:>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; 39374901:>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; 12715477:>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; 178169:>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; 24535012:>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; 1604645:>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; 50317 :>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; 20088 :>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; 706450:>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; 542935:>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; 15829605:>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; 4396 :>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; 4025206:>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; 49806 :>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; 967083:>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; 10783648:>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; 429 :>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; 148653:>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; 15412 :>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; 1967357:>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; 9207 :>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; 8254 :>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; 53930 :>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; 49027 :>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; 809130:>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; 14936187:>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; 663940:>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; 24641809:>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; 107590:>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; 233847:>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; 1038158:>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; 3357235:>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; 14585168:>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; 17228 :>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; 525348:>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; 10426 :>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; 15857819:>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; 49125 :>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; 3344824:>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; 184027:>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: 400000000, 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 132.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl $1,%r12d _litmus_P3_2_: xchgl %r12d,(%rcx) _litmus_P3_3_: movl (%rax),%ebp _litmus_P3_4_: movl $1,(%r13) _litmus_P3_5_: movl (%r13),%esi _litmus_P3_6_: movl (%r14),%edi _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl $1,%r12d _litmus_P2_3_: xchgl %r12d,(%rax) _litmus_P2_4_: movl (%r13),%edi _litmus_P2_5_: movl (%rcx),%esi _litmus_P2_6_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,%r15d _litmus_P0_1_: xchgl %r15d,(%r12) _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl $1,%r15d _litmus_P0_4_: xchgl %r15d,(%r11) _litmus_P0_5_: movl (%r14),%ebp Test X036+X037-A Required Histogram (102 states) 77612 :>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; 34159 :>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; 10619685:>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; 15738319:>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; 94129 :>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; 463504:>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; 5891485:>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; 29802201:>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; 78412 :>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; 114698:>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; 6220014:>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; 16633780:>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; 2033544:>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; 44097 :>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; 324010:>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; 71315 :>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; 16145462:>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; 2988566:>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; 665506:>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; 1249109:>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; 4695475:>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; 216275:>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; 439759:>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; 224492:>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; 68376 :>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; 3278244:>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; 2775295:>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; 30465808:>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; 9313 :>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; 48723 :>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; 328529:>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; 1382493:>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; 101688:>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; 355630:>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; 76 :>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; 146532:>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; 1037 :>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; 883763:>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; 499 :>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; 264535:>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; 20811 :>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; 1213599:>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; 3065 :>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; 231433:>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; 57290 :>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; 1596785:>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; 29505416:>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; 20847948:>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; 2201131:>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; 9489941:>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; 2125117:>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; 182547:>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; 299928:>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; 314653:>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; 7502962:>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; 3812246:>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; 3547 :>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; 477866:>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; 7058065:>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; 1993553:>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; 25439 :>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; 763793:>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; 20017659:>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; 5766748:>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; 150134:>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; 1920881:>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; 11398081:>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; 1407622:>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; 351454:>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; 1385607:>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; 854638:>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; 406623:>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; 23716903:>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; 63 :>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; 1158504:>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; 148 :>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; 4108625:>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; 2731379:>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; 526 :>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; 2242 :>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; 150371:>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; 8347686:>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; 145839:>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; 924506:>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; 9659255:>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; 27099 :>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; 748807:>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; 479240:>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; 7861603:>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; 1624 :>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; 380421:>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; 1105600:>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; 1098139:>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; 2768 :>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; 18613468:>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; 8654249:>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; 303986:>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; 284550:>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; 9730321:>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; 11307549:>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; 13713 :>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; 78085 :>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: 400000000, 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 147.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%rax) _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%r14) _litmus_P2_3_: movl $1,(%r15) _litmus_P2_4_: movl (%rcx),%esi _litmus_P2_5_: movl (%r15),%edi _litmus_P2_6_: movl (%r13),%ebp _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r11) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r13) Test X037+X038-A Required Histogram (56 states) 23605341:>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; 5113029:>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; 19576884:>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; 4259 :>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; 174626:>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; 16756070:>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; 5447085:>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; 17536257:>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; 16194296:>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; 233949:>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; 42492418:>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; 816791:>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; 1051112:>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; 818452:>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; 190582:>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; 474717:>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; 1968871:>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; 5023686:>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; 489987:>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; 3627105:>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; 2317199:>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; 13502812:>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; 1132295:>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; 4589099:>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; 522172:>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; 10792604:>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; 32552001:>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; 32108 :>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; 2090025:>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; 7732710:>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; 48279 :>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; 3821358:>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; 17745377:>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; 1094 :>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; 875044:>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; 21542054:>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; 13130868:>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; 13692 :>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; 443640:>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; 413690:>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; 4055514:>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; 563216:>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; 20 :>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; 837907:>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; 2224832:>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; 11574 :>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; 15585471:>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; 4855785:>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; 11599571:>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; 96986 :>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; 2840442:>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; 6058882:>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; 15692 :>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; 25520932:>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; 30819618:>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; 19920 :>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: 400000000, 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 144.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r8) _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rbx) _litmus_P2_3_: movl $1,(%rbp) _litmus_P2_4_: movl $1,(%rsi) _litmus_P2_5_: movl (%rsi),%r14d _litmus_P2_6_: movl (%rbp),%eax _litmus_P2_7_: movl (%r12),%edx _litmus_P2_8_: movl (%rdi),%r15d _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $2,%r15d _litmus_P1_2_: xchgl %r15d,(%r13) _litmus_P1_3_: movl (%r12),%ebx _litmus_P1_4_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X038+X039-A Required Histogram (72 states) 3842642:>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; 477750:>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; 653326:>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; 102200:>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; 4385005:>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; 2562920:>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; 88763 :>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; 53539151:>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; 9476833:>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; 1079538:>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; 2852573:>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; 33016993:>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; 4030890:>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; 475947:>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; 173021:>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; 10870125:>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; 1775158:>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; 117109:>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; 18312089:>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; 2318764:>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; 90357 :>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; 717218:>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; 6114527:>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; 487 :>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; 89684 :>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; 5806 :>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; 4689988:>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; 499884:>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; 38385 :>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; 23635 :>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; 2426421:>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; 473353:>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; 21740 :>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; 21709368:>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; 306011:>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; 304626:>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; 180048:>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; 126867:>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; 3716113:>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; 102085:>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; 10020587:>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; 1348 :>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; 78667 :>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; 316024:>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; 590817:>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; 12152340:>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; 32638608:>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; 1171112:>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; 25666441:>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; 105136:>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; 2795424:>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; 1396 :>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; 58307 :>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; 18122 :>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; 79942 :>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; 236828:>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; 2094071:>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; 3716725:>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; 1651 :>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; 2 :>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; 33402544:>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; 14566551:>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; 46528 :>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; 20094974:>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; 8491 :>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; 15061334:>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; 107 :>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; 12044 :>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; 5244 :>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; 8993 :>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; 15695123:>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; 17567119:>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: 400000000, 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 141.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r15) _litmus_P3_1_: movl $1,%r12d _litmus_P3_2_: xchgl %r12d,(%rcx) _litmus_P3_3_: movl (%rax),%ebp _litmus_P3_4_: movl $1,(%r13) _litmus_P3_5_: movl (%r13),%esi _litmus_P3_6_: movl (%r14),%edi _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl $2,%r12d _litmus_P2_3_: xchgl %r12d,(%rax) _litmus_P2_4_: movl (%r13),%edi _litmus_P2_5_: movl (%rcx),%esi _litmus_P2_6_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r10) _litmus_P0_4_: movl (%r13),%eax Test X039+X040-A Required Histogram (102 states) 10379199:>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; 10017693:>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; 7052823:>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; 13328922:>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; 151252:>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; 35976 :>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; 271299:>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; 171192:>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; 2829513:>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; 14552510:>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; 436463:>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; 665899:>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; 901 :>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; 292907:>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; 77796 :>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; 828956:>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; 1968955:>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; 5299867:>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; 263103:>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; 185833:>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; 25563 :>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; 330854:>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; 333803:>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; 829381:>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; 3055253:>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; 5735984:>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; 289 :>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; 6412 :>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; 22271344:>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; 285659:>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; 1055755:>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; 628079:>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; 5639907:>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; 6115 :>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; 637165:>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; 168109:>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; 28887 :>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; 6891 :>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; 49568 :>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; 42509 :>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; 1173950:>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; 13442 :>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; 4207354:>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; 174918:>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; 95935 :>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; 1418095:>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; 6965 :>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; 9897 :>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; 111 :>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; 78583 :>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; 4902 :>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; 86726 :>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; 30366107:>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; 15258976:>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; 1661996:>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; 75290 :>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; 8584602:>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; 1744466:>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; 11214525:>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; 1147690:>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; 24 :>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; 127 :>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; 564526:>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; 45256 :>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; 1717 :>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; 8290328:>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; 724306:>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; 10422 :>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; 7161228:>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; 8507396:>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; 424573:>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; 412782:>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; 12444 :>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; 21921 :>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; 240327:>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; 2917 :>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; 31794 :>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; 148032:>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; 432399:>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; 43952597:>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; 3560318:>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; 7307916:>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; 5809378:>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; 8597770:>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; 11384345:>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; 110059:>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; 198780:>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; 18370030:>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; 1953429:>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; 11054 :>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; 1065 :>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; 103077:>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; 8193727:>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; 1317957:>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; 23909501:>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; 3735754:>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; 413889:>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; 5768728:>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; 742062:>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; 455817:>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; 27291373:>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; 12505739:>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: 400000000, 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 163.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,%ebp _litmus_P0_3_: xchgl %ebp,(%r12) _litmus_P0_4_: movl (%r14),%ecx _litmus_P0_5_: movl $1,(%rax) _litmus_P0_6_: movl (%r15),%ebx Test X040+X041-A Required Histogram (37 states) 5815675:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 27192510:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 16579428:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 31284754:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 11415666:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 10831057:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1623872:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 836204:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 34710655:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 14372460:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 5117936:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 59494 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 565260:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 2588 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 6190206:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 16827 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 34849530:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 17938 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 29888244:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 6608 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 67209 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 2649019:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 7929315:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 237499:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 442552:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1067547:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1132182:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 18763857:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 65522188:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 23171760:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 13816985:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 666871:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 2297 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 6347912:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1360 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 26798562:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 5973 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 140.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_1_: xchgl %r15d,(%r13) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl (%r14),%edx _litmus_P2_4_: movl (%r12),%eax _litmus_P1_0_: movl $2,%edi _litmus_P1_1_: xchgl %edi,(%r13) _litmus_P1_2_: movl $1,(%r14) _litmus_P1_3_: movl (%r14),%eax _litmus_P1_4_: movl (%r15),%edx _litmus_P1_5_: movl $1,%edi _litmus_P1_6_: xchgl %edi,(%r8) _litmus_P1_7_: movl (%r9),%ecx _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl $1,(%rdx) Test X041+X042-A Required Histogram (18 states) 43203308:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 1165445:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 27990578:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 45019240:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 85415307:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 138252:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 7460374:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 3066993:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 444436:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 1395829:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 47718376:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 30089 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 7938155:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 3483440:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 68678932:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 482488:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 111988895:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 44379863:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 500000000, 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 117.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r13) _litmus_P2_1_: movl $2,%ecx _litmus_P2_2_: xchgl %ecx,(%rbx) _litmus_P2_3_: movl $1,(%rbp) _litmus_P2_4_: movl $1,(%rsi) _litmus_P2_5_: movl (%rsi),%r14d _litmus_P2_6_: movl (%rbp),%eax _litmus_P2_7_: movl (%r12),%edx _litmus_P2_8_: movl (%rdi),%r15d _litmus_P1_0_: movl $1,%r15d _litmus_P1_1_: xchgl %r15d,(%r10) _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%r11) _litmus_P0_2_: movl (%r14),%ebp _litmus_P0_3_: movl $1,%r15d _litmus_P0_4_: xchgl %r15d,(%r12) _litmus_P0_5_: movl (%r13),%ebx Test X042+X043-A Required Histogram (72 states) 2795849:>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; 2146729:>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; 27206055:>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; 25846905:>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; 13369263:>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; 9754 :>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; 17397111:>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; 97623 :>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; 100651:>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; 8470 :>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; 1452856:>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; 193650:>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; 14311316:>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; 382 :>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; 3294099:>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; 2964 :>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; 10116 :>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; 156628:>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; 112685:>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; 2054258:>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; 1294 :>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; 409 :>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; 6921 :>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; 2498 :>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; 530284:>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; 377399:>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; 3201325:>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; 3060167:>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; 19605533:>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; 4503 :>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; 2285057:>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; 16653 :>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; 2811281:>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; 3071432:>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; 2451051:>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; 16461 :>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; 1653503:>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; 354441:>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; 3520106:>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; 9940396:>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; 5008 :>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; 291065:>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; 4183035:>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; 12877 :>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; 5525 :>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; 24532 :>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; 13163 :>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; 17917578:>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; 11309365:>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; 20191479:>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; 382 :>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; 27179125:>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; 103264:>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; 698641:>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; 9660165:>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; 881559:>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; 13110415:>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; 866690:>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; 24103055:>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; 7522190:>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; 775 :>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; 135658:>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; 289 :>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; 4971000:>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; 682520:>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; 4864380:>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; 8495243:>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; 50786097:>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; 21135200:>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; 1269 :>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; 7361524:>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; 8854 :>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: 400000000, 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 146.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $2,%ebp _litmus_P3_2_: xchgl %ebp,(%rax) _litmus_P3_3_: movl $1,(%r15) _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%ecx _litmus_P3_6_: movl (%r13),%ebx _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r15) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl $1,%ebp _litmus_P2_5_: xchgl %ebp,(%rax) _litmus_P2_6_: movl (%r13),%ebx _litmus_P1_0_: movl $1,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,%r15d _litmus_P0_1_: xchgl %r15d,(%r12) _litmus_P0_2_: movl (%r13),%ebx _litmus_P0_3_: movl $1,%r15d _litmus_P0_4_: xchgl %r15d,(%r11) _litmus_P0_5_: movl (%r14),%ebp Test X043+X044-A Required Histogram (100 states) 26152 :>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; 94290 :>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; 815534:>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; 2699956:>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; 10968 :>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; 1086584:>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; 330960:>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; 5611435:>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; 25812 :>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; 622836:>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; 403236:>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; 4448066:>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; 2724292:>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; 188394:>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; 250516:>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; 186580:>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; 38878695:>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; 10190189:>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; 308627:>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; 2604061:>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; 18949618:>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; 2053912:>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; 341115:>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; 1151238:>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; 201450:>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; 2209428:>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; 30183205:>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; 5286 :>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; 658546:>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; 1055 :>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; 17129080:>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; 8462375:>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; 11915 :>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; 51350 :>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; 13345 :>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; 5079 :>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; 5857309:>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; 7532183:>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; 89964 :>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; 256944:>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; 7951061:>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; 39029427:>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; 35493 :>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; 20260 :>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; 6240449:>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; 15335537:>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; 377718:>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; 4436 :>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; 85430 :>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; 19058 :>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; 8539438:>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; 1094017:>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; 600755:>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; 774736:>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; 1186666:>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; 23240 :>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; 192553:>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; 67622 :>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; 353218:>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; 120148:>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; 15479693:>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; 872633:>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; 13 :>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; 1078997:>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; 688138:>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; 92 :>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; 91347 :>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; 3699511:>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; 2577274:>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; 29879107:>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; 94464 :>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; 409572:>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; 172 :>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; 277483:>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; 2399 :>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; 1734968:>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; 20834179:>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; 18648048:>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; 1338270:>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; 6229420:>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; 4156467:>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; 2533032:>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; 2745 :>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; 397936:>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; 5022307:>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; 2901542:>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; 25750 :>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; 993715:>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; 172025:>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; 6469273:>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; 759405:>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; 5397204:>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; 46116 :>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; 1014144:>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; 803779:>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; 493762:>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; 11715403:>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; 3952979:>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; 290020:>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; 193774:>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: 400000000, 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 166.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $1,(%r15) _litmus_P2_1_: movl $2,%ebp _litmus_P2_2_: xchgl %ebp,(%r13) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%rax) _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r12),%ebx _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r10) _litmus_P1_3_: movl (%r13),%eax _litmus_P1_4_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X044+X045-A Required Histogram (56 states) 17762512:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 3534787:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 10827317:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 2582676:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 487760:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1920339:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 943288:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 29478960:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1044268:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 163817:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 17672809:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 436051:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 2343282:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 13568143:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 11320329:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 318546:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 4774093:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 1959974:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 13340638:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 24790 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 29166587:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 20391 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 7027381:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 166608:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 1138508:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 47119 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 10624063:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 4571441:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 11791987:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 28918379:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 32704274:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 32598147:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 17599803:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 646 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 163258:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 26204733:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 78783 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 784677:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 8991325:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 806256:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 142830:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 5418656:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 5644744:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 314378:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 19410 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 251746:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 132428:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 1396085:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1115 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 5787056:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 1149 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 25710447:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 26168 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 4706125:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1016832:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1522086:>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: 400000000, 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 158.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,(%r13) _litmus_P2_1_: movl $2,%ecx _litmus_P2_2_: xchgl %ecx,(%rbx) _litmus_P2_3_: movl $1,(%rbp) _litmus_P2_4_: movl $1,(%rsi) _litmus_P2_5_: movl (%rsi),%r14d _litmus_P2_6_: movl (%rbp),%eax _litmus_P2_7_: movl (%r12),%edx _litmus_P2_8_: movl (%rdi),%r15d _litmus_P1_0_: movl $1,%r15d _litmus_P1_1_: xchgl %r15d,(%r10) _litmus_P1_2_: movl $2,(%r12) _litmus_P1_3_: movl (%r11),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X045+X046-A Required Histogram (72 states) 20991256:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 116346:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 146220:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 7334 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 2020977:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 4398 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 2111130:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 18243 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 2184516:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 17295 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 11582 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1731 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 272393:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 1083 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 383213:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 8827 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 2162368:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 24944 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 213962:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 12287 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 2509136:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 5770 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 8274077:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 191273:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 3157 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 474 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 20479513:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 23560407:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 909402:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 2140680:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 151147:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 27908 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1735256:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1071510:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 2594945:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 18607604:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 142459:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 15120892:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 21183 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 4028 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 505426:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 20112544:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 2397582:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 4527209:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 747460:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 9883614:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 304084:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 35828 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 15795592:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 28481467:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 4553019:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 17226 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 23061215:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 9202613:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 17479188:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 208 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 1095033:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 19149477:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 1252 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 3440708:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 49654615:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 18038 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 7713758:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1425 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 365238:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 61868 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 410306:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 9038865:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 6799029:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 7005926:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 253509:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 29625752:>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: 400000000, 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 157.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%r14) _litmus_P3_1_: movl $2,%ebp _litmus_P3_2_: xchgl %ebp,(%rax) _litmus_P3_3_: movl $1,(%r15) _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%ecx _litmus_P3_6_: movl (%r13),%ebx _litmus_P2_0_: movl $2,(%r14) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r15) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl $1,%ebp _litmus_P2_5_: xchgl %ebp,(%rax) _litmus_P2_6_: movl (%r13),%ebx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rax) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $2,(%r11) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r10) _litmus_P0_4_: movl (%r13),%eax Test X046+X047-A Required Histogram (102 states) 1283090:>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; 1840248:>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; 475324:>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; 3118759:>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; 270989:>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; 113170:>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; 367673:>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; 862869:>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; 903589:>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; 1872911:>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; 2640 :>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; 170290:>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; 13307 :>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; 19808 :>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; 23151 :>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; 366440:>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; 1995704:>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; 76066 :>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; 16130770:>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; 1671975:>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; 3321 :>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; 15380 :>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; 6092562:>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; 3842898:>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; 7098069:>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; 12668117:>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; 37064 :>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; 7334 :>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; 98397 :>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; 47608 :>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; 895337:>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; 3441788:>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; 29 :>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; 394 :>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; 22414 :>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; 1338 :>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; 79559 :>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; 5553 :>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; 188505:>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; 1546 :>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; 691278:>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; 9338 :>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; 1 :>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; 14 :>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; 182915:>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; 1223318:>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; 276342:>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; 745656:>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; 24813115:>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; 9748561:>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; 20459 :>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; 499283:>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; 44037397:>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; 7095670:>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; 1712000:>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; 23192447:>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; 12482631:>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; 13753879:>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; 418567:>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; 342741:>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; 38050179:>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; 1544440:>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; 332700:>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; 163218:>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; 11479206:>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; 1136536:>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; 301955:>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; 2727958:>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; 3392420:>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; 14636105:>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; 2694 :>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; 733643:>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; 1399006:>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; 3727600:>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; 45584 :>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; 607160:>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; 18487523:>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; 3664763:>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; 3102462:>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; 1133870:>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; 170234:>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; 1643902:>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; 270 :>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; 198914:>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; 20090274:>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; 13446141:>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; 4917687:>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; 2461349:>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; 535960:>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; 121636:>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; 5712309:>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; 1408269:>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; 9628 :>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; 1580 :>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; 25715 :>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; 5594203:>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; 4525855:>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; 8970 :>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; 5726062:>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; 1075900:>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; 577180:>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; 17707342:>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: 400000000, 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 177.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r13) _litmus_P3_2_: movl $1,(%r11) _litmus_P3_3_: movl (%r11),%r10d _litmus_P3_4_: movl (%r12),%eax _litmus_P2_0_: movl $2,(%rax) _litmus_P2_1_: movl $1,(%rbp) _litmus_P1_0_: movl $2,(%r12) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r11) _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r10),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,%r15d _litmus_P0_3_: xchgl %r15d,(%r11) _litmus_P0_4_: movl (%r12),%eax Test X047+X048-A Required Histogram (44 states) 39793494:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2653381:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 8973254:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2057197:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 309901:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 704165:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 3023157:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 25907084:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 11392149:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 750286:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 42277755:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 2958859:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 35640680:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 12039 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 199003:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 24034000:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 18897 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 248951:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 55089 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 353094:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 163291:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 436645:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 8822310:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 782788:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 28450679:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 1137036:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 4823243:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 25439337:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1319367:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 4414913:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 967527:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 6162964:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 3641590:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2392086:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 61260227:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 9497057:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 6328809:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 47 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 30044193:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 2390 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 56700 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 231259:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 2077922:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 185185:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 128.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P2_1_: xchgl %ebp,(%rdx) _litmus_P2_2_: movl (%rbx),%eax _litmus_P1_0_: movl $1,(%r13) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: movl (%rbp),%eax _litmus_P1_4_: movl (%r14),%edx _litmus_P0_0_: movl $1,%r15d _litmus_P0_1_: xchgl %r15d,(%rbp) _litmus_P0_2_: movl (%r12),%eax _litmus_P0_3_: movl $1,%r15d _litmus_P0_4_: xchgl %r15d,(%r14) _litmus_P0_5_: movl (%r13),%edx Test X048+X049-A Required Histogram (18 states) 48619779:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 838746:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 958779:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 28054906:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 82287766:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 8896283:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 37754245:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 61921754:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 52805881:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 90880877:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 134210:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 180288:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 8706873:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 5183378:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 51015983:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 18226971:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 22027 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3511254:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 500000000, 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 86.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r10d _litmus_P3_1_: xchgl %r10d,(%rbp) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,%r15d _litmus_P2_1_: xchgl %r15d,(%r12) _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $1,%r15d _litmus_P2_4_: xchgl %r15d,(%r13) _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,%r15d _litmus_P1_1_: xchgl %r15d,(%r11) _litmus_P1_2_: movl (%r12),%ebx _litmus_P1_3_: movl $1,%r15d _litmus_P1_4_: xchgl %r15d,(%r13) _litmus_P1_5_: movl (%r14),%ebp _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r11) _litmus_P0_3_: movl (%r12),%ebx _litmus_P0_4_: movl (%r13),%ebp Test X049+X050-A Required Histogram (90 states) 70736 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1366380:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 8450064:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5578342:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 736983:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 73312 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 862363:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 886415:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3173920:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 656079:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 80 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 842420:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 161330:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 7450701:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 518 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 17758722:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1343352:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9111222:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 197178:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2699909:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 37804 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2719 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 395233:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4857510:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1167413:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 53891396:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 26547 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5599 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2538163:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7195572:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 23982163:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 179923:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6958118:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2210175:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6072191:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7427 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9225929:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1145797:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 37276 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 155736:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1078498:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5537715:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3576550:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 36601901:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 15639000:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1198775:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 15270927:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6582550:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 15806 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 133347:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 18897 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 606507:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 154828:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 315124:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 350894:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2083888:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1754414:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 38206 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 85428 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 87632 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 35201246:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 437283:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3447815:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1499404:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2946181:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 15158562:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 34452 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 403000:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 74588 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2299184:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 5977 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 612 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 13932 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2479 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 595605:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 16880744:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 74636 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 19324455:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 440000:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 653998:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 253009:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2298006:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 14203343:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 456703:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 172614:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 251435:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 9232407:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 191473:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 523114:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 280139:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 400000000, 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 111.35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_1_: xchgl %r15d,(%r12) _litmus_P3_2_: movl (%r13),%ebx _litmus_P3_3_: movl $1,%r15d _litmus_P3_4_: xchgl %r15d,(%r14) _litmus_P3_5_: movl (%r11),%ebp _litmus_P2_0_: movl $1,%r15d _litmus_P2_1_: xchgl %r15d,(%r12) _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $1,%r15d _litmus_P2_4_: xchgl %r15d,(%r13) _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,%r15d _litmus_P1_1_: xchgl %r15d,(%r12) _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,(%r12) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r11) _litmus_P0_3_: movl (%r13),%ebx _litmus_P0_4_: movl (%r14),%ebp Test X050+X051-A Required Histogram (132 states) 9220 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 45676 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 210458:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 6345241:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 22109393:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 13642474:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 20183784:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 5362 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 51 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1309709:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 11847123:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 8659 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 69244 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 532937:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 10150 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 30746 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 259651:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 566740:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2156 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 262709:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 490088:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 9356811:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 92055 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1537466:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2727997:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 4756799:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 11486 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1797952:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1277540:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 659438:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 113778:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5514 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 246350:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 13374 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 481 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 216 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 4945 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 18635508:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1376187:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 575882:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 4349268:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 95845 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2217 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5291 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 33976 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 198449:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 3047466:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 20858862:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 20012 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1065187:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 442979:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1998958:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 57089 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 303 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 163 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 277412:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1200 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 6733576:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1382695:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 24013 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1544889:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 36144921:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 10434177:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4650126:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 26202542:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 9323213:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 706323:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 134562:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2037909:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4214152:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 144605:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 554555:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1346555:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5826142:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2079726:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4848 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 979767:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 52798 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 9351 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 103 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 8756 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5615868:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1381936:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5935 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1351051:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 34446 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6383 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 144 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 11752 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 18425 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 54574 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 3140745:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1940133:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 123097:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 99 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 28897289:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 26037 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 17442 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 11734 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 25830 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 5088 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 376493:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2379321:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 473 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3532721:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 11219788:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1178 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 952593:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 9338522:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 596357:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 306651:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 4057006:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1947 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 4798382:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1292 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 320535:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1025357:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1186086:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4410614:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 12584 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 201891:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 668 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 34160 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 15868549:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 18271972:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2753 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 5105 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3536430:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 6764578:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 211 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1439 :>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: 400000000, 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 126.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r13) _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: movl (%r12),%ebx _litmus_P2_4_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $2,%r15d _litmus_P1_3_: xchgl %r15d,(%r12) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r15d _litmus_P0_2_: xchgl %r15d,(%r11) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r13) Test X051+X052-A Required Histogram (69 states) 4199618:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 560360:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 6342382:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 521 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 2934436:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 30934 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 6816476:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 4028991:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 109774:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 14645815:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 114236:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 696213:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 118930:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 2860 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 170015:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 142151:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1337003:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 13920 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1653279:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 959408:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 26892997:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 8083128:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 3060784:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 1894842:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 22293326:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 32762918:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 4993878:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 18925000:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 20942301:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 233961:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 4223306:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 11311846:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 262485:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 3922404:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 27422048:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 11928391:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1381079:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 3239581:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 5709375:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 5258953:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 6668729:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 3656 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 1968736:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 13333534:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1493537:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 14926763:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 16549451:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 16336314:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 877682:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 2358788:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 4263891:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 36722 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 22181163:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 37064848:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 195425:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 424973:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 209424:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 695 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 198242:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 402110:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 153387:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 498554:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 7369 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 6622 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 13150 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 15525 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 58951 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 86341 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 45493 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 400000000, 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 126.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r8) _litmus_P3_2_: movl (%r9),%eax _litmus_P2_0_: movl $1,%r15d _litmus_P2_1_: xchgl %r15d,(%r12) _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $1,%r15d _litmus_P2_4_: xchgl %r15d,(%r13) _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $2,%r15d _litmus_P1_3_: xchgl %r15d,(%r12) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%rax) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X052+X053-A Required Histogram (90 states) 448642:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 134703:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 649561:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 4474 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 1351491:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 442353:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 3926149:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 49691 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 752493:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 574 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 106342:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 81060 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 46686 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 7848516:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 760246:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 2927809:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 7068658:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 1724717:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 50393606:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 4750510:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 57429 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 33218189:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 575718:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1799593:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 13667713:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1564831:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 17629776:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1317812:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 101 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 463 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 55344 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1950 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1278121:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 31928 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 298969:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 165 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 159009:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 45577 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 6145953:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 5371 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 11006 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 6046658:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 114872:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 278992:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 3770353:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 491077:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 24829525:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 568256:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 6793927:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1216080:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 19364995:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 50319 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 12193620:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 9516060:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 17073575:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 81317 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 2655545:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 5192 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 142040:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 284818:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 740958:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 31498 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 533612:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 73135 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 671854:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 1758075:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 2458200:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 8162 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 281074:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 35455 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 58379 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 234591:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 929358:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 8234956:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 29693725:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 3205799:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 20879172:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 2458030:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 34473784:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 1274 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 20339367:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 5242246:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 41986 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 13439 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 475285:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 2274 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 62948 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 15371 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 78113 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 157360:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 400000000, 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 132.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r8) _litmus_P2_2_: movl (%r9),%eax _litmus_P1_0_: movl $2,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $2,%r15d _litmus_P0_3_: xchgl %r15d,(%r11) _litmus_P0_4_: movl (%r12),%eax Test X053+X054-A Required Histogram (44 states) 293368:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 2987843:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 544824:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 8306006:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 267634:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 3650776:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 19533 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 312531:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 33021546:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 24533954:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 21426158:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 448601:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 4214380:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 3852419:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 20892027:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 11407162:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 48525297:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 9392051:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 30685077:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 2001195:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1047790:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 2582822:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 2474789:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 285951:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 628 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 35061 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 1864682:>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; 82453 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 3541 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 346946:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 11167990:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 57483536:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 31119674:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 23264565:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 2894623:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 1576312:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 5620398:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 860867:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 26211029:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 3398582:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 541125:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 57033 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 296957:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 400000000, 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 120.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $2,%r15d _litmus_P1_3_: xchgl %r15d,(%r12) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $2,%r15d _litmus_P0_1_: xchgl %r15d,(%r10) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl $1,(%r13) _litmus_P0_4_: movl $1,(%r12) Test X054+X055-A Required Histogram (45 states) 6429484:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 12334695:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 5405203:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 5368715:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 585847:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 404450:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 991441:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 133375:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 5542818:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 31758542:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 344430:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 1242929:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 29348419:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 27218314:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 329098:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 209176:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 4385 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 8448129:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 37012 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 6175532:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 301882:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 9227517:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 808291:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 4793728:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 8872955:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 635755:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 9084409:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 60415479:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 145325:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 1391475:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 49858240:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 11816169:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 21795996:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 165273:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 134451:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 321770:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 71196 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 18809 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 9686058:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 23451864:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 32897263:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 11298416:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 227476:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 37428 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 230781:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 400000000, 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 120.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $2,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%r13) _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $2,%r15d _litmus_P1_3_: xchgl %r15d,(%r12) _litmus_P1_4_: movl (%r13),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%r11) Test X055+X056-A Required Histogram (69 states) 1858592:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 15951 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 1801237:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 257096:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 1977 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 361442:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 8086224:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 29431128:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 15451940:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 557861:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 14824473:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 5855613:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 101085:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 687825:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 1603535:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 9489 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 171213:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 316057:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 21206099:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 3591376:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 33583913:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1516294:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 14190056:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 3142274:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 1669698:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 766957:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 983978:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 1237410:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 84908 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 570072:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 6510051:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 4258697:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 24441049:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 25996588:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 28465026:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 41751605:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 85298 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 1301847:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 18080 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 334304:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 773969:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 182 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 2288739:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 70 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 15028 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 22832519:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 571791:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 349108:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 19080725:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 3578631:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 2763003:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 2029 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 2620 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 5385 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1284792:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 49062 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 9114548:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 1958 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 31086390:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 46353 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 1511432:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 3714 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 1626930:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 92122 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 4394486:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 511370:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 899767:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 287 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 14672 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 400000000, 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 142.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,(%rax) _litmus_P3_1_: movl $1,(%rbp) _litmus_P2_0_: movl $2,%r15d _litmus_P2_1_: xchgl %r15d,(%r12) _litmus_P2_2_: movl (%r11),%ebx _litmus_P2_3_: movl $2,%r15d _litmus_P2_4_: xchgl %r15d,(%r13) _litmus_P2_5_: movl (%r14),%ebp _litmus_P1_0_: movl $1,(%rax) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl $2,(%r10) _litmus_P1_3_: movl $1,(%r11) _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $2,(%rax) _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl $1,(%r10) Test X056+X057-A Required Histogram (90 states) 4562985:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 630193:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 983 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 57217 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 38955651:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 1526942:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 600746:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 395998:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 1360418:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 231784:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 347 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 21424 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 6543963:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 277085:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 281662:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 129859:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 544696:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 794738:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 5234 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 552239:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 9849298:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 2589234:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 1650363:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 2880808:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 116 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 1232 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 375 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 15220761:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 1546988:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 2975 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 182785:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 542017:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 31326 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 1472 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 7232 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 20574247:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 31025884:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 1244 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 3972511:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 139888:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 14171 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 861 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 8883 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 5775803:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 15490648:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 61605 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 7210451:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 306955:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 174849:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 19551 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 447228:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 6084665:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 2227720:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 258 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 27218 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 55909 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 52807 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 433065:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 13889330:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 15546728:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 16529 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 212715:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 13212 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 89854 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 3383863:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 23061319:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 151217:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 1905756:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 76192 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 899032:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 9441964:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 62946189:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 31 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 48099 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 7155179:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 27844 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 86244 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 1334 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 2999 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 2213551:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 22118003:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 786 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 11321 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 1127625:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 12381704:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 16847 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 288604:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 792942:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 36002522:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 2898 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 400000000, 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 147.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edx _litmus_P1_2_: xchgl %edx,(%rcx) _litmus_P1_3_: cmpl $0,%edx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rcx),%edx _litmus_P1_7_: cmpl $0,%edx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rbp) _litmus_P1_12_: movl $0,(%rcx) _litmus_P1_13_: movl (%rbp),%r13d _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%edx _litmus_P1_16_: xchgl %edx,(%r12) _litmus_P1_17_: cmpl $0,%edx _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r12),%edx _litmus_P1_21_: cmpl $0,%edx _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%rdi) _litmus_P1_26_: movl $0,(%r12) _litmus_P1_27_: movl (%rdi),%r15d _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edx _litmus_P1_30_: xchgl %edx,(%r9) _litmus_P1_31_: cmpl $0,%edx _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%r9),%edx _litmus_P1_35_: cmpl $0,%edx _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl (%rsi),%eax _litmus_P1_40_: movl $0,(%r9) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edx _litmus_P1_43_: xchgl %edx,(%rbx) _litmus_P1_44_: cmpl $0,%edx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbx),%edx _litmus_P1_48_: cmpl $0,%edx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r8),%r14d _litmus_P1_53_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edx _litmus_P0_2_: xchgl %edx,(%rbx) _litmus_P0_3_: cmpl $0,%edx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%edx _litmus_P0_7_: cmpl $0,%edx _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,%edx _litmus_P0_15_: xchgl %edx,(%r9) _litmus_P0_16_: cmpl $0,%edx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%edx _litmus_P0_20_: cmpl $0,%edx _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,(%r9) _litmus_P0_26_: movl (%r8),%r13d _litmus_P0_27_: movl (%rsi),%r15d _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edx _litmus_P0_30_: xchgl %edx,(%rcx) _litmus_P0_31_: cmpl $0,%edx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rcx),%edx _litmus_P0_35_: cmpl $0,%edx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%rbp),%r14d _litmus_P0_40_: movl $0,(%rcx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edx _litmus_P0_43_: xchgl %edx,(%r12) _litmus_P0_44_: cmpl $0,%edx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%edx _litmus_P0_48_: cmpl $0,%edx _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%rdi),%eax _litmus_P0_53_: movl $0,(%r12) Test X000+X000-L Required Histogram (6 states) 78608067:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 173192637:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 131345368:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 15420914:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2219268:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 399213746:>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: 800000000, 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 162.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rbp) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbp),%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,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl (%r13),%edx _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 (%r14),%eax _litmus_P2_26_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r14) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%rbp) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbp),%ebx _litmus_P1_20_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_26_: movl (%r12),%r15d _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%ebx _litmus_P1_29_: xchgl %ebx,(%r8) _litmus_P1_30_: cmpl $0,%ebx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r8),%ebx _litmus_P1_34_: cmpl $0,%ebx _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r13),%eax _litmus_P1_39_: movl $0,(%r8) _litmus_P1_40_: movl (%r10),%edx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%rdi) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rdi),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%ecx _litmus_P1_53_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r8) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%ebx _litmus_P0_7_: cmpl $0,%ebx _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_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%rdi) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%ebx _litmus_P0_20_: cmpl $0,%ebx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r9) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: movl (%r13),%r15d _litmus_P0_27_: movl (%r9),%edx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%ebx _litmus_P0_30_: xchgl %ebx,(%r14) _litmus_P0_31_: cmpl $0,%ebx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r14),%ebx _litmus_P0_35_: cmpl $0,%ebx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r12),%eax _litmus_P0_40_: movl $0,(%r14) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%rbp) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rbp),%ebx _litmus_P0_48_: cmpl $0,%ebx _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%ecx _litmus_P0_53_: movl $0,(%rbp) Test X000+X001-L Required Histogram (17 states) 15370708:>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; 2123006:>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; 286366:>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; 14363991:>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; 3331 :>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; 61122459:>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; 190220842:>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; 617859:>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; 62097095:>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; 44487 :>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; 1869705:>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; 62695 :>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; 4498652:>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; 20534863:>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; 3800224:>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; 14536138:>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; 108447579:>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: 500000000, 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 167.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebx _litmus_P2_2_: xchgl %ebx,(%r14) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%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,(%r12) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ebx _litmus_P2_15_: xchgl %ebx,(%rbp) _litmus_P2_16_: cmpl $0,%ebx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbp),%ebx _litmus_P2_20_: cmpl $0,%ebx _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,(%rbp) _litmus_P2_26_: movl (%r12),%r15d _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ebx _litmus_P2_29_: xchgl %ebx,(%r8) _litmus_P2_30_: cmpl $0,%ebx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%ebx _litmus_P2_34_: cmpl $0,%ebx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%eax _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r10),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ebx _litmus_P2_43_: xchgl %ebx,(%rdi) _litmus_P2_44_: cmpl $0,%ebx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rdi),%ebx _litmus_P2_48_: cmpl $0,%ebx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r9),%ecx _litmus_P2_53_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rdi) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r8) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r8),%ebx _litmus_P1_20_: cmpl $0,%ebx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%r8) _litmus_P1_26_: movl (%r13),%r15d _litmus_P1_27_: movl $1,(%r11) _litmus_P1_28_: movl (%r11),%edx _litmus_P1_29_: LitLock18: _litmus_P1_30_: movl $1,%ebx _litmus_P1_31_: xchgl %ebx,(%rbp) _litmus_P1_32_: cmpl $0,%ebx _litmus_P1_33_: je LitLock20 _litmus_P1_34_: LitLock19: _litmus_P1_35_: movl (%rbp),%ebx _litmus_P1_36_: cmpl $0,%ebx _litmus_P1_37_: je LitLock18 _litmus_P1_38_: jmp LitLock19 _litmus_P1_39_: LitLock20: _litmus_P1_40_: movl (%r12),%ecx _litmus_P1_41_: movl $0,(%rbp) _litmus_P1_42_: LitLock21: _litmus_P1_43_: movl $1,%ebx _litmus_P1_44_: xchgl %ebx,(%r9) _litmus_P1_45_: cmpl $0,%ebx _litmus_P1_46_: je LitLock23 _litmus_P1_47_: LitLock22: _litmus_P1_48_: movl (%r9),%ebx _litmus_P1_49_: cmpl $0,%ebx _litmus_P1_50_: je LitLock21 _litmus_P1_51_: jmp LitLock22 _litmus_P1_52_: LitLock23: _litmus_P1_53_: movl (%r14),%eax _litmus_P1_54_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rdi) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P0_13_: movl (%r9),%edx _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%ebx _litmus_P0_16_: xchgl %ebx,(%r8) _litmus_P0_17_: cmpl $0,%ebx _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r8),%ebx _litmus_P0_21_: cmpl $0,%ebx _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r13) _litmus_P0_26_: movl $0,(%r8) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%ebx _litmus_P0_29_: xchgl %ebx,(%rbp) _litmus_P0_30_: cmpl $0,%ebx _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%rbp),%ebx _litmus_P0_34_: cmpl $0,%ebx _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl (%r10),%ecx _litmus_P0_39_: movl $0,(%rbp) _litmus_P0_40_: movl (%r13),%r15d _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%r14) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r14),%ebx _litmus_P0_48_: cmpl $0,%ebx _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r12),%eax _litmus_P0_53_: movl $0,(%r14) Test X001+X002-L Required Histogram (23 states) 2097700:>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; 12332358:>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; 30901919:>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; 5200457:>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; 4174 :>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; 3677447:>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; 68697 :>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; 3658233:>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; 29882595:>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; 953 :>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; 7421402:>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; 86352895:>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; 8721185:>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; 10572639:>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; 4808720:>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; 10813383:>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; 2633322:>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; 8036789:>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; 173087:>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; 83958497:>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; 61043856:>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; 11307693:>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; 116331999:>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: 500000000, 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 207.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebx _litmus_P2_2_: xchgl %ebx,(%r8) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%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,(%r13) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ebx _litmus_P2_15_: xchgl %ebx,(%rbp) _litmus_P2_16_: cmpl $0,%ebx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbp),%ebx _litmus_P2_20_: cmpl $0,%ebx _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,(%rbp) _litmus_P2_26_: movl (%r13),%r15d _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ebx _litmus_P2_29_: xchgl %ebx,(%rdi) _litmus_P2_30_: cmpl $0,%ebx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%rdi),%ebx _litmus_P2_34_: cmpl $0,%ebx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r9),%eax _litmus_P2_39_: movl $0,(%rdi) _litmus_P2_40_: movl (%r10),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ebx _litmus_P2_43_: xchgl %ebx,(%r14) _litmus_P2_44_: cmpl $0,%ebx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%ebx _litmus_P2_48_: cmpl $0,%ebx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%ecx _litmus_P2_53_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rbp) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbp),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_13_: movl (%r10),%eax _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%ebx _litmus_P1_16_: xchgl %ebx,(%rdi) _litmus_P1_17_: cmpl $0,%ebx _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%rdi),%ebx _litmus_P1_21_: cmpl $0,%ebx _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r9) _litmus_P1_26_: movl $0,(%rdi) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%ebx _litmus_P1_29_: xchgl %ebx,(%r14) _litmus_P1_30_: cmpl $0,%ebx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r14),%ebx _litmus_P1_34_: cmpl $0,%ebx _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r8),%ecx _litmus_P1_39_: movl $0,(%r14) _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%ebx _litmus_P1_42_: xchgl %ebx,(%r15) _litmus_P1_43_: cmpl $0,%ebx _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r15),%ebx _litmus_P1_47_: cmpl $0,%ebx _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r13),%edx _litmus_P1_52_: movl $0,(%r15) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rbp) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbp),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%rdi) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%rdi) _litmus_P0_26_: movl $1,(%r13) _litmus_P0_27_: movl (%r13),%r15d _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%ebx _litmus_P0_30_: xchgl %ebx,(%r9) _litmus_P0_31_: cmpl $0,%ebx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r9),%ebx _litmus_P0_35_: cmpl $0,%ebx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r14),%eax _litmus_P0_40_: movl $0,(%r9) _litmus_P0_41_: movl (%r11),%edx _litmus_P0_42_: LitLock09: _litmus_P0_43_: movl $1,%ebx _litmus_P0_44_: xchgl %ebx,(%r8) _litmus_P0_45_: cmpl $0,%ebx _litmus_P0_46_: je LitLock11 _litmus_P0_47_: LitLock10: _litmus_P0_48_: movl (%r8),%ebx _litmus_P0_49_: cmpl $0,%ebx _litmus_P0_50_: je LitLock09 _litmus_P0_51_: jmp LitLock10 _litmus_P0_52_: LitLock11: _litmus_P0_53_: movl (%r12),%ecx _litmus_P0_54_: movl $0,(%r8) Test X002+X003-L Required Histogram (24 states) 5357792:>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; 3628480:>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; 75981108:>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; 4237362:>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; 12747 :>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; 9275431:>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; 13484474:>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; 3491041:>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; 32963057:>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; 700 :>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; 2527 :>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; 73347361:>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; 6306517:>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; 13191129:>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; 2796409:>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; 14383446:>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; 629542:>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; 6373249:>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; 65 :>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; 495088:>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; 23446226:>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; 25905587:>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; 5878301:>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; 178812361:>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: 500000000, 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 202.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r11),%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,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: movl (%r13),%ebp _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r12) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%r12),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r14),%ebx _litmus_P3_26_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edx _litmus_P2_2_: xchgl %edx,(%r12) _litmus_P2_3_: cmpl $0,%edx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%edx _litmus_P2_7_: cmpl $0,%edx _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,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edx _litmus_P2_15_: xchgl %edx,(%rcx) _litmus_P2_16_: cmpl $0,%edx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rcx),%edx _litmus_P2_20_: cmpl $0,%edx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rbp) _litmus_P2_25_: movl $0,(%rcx) _litmus_P2_26_: movl (%rdi),%r15d _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edx _litmus_P2_29_: xchgl %edx,(%r9) _litmus_P2_30_: cmpl $0,%edx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r9),%edx _litmus_P2_34_: cmpl $0,%edx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%rsi),%eax _litmus_P2_39_: movl $0,(%r9) _litmus_P2_40_: movl (%rbp),%r13d _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edx _litmus_P2_43_: xchgl %edx,(%rbx) _litmus_P2_44_: cmpl $0,%edx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%edx _litmus_P2_48_: cmpl $0,%edx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r8),%r14d _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edx _litmus_P1_2_: xchgl %edx,(%rcx) _litmus_P1_3_: cmpl $0,%edx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rcx),%edx _litmus_P1_7_: cmpl $0,%edx _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,(%rcx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edx _litmus_P1_15_: xchgl %edx,(%r12) _litmus_P1_16_: cmpl $0,%edx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%edx _litmus_P1_20_: cmpl $0,%edx _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,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%edx _litmus_P1_28_: xchgl %edx,(%r8) _litmus_P1_29_: cmpl $0,%edx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r8),%edx _litmus_P1_33_: cmpl $0,%edx _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rsi),%eax _litmus_P1_38_: movl $0,(%r8) _litmus_P1_39_: movl (%rdi),%r14d _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%edx _litmus_P1_42_: xchgl %edx,(%r13) _litmus_P1_43_: cmpl $0,%edx _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r13),%edx _litmus_P1_47_: cmpl $0,%edx _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%rbp),%r15d _litmus_P1_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rdx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbp) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbp),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%rbp) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rcx) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rcx),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r13),%r15d _litmus_P0_38_: movl $0,(%rcx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r14d _litmus_P0_51_: movl $0,(%rdi) Test X003+X004-L Required Histogram (58 states) 686056:>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; 994725:>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; 5466639:>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; 156 :>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; 18410 :>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; 3 :>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; 3998525:>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; 1125962:>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; 928329:>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; 3191774:>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; 7486 :>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; 3272 :>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; 9027191:>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; 7980 :>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; 11726459:>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; 1296990:>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; 695756:>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; 390704:>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; 3010036:>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; 22461858:>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; 831586:>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; 93851 :>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; 18738804:>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; 57907287:>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; 4827 :>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; 1859213:>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; 82760 :>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; 271432:>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; 2260081:>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; 37229031:>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; 4 :>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; 1024 :>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; 892406:>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; 240025:>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; 4711025:>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; 7816668:>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; 6715 :>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; 1733500:>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; 35139 :>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; 8241261:>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; 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; 4681 :>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; 55 :>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; 63152 :>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; 5294 :>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; 16272858:>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; 262924:>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; 19319181:>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; 26035 :>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; 4917582:>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; 2000567:>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; 3016603:>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; 291767:>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; 16576336:>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; 13607585:>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; 6312408:>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; 10024938:>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; 99303060:>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: 400000000, 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 208.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r13) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rbp) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%rsi) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rsi),%ecx _litmus_P3_20_: cmpl $0,%ecx _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,(%rsi) _litmus_P3_26_: movl (%rbp),%eax _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%ecx _litmus_P3_29_: xchgl %ecx,(%rbx) _litmus_P3_30_: cmpl $0,%ecx _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%rbx),%ecx _litmus_P3_34_: cmpl $0,%ecx _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl (%r8),%edx _litmus_P3_39_: movl $0,(%rbx) _litmus_P3_40_: movl (%r9),%r14d _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%ecx _litmus_P3_43_: xchgl %ecx,(%r12) _litmus_P3_44_: cmpl $0,%ecx _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r12),%ecx _litmus_P3_48_: cmpl $0,%ecx _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%rdi),%r15d _litmus_P3_53_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rbx) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%ecx _litmus_P2_7_: cmpl $0,%ecx _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_: movl (%r8),%r14d _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%ecx _litmus_P2_16_: xchgl %ecx,(%r13) _litmus_P2_17_: cmpl $0,%ecx _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r13),%ecx _litmus_P2_21_: cmpl $0,%ecx _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%rbp) _litmus_P2_26_: movl $0,(%r13) _litmus_P2_27_: movl (%rbp),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%ecx _litmus_P2_30_: xchgl %ecx,(%r12) _litmus_P2_31_: cmpl $0,%ecx _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r12),%ecx _litmus_P2_35_: cmpl $0,%ecx _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%rdi),%edx _litmus_P2_40_: movl $0,(%r12) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rsi) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rsi),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r9),%r15d _litmus_P2_53_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rdx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rsi) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rbx) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%ecx _litmus_P0_20_: cmpl $0,%ecx _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,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r12) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rdi),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbp),%eax _litmus_P0_51_: movl $0,(%r13) Test X004+X005-L Required Histogram (74 states) 465829:>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; 12578840:>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; 58219 :>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; 4630236:>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; 421828:>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; 41474830:>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; 115701:>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; 70183 :>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; 710721:>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; 3665845:>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; 252759:>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; 1844344:>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; 330542:>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; 13520430:>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; 1679852:>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; 4191852:>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; 1436333:>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; 43265954:>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; 24314 :>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; 6854218:>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; 47239 :>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; 7486094:>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; 31443 :>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; 267357:>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; 192121:>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; 10 :>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; 3824175:>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; 1330568:>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; 8066476:>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; 141986:>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; 52160062:>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; 1536259:>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; 2237233:>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; 534486:>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; 28122936:>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; 7612 :>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; 2060048:>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; 3492879:>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; 141586:>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; 7858383:>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; 20 :>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; 14830514:>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; 60890 :>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; 2766928:>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; 23 :>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; 10639723:>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; 3603929:>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; 13099027:>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; 113412:>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; 76152969:>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; 92583 :>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; 2454395:>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; 325445:>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; 13875 :>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; 2162143:>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; 1595 :>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; 1165753:>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; 268819:>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; 240187:>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; 561142:>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; 956891:>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; 770697:>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; 99789 :>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; 899001:>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; 8960 :>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; 341770:>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; 2444426:>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; 172405:>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; 1402968:>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; 96778 :>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; 6764306:>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; 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; 3:ECX=1; 3:EDX=1; c=2; 356823:>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: 400000000, 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 244.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rbx) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%rbx),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,%ecx _litmus_P2_15_: xchgl %ecx,(%r12) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r12),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%rdi) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r8),%r14d _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%rsi) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%rsi),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r9),%r15d _litmus_P2_39_: movl $0,(%rsi) _litmus_P2_40_: movl (%rdi),%eax _litmus_P2_41_: LitLock36: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%r13) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock38 _litmus_P2_46_: LitLock37: _litmus_P2_47_: movl (%r13),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock36 _litmus_P2_50_: jmp LitLock37 _litmus_P2_51_: LitLock38: _litmus_P2_52_: movl (%rbp),%edx _litmus_P2_53_: movl $0,(%r13) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r13) _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rsi) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r13) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rbp) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%rsi) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rsi),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r15),%eax _litmus_P0_51_: movl $0,(%rsi) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%ecx _litmus_P0_54_: xchgl %ecx,(%r12) _litmus_P0_55_: cmpl $0,%ecx _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r12),%ecx _litmus_P0_59_: cmpl $0,%ecx _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%rdi),%edx _litmus_P0_64_: movl $0,(%r12) Test X005+X006-L Required Histogram (86 states) 1806755:>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; 633767:>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; 727 :>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; 13182919:>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; 9113845:>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; 103509:>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; 39630 :>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; 849538:>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; 1892799:>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; 1683858:>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; 325314:>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; 6508 :>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; 7065676:>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; 26502476:>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; 27566474:>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; 14 :>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; 11119683:>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; 7663035:>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; 1307 :>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; 7081487:>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; 6761630:>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; 1615 :>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; 6040 :>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; 8872 :>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; 2259 :>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; 24 :>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; b=1; x=1; 17192 :>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; 2763103:>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; 2707967:>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; 1250474:>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; 3490539:>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; 3142081:>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; 599929:>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; 13090 :>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; 11032161:>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; 42882856:>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; 48620701:>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; 3996997:>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; 10777982:>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; 5632 :>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; 684212:>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; 1287206:>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; 11685016:>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; 1693 :>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; 31576934:>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; 3732962:>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; 127515:>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; 2510 :>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; 165887:>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; 11 :>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; 3499541:>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; 1546123:>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; 17917733:>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; 3119 :>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; 16447481:>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; 49 :>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; 86719 :>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; 607515:>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; 2588 :>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; 5323559:>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; 171 :>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; 409779:>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; 67 :>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; 68 :>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; 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=0; b=1; x=2; 2886761:>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; 869 :>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; 962181:>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; 12683 :>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; 881 :>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; 1700114:>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; 1816112:>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; 5902 :>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; 12907980:>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; 333 :>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; 40228 :>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; 350 :>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; 163673:>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; 445 :>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; 724432:>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; 160 :>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; 198 :>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; 15 :>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=2; 16660126:>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; 17556 :>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; 12270074:>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: 400000000, 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 228.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r11),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r11) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r11),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%r13),%ebp _litmus_P3_25_: movl $0,(%r11) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r12) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r12),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r14),%ebx _litmus_P3_38_: movl $0,(%r12) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r8) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: movl (%rbp),%eax _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%r12) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%r12),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%rdi),%edx _litmus_P2_39_: movl $0,(%r12) _litmus_P2_40_: movl (%r8),%r14d _litmus_P2_41_: LitLock36: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rsi) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock38 _litmus_P2_46_: LitLock37: _litmus_P2_47_: movl (%rsi),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock36 _litmus_P2_50_: jmp LitLock37 _litmus_P2_51_: LitLock38: _litmus_P2_52_: movl (%r9),%r15d _litmus_P2_53_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%rbx) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%ecx _litmus_P1_7_: cmpl $0,%ecx _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,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ecx _litmus_P1_15_: xchgl %ecx,(%r13) _litmus_P1_16_: cmpl $0,%ecx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%ecx _litmus_P1_20_: cmpl $0,%ecx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%rbp) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ecx _litmus_P1_28_: xchgl %ecx,(%r12) _litmus_P1_29_: cmpl $0,%ecx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%ecx _litmus_P1_33_: cmpl $0,%ecx _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%ecx _litmus_P1_41_: xchgl %ecx,(%r13) _litmus_P1_42_: cmpl $0,%ecx _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%ecx _litmus_P1_46_: cmpl $0,%ecx _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbp),%r15d _litmus_P1_51_: movl $0,(%r13) _litmus_P1_52_: LitLock24: _litmus_P1_53_: movl $1,%ecx _litmus_P1_54_: xchgl %ecx,(%r14) _litmus_P1_55_: cmpl $0,%ecx _litmus_P1_56_: je LitLock26 _litmus_P1_57_: LitLock25: _litmus_P1_58_: movl (%r14),%ecx _litmus_P1_59_: cmpl $0,%ecx _litmus_P1_60_: je LitLock24 _litmus_P1_61_: jmp LitLock25 _litmus_P1_62_: LitLock26: _litmus_P1_63_: movl (%r8),%eax _litmus_P1_64_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%r13) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X006+X007-L Required Histogram (124 states) 10 :>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; 6428 :>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; 32398 :>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; 69819 :>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; 4129 :>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; 808 :>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; 350 :>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; 355401:>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; 2108371:>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; 2316970:>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; 157 :>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; 1082134:>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; 1329953:>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; 542783:>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; 838 :>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; 1856213:>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; 4641 :>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; 2846525:>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; 3686787:>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; 1884 :>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; 11244902:>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; 4466 :>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; 1169749:>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; 2215303:>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; 16090222:>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; 23489848:>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; 30246806:>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; 3 :>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; c=1; x=1; 5392 :>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; 173282:>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; 393295:>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; 12 :>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; 92344 :>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; 178136:>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; 8251 :>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; 13 :>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; 56187 :>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; 23 :>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; 16074 :>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; 53233 :>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; 33 :>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; 573182:>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; 322 :>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; 102135:>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; 57544 :>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; 956994:>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; 1418483:>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; 2237120:>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; 993 :>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; 1151599:>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; 15169986:>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; 21731036:>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; 762 :>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; 2701112:>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; 5477532:>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; 1048657:>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; 2114 :>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; 6272867:>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; 2109 :>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; 5695396:>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; 7210283:>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; 934 :>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; 20942820:>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; 13107 :>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; 6207904:>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; 304093:>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; 12184951:>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; 32038211:>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; 50354144:>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; 13 :>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; 7902 :>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; 3 :>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; 77652 :>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; 154545:>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; 25963 :>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; 10011 :>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; 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=2; x=1; 4567 :>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; 71635 :>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; 168927:>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; 9 :>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; 129363:>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; 210436:>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; 7406 :>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; 14 :>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; 46787 :>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; 11 :>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; 5550 :>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; 51002 :>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; 29 :>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; 286791:>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; 118 :>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; 41334 :>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; 262323:>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; 3206818:>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; 3690944:>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; 4734267:>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; 6171 :>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; 91904 :>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; 89518 :>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; 3781768:>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; 9911252:>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; 1336 :>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; 3660324:>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; 24135469:>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; 97090 :>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; 510795:>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; 46 :>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; 107138:>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; 1525422:>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; 6395850:>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; 9197711:>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; 2376 :>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; 389438:>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; 15180278:>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; 20285 :>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; 547136:>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; 600028:>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; 56211 :>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; 1383427:>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; 25 :>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; 953675:>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; 12620341:>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: 400000000, 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 229.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r13) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r13),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rbp) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%rsi) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%rsi),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl $1,(%r9) _litmus_P3_25_: movl $0,(%rsi) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%r13) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r13),%ecx _litmus_P3_33_: cmpl $0,%ecx _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%rbp),%eax _litmus_P3_38_: movl $0,(%r13) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%ecx _litmus_P3_41_: xchgl %ecx,(%rbx) _litmus_P3_42_: cmpl $0,%ecx _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%rbx),%ecx _litmus_P3_46_: cmpl $0,%ecx _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl (%r8),%edx _litmus_P3_51_: movl $0,(%rbx) _litmus_P3_52_: movl (%r9),%r14d _litmus_P3_53_: LitLock51: _litmus_P3_54_: movl $1,%ecx _litmus_P3_55_: xchgl %ecx,(%r12) _litmus_P3_56_: cmpl $0,%ecx _litmus_P3_57_: je LitLock53 _litmus_P3_58_: LitLock52: _litmus_P3_59_: movl (%r12),%ecx _litmus_P3_60_: cmpl $0,%ecx _litmus_P3_61_: je LitLock51 _litmus_P3_62_: jmp LitLock52 _litmus_P3_63_: LitLock53: _litmus_P3_64_: movl (%rdi),%r15d _litmus_P3_65_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rbx) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r8),%r14d _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r13) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r13),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%rbp) _litmus_P2_38_: movl $0,(%r13) _litmus_P2_39_: movl (%rbp),%eax _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%ecx _litmus_P2_42_: xchgl %ecx,(%r12) _litmus_P2_43_: cmpl $0,%ecx _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%r12),%ecx _litmus_P2_47_: cmpl $0,%ecx _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%rdi),%edx _litmus_P2_52_: movl $0,(%r12) _litmus_P2_53_: LitLock36: _litmus_P2_54_: movl $1,%ecx _litmus_P2_55_: xchgl %ecx,(%rsi) _litmus_P2_56_: cmpl $0,%ecx _litmus_P2_57_: je LitLock38 _litmus_P2_58_: LitLock37: _litmus_P2_59_: movl (%rsi),%ecx _litmus_P2_60_: cmpl $0,%ecx _litmus_P2_61_: je LitLock36 _litmus_P2_62_: jmp LitLock37 _litmus_P2_63_: LitLock38: _litmus_P2_64_: movl (%r9),%r15d _litmus_P2_65_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rbx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r13) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%eax _litmus_P1_33_: cmpl $0,%eax _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,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r15) _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rdx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r14) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rsi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r15d _litmus_P0_51_: movl $0,(%rbp) Test X007+X008-L Required Histogram (128 states) 242862:>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; 163631:>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; 25712 :>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; 1081002:>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; 712136:>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; 3164127:>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; 377243:>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; 13192767:>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; 8409 :>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; 1885101:>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; 279086:>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; 40231667:>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; 431443:>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; 3072711:>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; 17405 :>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; 2665557:>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; 582628:>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; 29000629:>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; 109071:>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; 28057513:>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; 494254:>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; 15023024:>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; 110087:>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; 15 :>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; 5352185:>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; 97 :>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; 1556414:>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; 240081:>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; 43517131:>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; 13931 :>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; 5889137:>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; 33778 :>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; 6826763:>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; 2711 :>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; 193416:>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; 13527 :>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; 5 :>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; 3159820:>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; 44314 :>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; 21292159:>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; 209901:>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; 17436679:>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; 59793 :>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; 2365905:>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; 369272:>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; 24738 :>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; 38125207:>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; 15 :>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; 69388 :>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; 44734 :>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; 292115:>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; 1 :>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; 2405 :>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; 1163 :>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; 237936:>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; 1205 :>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; 33476 :>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; 520905:>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; 11495 :>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; 72202 :>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; 722924:>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; 226409:>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; 16991 :>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; 435520:>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; 22161 :>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; 594855:>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; 406420:>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; 8742 :>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; 36907 :>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; 631226:>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; 28549 :>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; 277355:>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; 94233 :>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; 63187 :>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; 105011:>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; 639439:>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; 960347:>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; 2153332:>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; 840524:>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; 10712293:>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; 1416494:>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; 2875847:>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; 1465 :>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; 435924:>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; 86636 :>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; 11217363:>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; 19684 :>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; 477919:>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; 2971153:>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; 17231399:>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; 173284:>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; 31454 :>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; 436242:>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; 19 :>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; 28 :>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; 150379:>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; 5285807:>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; 64701 :>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; 5929168:>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; 143049:>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; 13837934:>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; 851612:>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; 35 :>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; 8212098:>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; 7987 :>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; 105874:>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; 311912:>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; 1 :>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; 4319099:>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; 13302 :>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; 961527:>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; 530220:>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; 410352:>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; 1072622:>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; 43406 :>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; 373974:>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; 252339:>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; 1884489:>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; 279508:>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; 3211241:>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; 6910 :>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; 2700384:>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; 54412 :>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; 3294078:>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; 3523 :>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; 353801:>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; 40835 :>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: 400000000, 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 259.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock35 _litmus_P3_5_: LitLock34: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock33 _litmus_P3_9_: jmp LitLock34 _litmus_P3_10_: LitLock35: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock36: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock38 _litmus_P3_19_: LitLock37: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock36 _litmus_P3_23_: jmp LitLock37 _litmus_P3_24_: LitLock38: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r11),%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,(%r13) _litmus_P2_12_: movl $0,(%r11) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%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 (%r13),%ebp _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%r12) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r14),%ebx _litmus_P2_38_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%r13) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%ecx _litmus_P1_7_: cmpl $0,%ecx _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,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ecx _litmus_P1_15_: xchgl %ecx,(%r14) _litmus_P1_16_: cmpl $0,%ecx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%ecx _litmus_P1_20_: cmpl $0,%ecx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r12) _litmus_P1_25_: movl $0,(%r14) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ecx _litmus_P1_28_: xchgl %ecx,(%rsi) _litmus_P1_29_: cmpl $0,%ecx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rsi),%ecx _litmus_P1_33_: cmpl $0,%ecx _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rbp) _litmus_P1_38_: movl $0,(%rsi) _litmus_P1_39_: movl $1,(%r15) _litmus_P1_40_: movl (%r15),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ecx _litmus_P1_43_: xchgl %ecx,(%rbx) _litmus_P1_44_: cmpl $0,%ecx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbx),%ecx _litmus_P1_48_: cmpl $0,%ecx _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) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rsi) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rbx) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%ecx _litmus_P0_20_: cmpl $0,%ecx _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,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r13) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rbp) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: movl (%r15),%eax _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%ecx _litmus_P0_42_: xchgl %ecx,(%r12) _litmus_P0_43_: cmpl $0,%ecx _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%r12),%ecx _litmus_P0_47_: cmpl $0,%ecx _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%rdi),%edx _litmus_P0_52_: movl $0,(%r12) Test X008+X009-L Required Histogram (55 states) 7997 :>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; 20905 :>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; 2687267:>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; 4791385:>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; 49369425:>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; 119671:>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; 1055717:>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; 2987902:>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; 3077297:>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; 23220730:>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; 83761483:>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; 8699 :>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; 3561 :>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; 74447 :>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; 245457:>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; 7595414:>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; 30404209:>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; 5745 :>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; 1449791:>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; 2568470:>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; 11799 :>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; 17710241:>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; 34559885:>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; 4603420:>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; 5890 :>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; 45673 :>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; 56 :>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; 13212383:>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; 17155 :>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; 1110 :>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; 7 :>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; 11324958:>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; 19434 :>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; 902104:>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; 1792 :>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; 32344737:>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; 66065 :>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; 224178:>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; 6 :>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; 407024:>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; 3475765:>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; 2660286:>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; 34205626:>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; 421383:>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; 29255 :>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; 1367680:>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; 873975:>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; 4784196:>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; 22410083:>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; 113247:>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; 158 :>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; 1873 :>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; 18 :>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; 741491:>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; 1475 :>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: 400000000, 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 212.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%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,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%edx _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%rbp) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%rbp),%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 (%r13),%eax _litmus_P2_26_: movl $0,(%rbp) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rbp) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbp),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r14) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%ebx _litmus_P1_20_: cmpl $0,%ebx _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,(%r14) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ebx _litmus_P1_28_: xchgl %ebx,(%rdi) _litmus_P1_29_: cmpl $0,%ebx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%ebx _litmus_P1_33_: cmpl $0,%ebx _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%ecx _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: movl (%r10),%eax _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%ebx _litmus_P1_42_: xchgl %ebx,(%r15) _litmus_P1_43_: cmpl $0,%ebx _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r15),%ebx _litmus_P1_47_: cmpl $0,%ebx _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r13),%edx _litmus_P1_52_: movl $0,(%r15) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rsi) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r8) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%r12) _litmus_P0_27_: movl (%r12),%r15d _litmus_P0_28_: movl $1,(%r10) _litmus_P0_29_: movl (%r10),%edx _litmus_P0_30_: LitLock06: _litmus_P0_31_: movl $1,%ebx _litmus_P0_32_: xchgl %ebx,(%rdi) _litmus_P0_33_: cmpl $0,%ebx _litmus_P0_34_: je LitLock08 _litmus_P0_35_: LitLock07: _litmus_P0_36_: movl (%rdi),%ebx _litmus_P0_37_: cmpl $0,%ebx _litmus_P0_38_: je LitLock06 _litmus_P0_39_: jmp LitLock07 _litmus_P0_40_: LitLock08: _litmus_P0_41_: movl (%r11),%ecx _litmus_P0_42_: movl $0,(%rdi) _litmus_P0_43_: LitLock09: _litmus_P0_44_: movl $1,%ebx _litmus_P0_45_: xchgl %ebx,(%rbp) _litmus_P0_46_: cmpl $0,%ebx _litmus_P0_47_: je LitLock11 _litmus_P0_48_: LitLock10: _litmus_P0_49_: movl (%rbp),%ebx _litmus_P0_50_: cmpl $0,%ebx _litmus_P0_51_: je LitLock09 _litmus_P0_52_: jmp LitLock10 _litmus_P0_53_: LitLock11: _litmus_P0_54_: movl (%r13),%eax _litmus_P0_55_: movl $0,(%rbp) Test X009+X010-L Required Histogram (17 states) 25335219:>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; 1007679:>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; 2158155:>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; 3344084:>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; 5278743:>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; 5052769:>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; 225280661:>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; 503406:>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; 58930945:>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; 25011 :>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; 2278018:>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; 15347 :>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; 1720462:>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; 2515211:>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; 12713284:>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; 153839132:>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: 500000000, 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 182.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%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,(%r13) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ebx _litmus_P2_15_: xchgl %ebx,(%r9) _litmus_P2_16_: cmpl $0,%ebx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%ebx _litmus_P2_20_: cmpl $0,%ebx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r14) _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: movl (%r13),%r15d _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ebx _litmus_P2_29_: xchgl %ebx,(%rbp) _litmus_P2_30_: cmpl $0,%ebx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%rbp),%ebx _litmus_P2_34_: cmpl $0,%ebx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r11),%eax _litmus_P2_39_: movl $0,(%rbp) _litmus_P2_40_: movl (%r14),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ebx _litmus_P2_43_: xchgl %ebx,(%r8) _litmus_P2_44_: cmpl $0,%ebx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r8),%ebx _litmus_P2_48_: cmpl $0,%ebx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%ecx _litmus_P2_53_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rdi) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r15) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r15),%ebx _litmus_P1_20_: cmpl $0,%ebx _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,(%r15) _litmus_P1_26_: movl $1,(%r11) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%ebx _litmus_P1_29_: xchgl %ebx,(%rax) _litmus_P1_30_: cmpl $0,%ebx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%ebx _litmus_P1_34_: cmpl $0,%ebx _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r9) _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: movl (%r11),%edx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%rbp) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbp),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r14),%ecx _litmus_P1_53_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r8) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r12) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: movl $1,(%r13) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%ebx _litmus_P0_16_: xchgl %ebx,(%rbp) _litmus_P0_17_: cmpl $0,%ebx _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rbp),%ebx _litmus_P0_21_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_27_: movl (%r13),%edx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%ebx _litmus_P0_30_: xchgl %ebx,(%r10) _litmus_P0_31_: cmpl $0,%ebx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r10),%ebx _litmus_P0_35_: cmpl $0,%ebx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r14),%eax _litmus_P0_40_: movl $0,(%r10) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%r9) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r9),%ebx _litmus_P0_48_: cmpl $0,%ebx _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,(%r9) Test X010+X011-L Required Histogram (24 states) 3618306:>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; 91316684:>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; 1661565:>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; 10721 :>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; 7637466:>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; 13461787:>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; 739 :>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; 5589 :>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; 92928268:>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; 361046:>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; 5398733:>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; 38 :>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; 272935:>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; 16736927:>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; 27642419:>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; 6023135:>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; 193585661:>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; 2710601:>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; 573954:>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; 22185089:>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; 1539887:>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; 2612448:>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; 1783012:>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; 7932990:>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: 500000000, 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 215.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%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,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%edx _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%rbp) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%rbp),%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 (%r13),%eax _litmus_P2_26_: movl $0,(%rbp) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r9) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r9),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%ebx _litmus_P1_16_: xchgl %ebx,(%r8) _litmus_P1_17_: cmpl $0,%ebx _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r8),%ebx _litmus_P1_21_: cmpl $0,%ebx _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r12) _litmus_P1_26_: movl $0,(%r8) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%ebx _litmus_P1_29_: xchgl %ebx,(%rbp) _litmus_P1_30_: cmpl $0,%ebx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rbp),%ebx _litmus_P1_34_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_40_: movl (%r15),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%r10) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r10),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r14),%edx _litmus_P1_53_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r15) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r15),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%r15) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r14) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%r14) _litmus_P0_26_: movl (%r8),%edx _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%ebx _litmus_P0_29_: xchgl %ebx,(%rbp) _litmus_P0_30_: cmpl $0,%ebx _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%rbp),%ebx _litmus_P0_34_: cmpl $0,%ebx _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl $1,(%r10) _litmus_P0_39_: movl $0,(%rbp) _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%ebx _litmus_P0_42_: xchgl %ebx,(%rdi) _litmus_P0_43_: cmpl $0,%ebx _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%rdi),%ebx _litmus_P0_47_: cmpl $0,%ebx _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r9),%ecx _litmus_P0_52_: movl $0,(%rdi) Test X011+X012-L Required Histogram (17 states) 1982780:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 22636313:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 833 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 4661416:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 227331392:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 3611681:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 7840637:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 68531 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 1563386:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3857043:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 137328685:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 22589384:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 131941:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 146550:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 4189 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 65693743:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 551496:>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: 500000000, 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 182.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P3_2_: xchgl %r14d,(%r9) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r9),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%r11) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r10) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r10),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _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,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: movl (%r14),%ebp _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r11) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r11),%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 (%r13),%ebx _litmus_P2_26_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edx _litmus_P1_2_: xchgl %edx,(%r12) _litmus_P1_3_: cmpl $0,%edx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%edx _litmus_P1_7_: cmpl $0,%edx _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,(%r12) _litmus_P1_13_: movl (%rdi),%r14d _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%edx _litmus_P1_16_: xchgl %edx,(%r13) _litmus_P1_17_: cmpl $0,%edx _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r13),%edx _litmus_P1_21_: cmpl $0,%edx _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl (%rbp),%r15d _litmus_P1_26_: movl $0,(%r13) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edx _litmus_P1_29_: xchgl %edx,(%rcx) _litmus_P1_30_: cmpl $0,%edx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rcx),%edx _litmus_P1_34_: cmpl $0,%edx _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%rbx) _litmus_P1_39_: movl $0,(%rcx) _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%edx _litmus_P1_42_: xchgl %edx,(%r8) _litmus_P1_43_: cmpl $0,%edx _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r8),%edx _litmus_P1_47_: cmpl $0,%edx _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%rsi),%eax _litmus_P1_52_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edx _litmus_P0_2_: xchgl %edx,(%r13) _litmus_P0_3_: cmpl $0,%edx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%edx _litmus_P0_7_: cmpl $0,%edx _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,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edx _litmus_P0_15_: xchgl %edx,(%r12) _litmus_P0_16_: cmpl $0,%edx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%edx _litmus_P0_20_: cmpl $0,%edx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%r14d _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%edx _litmus_P0_28_: xchgl %edx,(%rcx) _litmus_P0_29_: cmpl $0,%edx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rcx),%edx _litmus_P0_33_: cmpl $0,%edx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rbx) _litmus_P0_38_: movl $0,(%rcx) _litmus_P0_39_: movl (%rbx),%r15d _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%edx _litmus_P0_42_: xchgl %edx,(%r8) _litmus_P0_43_: cmpl $0,%edx _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%r8),%edx _litmus_P0_47_: cmpl $0,%edx _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%rsi),%eax _litmus_P0_52_: movl $0,(%r8) Test X012+X013-L Required Histogram (45 states) 6369975:>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; 20016 :>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; 6114863:>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; 1 :>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; 2009435:>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; 299037:>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; 39 :>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; 15452609:>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; 27824046:>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; 4852 :>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; 9823735:>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; 14 :>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; 424 :>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; 25417 :>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; 1214218:>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; 22319 :>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; 4807690:>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; 794668:>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; 81384 :>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; 5804998:>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; 8684903:>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; 61695 :>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; 32162005:>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; 297 :>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; 25360 :>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; 149825:>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; 19212088:>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; 112108:>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; 8960055:>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; 11431302:>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; 794352:>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; 64178644:>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; 78028498:>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; 359248:>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; 42316116:>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; 572 :>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; 19138 :>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; 61541 :>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; 1407019:>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; 1169459:>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; 21362632:>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; 4155354:>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; 2435920:>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; 11072077:>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; 11170052:>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: 400000000, 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 195.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r14) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r14),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%r8) _litmus_P3_12_: movl $0,(%r14) _litmus_P3_13_: movl (%r8),%r15d _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%ecx _litmus_P3_16_: xchgl %ecx,(%rbx) _litmus_P3_17_: cmpl $0,%ecx _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%rbx),%ecx _litmus_P3_21_: cmpl $0,%ecx _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%rsi),%eax _litmus_P3_26_: movl $0,(%rbx) _litmus_P3_27_: LitLock45: _litmus_P3_28_: movl $1,%ecx _litmus_P3_29_: xchgl %ecx,(%r12) _litmus_P3_30_: cmpl $0,%ecx _litmus_P3_31_: je LitLock47 _litmus_P3_32_: LitLock46: _litmus_P3_33_: movl (%r12),%ecx _litmus_P3_34_: cmpl $0,%ecx _litmus_P3_35_: je LitLock45 _litmus_P3_36_: jmp LitLock46 _litmus_P3_37_: LitLock47: _litmus_P3_38_: movl $1,(%rdi) _litmus_P3_39_: movl $0,(%r12) _litmus_P3_40_: LitLock48: _litmus_P3_41_: movl $1,%ecx _litmus_P3_42_: xchgl %ecx,(%r13) _litmus_P3_43_: cmpl $0,%ecx _litmus_P3_44_: je LitLock50 _litmus_P3_45_: LitLock49: _litmus_P3_46_: movl (%r13),%ecx _litmus_P3_47_: cmpl $0,%ecx _litmus_P3_48_: je LitLock48 _litmus_P3_49_: jmp LitLock49 _litmus_P3_50_: LitLock50: _litmus_P3_51_: movl (%rbp),%edx _litmus_P3_52_: movl $0,(%r13) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r14) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r14),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl (%r8),%r15d _litmus_P2_25_: movl $0,(%r14) _litmus_P2_26_: LitLock33: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r12) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock35 _litmus_P2_31_: LitLock34: _litmus_P2_32_: movl (%r12),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock33 _litmus_P2_35_: jmp LitLock34 _litmus_P2_36_: LitLock35: _litmus_P2_37_: movl $1,(%rdi) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: movl (%rdi),%eax _litmus_P2_40_: LitLock36: _litmus_P2_41_: movl $1,%ecx _litmus_P2_42_: xchgl %ecx,(%rbx) _litmus_P2_43_: cmpl $0,%ecx _litmus_P2_44_: je LitLock38 _litmus_P2_45_: LitLock37: _litmus_P2_46_: movl (%rbx),%ecx _litmus_P2_47_: cmpl $0,%ecx _litmus_P2_48_: je LitLock36 _litmus_P2_49_: jmp LitLock37 _litmus_P2_50_: LitLock38: _litmus_P2_51_: movl (%rsi),%edx _litmus_P2_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%r12) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r12),%ecx _litmus_P1_7_: cmpl $0,%ecx _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $1,(%rdi) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: movl (%rdi),%eax _litmus_P1_14_: LitLock18: _litmus_P1_15_: movl $1,%ecx _litmus_P1_16_: xchgl %ecx,(%rbx) _litmus_P1_17_: cmpl $0,%ecx _litmus_P1_18_: je LitLock20 _litmus_P1_19_: LitLock19: _litmus_P1_20_: movl (%rbx),%ecx _litmus_P1_21_: cmpl $0,%ecx _litmus_P1_22_: je LitLock18 _litmus_P1_23_: jmp LitLock19 _litmus_P1_24_: LitLock20: _litmus_P1_25_: movl $1,(%r14) _litmus_P1_26_: movl $0,(%rbx) _litmus_P1_27_: LitLock21: _litmus_P1_28_: movl $1,%ecx _litmus_P1_29_: xchgl %ecx,(%rsi) _litmus_P1_30_: cmpl $0,%ecx _litmus_P1_31_: je LitLock23 _litmus_P1_32_: LitLock22: _litmus_P1_33_: movl (%rsi),%ecx _litmus_P1_34_: cmpl $0,%ecx _litmus_P1_35_: je LitLock21 _litmus_P1_36_: jmp LitLock22 _litmus_P1_37_: LitLock23: _litmus_P1_38_: movl $1,(%r15) _litmus_P1_39_: movl $0,(%rsi) _litmus_P1_40_: LitLock24: _litmus_P1_41_: movl $1,%ecx _litmus_P1_42_: xchgl %ecx,(%r13) _litmus_P1_43_: cmpl $0,%ecx _litmus_P1_44_: je LitLock26 _litmus_P1_45_: LitLock25: _litmus_P1_46_: movl (%r13),%ecx _litmus_P1_47_: cmpl $0,%ecx _litmus_P1_48_: je LitLock24 _litmus_P1_49_: jmp LitLock25 _litmus_P1_50_: LitLock26: _litmus_P1_51_: movl (%rbp),%edx _litmus_P1_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%r12) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%ecx _litmus_P0_20_: cmpl $0,%ecx _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,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r14) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r14),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%r15d _litmus_P0_38_: movl $0,(%r14) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r12) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%ecx _litmus_P0_46_: cmpl $0,%ecx _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,(%r12) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%ecx _litmus_P0_54_: xchgl %ecx,(%r13) _litmus_P0_55_: cmpl $0,%ecx _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r13),%ecx _litmus_P0_59_: cmpl $0,%ecx _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%rbp),%edx _litmus_P0_64_: movl $0,(%r13) Test X013+X014-L Required Histogram (184 states) 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=0; 3:ECX=0; c=1; 1268 :>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; 364 :>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; 655 :>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; 1210 :>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; 848 :>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; 3039281:>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; 1438011:>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; 1502689:>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; 1421 :>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; 13 :>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; 1444 :>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; 405 :>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; 535 :>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; 3925 :>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; 149 :>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; 219099:>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; 47976 :>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; 353132:>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; 340 :>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; 11167 :>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; 15441 :>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; 3334 :>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; 18709658:>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; 1907868:>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; 24048540:>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; 651 :>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; 2 :>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; 7641 :>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; 3287 :>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; 2998 :>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; 315941:>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; 238 :>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; 186 :>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; 395413:>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; 1340582:>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; 171178:>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=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; 151 :>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; 112 :>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; 268 :>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; 846 :>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; 7829 :>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; 5974 :>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; 25 :>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; 29088 :>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; 1112 :>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; 9159 :>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; 613 :>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; 334508:>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; 600183:>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; 1038646:>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; 1763 :>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; 562893:>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; 106096:>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; 408322:>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; 6250 :>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; 1036655:>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; 15445839:>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; 5147792:>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; 27046 :>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; 14425098:>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; 3808465:>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; 7422334:>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; 196 :>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; 664 :>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; 3469 :>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; 142 :>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; 1027479:>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; 102294:>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; 808485:>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; 44 :>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; 6586 :>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; 3662 :>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; 874 :>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; 2991441:>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; 678700:>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; 1916990:>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; 65 :>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; 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=1; c=1; 2436 :>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; 1 :>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; 237449:>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; 39 :>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; 273781:>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; 66 :>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; 145 :>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; 524 :>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; 305 :>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; 3176 :>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; 5720 :>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; 70287 :>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; 385 :>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; 5273755:>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; 101932:>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; 7048886:>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; 825 :>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; 1361091:>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; 2293641:>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; 4824828:>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; 3208 :>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; 12523600:>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; 810076:>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; 5184587:>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; 32410 :>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; 2018048:>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; 302970:>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; 1990 :>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; 2773950:>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; 2364748:>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; 1053961:>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; 509 :>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; 190998:>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; 84580 :>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; 264159:>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; 1 :>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; 67 :>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; 8177 :>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; 4286816:>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; 3412724:>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; 9574613:>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; 3978 :>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; 7606990:>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; 37074 :>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; 3852079:>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; 196 :>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; 161948:>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; 63705 :>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; 267832:>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; 78 :>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; 31851 :>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; 283 :>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; 2766 :>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; 4919 :>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; 2153838:>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; 13214097:>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; 10143937:>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; 22344 :>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; 22253844:>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; 1556602:>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; 12324771:>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; 875 :>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; 521460:>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; 32 :>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; 7857 :>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; 3935 :>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; 1634235:>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; 6148 :>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; 15248563:>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; 13 :>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; 746 :>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; 204 :>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; 2075 :>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; 11345 :>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; 1759467:>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; 1937745:>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; 3479382:>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; 8476059:>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; 3361 :>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; 4204848:>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; 114 :>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; 2355375:>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; 151 :>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; 37318 :>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; 11828 :>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; 5114655:>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; 11723 :>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; 1221226:>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; 56601 :>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; 20310532:>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; 3160059:>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; 5028755:>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; 18176 :>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; 56182 :>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; 1506163:>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; 136233:>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; 13681638:>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; 12417177:>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; 3348638:>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; 2302953:>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; 15317362:>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; 24999139:>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: 400000000, 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 256.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r12) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r12),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%rdi) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%rdi),%eax _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%rbx) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%rbx),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%rsi),%edx _litmus_P2_39_: movl $0,(%rbx) _litmus_P2_40_: LitLock36: _litmus_P2_41_: movl $1,%ecx _litmus_P2_42_: xchgl %ecx,(%r14) _litmus_P2_43_: cmpl $0,%ecx _litmus_P2_44_: je LitLock38 _litmus_P2_45_: LitLock37: _litmus_P2_46_: movl (%r14),%ecx _litmus_P2_47_: cmpl $0,%ecx _litmus_P2_48_: je LitLock36 _litmus_P2_49_: jmp LitLock37 _litmus_P2_50_: LitLock38: _litmus_P2_51_: movl (%r8),%r15d _litmus_P2_52_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%rdi) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%r8) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r8),%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,(%r14) _litmus_P1_25_: movl $0,(%r8) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r8) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r8),%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 (%r14),%r15d _litmus_P1_38_: movl $0,(%r8) _litmus_P1_39_: movl $1,(%r11) _litmus_P1_40_: movl (%r11),%ecx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%esi _litmus_P1_43_: xchgl %esi,(%rbp) _litmus_P1_44_: cmpl $0,%esi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbp),%esi _litmus_P1_48_: cmpl $0,%esi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%ebx _litmus_P1_53_: movl $0,(%rbp) _litmus_P1_54_: LitLock24: _litmus_P1_55_: movl $1,%esi _litmus_P1_56_: xchgl %esi,(%r9) _litmus_P1_57_: cmpl $0,%esi _litmus_P1_58_: je LitLock26 _litmus_P1_59_: LitLock25: _litmus_P1_60_: movl (%r9),%esi _litmus_P1_61_: cmpl $0,%esi _litmus_P1_62_: je LitLock24 _litmus_P1_63_: jmp LitLock25 _litmus_P1_64_: LitLock26: _litmus_P1_65_: movl (%r13),%eax _litmus_P1_66_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rbp) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbp),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rbx) _litmus_P0_38_: movl $0,(%rbp) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%r15d _litmus_P0_51_: movl $0,(%rdi) Test X014+X015-L Required Histogram (71 states) 723093:>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; 12160 :>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; 268493:>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; 3562112:>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; 651986:>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; 7616999:>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; 1603 :>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; 111605:>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; 11 :>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; 564 :>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; 1476143:>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; 5540512:>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; 1640415:>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; 33018421:>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; 100556:>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; 100 :>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; 645107:>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; 11509 :>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; 513673:>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; 3457726:>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; 2439160:>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; 37057441:>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; 5073643:>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; 635124:>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; 7205823:>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; 4421273:>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; 1234719:>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; 11421579:>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; 4941 :>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; 78137 :>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; 1975 :>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; 1771179:>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; 180 :>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; 1537 :>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; 37 :>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; 1266 :>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; 24359 :>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; 5078 :>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; 385001:>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; 3089845:>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; 9824003:>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; 2336659:>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; 52466661:>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; 108672:>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; 100 :>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; 822422:>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; 14408 :>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; 614643:>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; 4213488:>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; 3616488:>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; 45393700:>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; 48350 :>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; 395999:>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; 9727205:>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; 3 :>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; 688456:>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; 280 :>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; 9543201:>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; 20329547:>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; 8043 :>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; 1921466:>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; 998182:>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; 12211341:>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; 1423 :>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; 36322 :>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; 95008 :>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; 1461360:>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; 497 :>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; 43187212:>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; 45729775:>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: 400000000, 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 226.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebx _litmus_P2_2_: xchgl %ebx,(%r8) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%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,(%r13) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ebx _litmus_P2_15_: xchgl %ebx,(%rbp) _litmus_P2_16_: cmpl $0,%ebx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbp),%ebx _litmus_P2_20_: cmpl $0,%ebx _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,(%rbp) _litmus_P2_26_: movl (%r13),%r15d _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ebx _litmus_P2_29_: xchgl %ebx,(%rdi) _litmus_P2_30_: cmpl $0,%ebx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%rdi),%ebx _litmus_P2_34_: cmpl $0,%ebx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r9),%eax _litmus_P2_39_: movl $0,(%rdi) _litmus_P2_40_: movl (%r10),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ebx _litmus_P2_43_: xchgl %ebx,(%r14) _litmus_P2_44_: cmpl $0,%ebx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%ebx _litmus_P2_48_: cmpl $0,%ebx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%ecx _litmus_P2_53_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rdi) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r15) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r15),%ebx _litmus_P1_20_: cmpl $0,%ebx _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,(%r15) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ebx _litmus_P1_28_: xchgl %ebx,(%rbp) _litmus_P1_29_: cmpl $0,%ebx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%ebx _litmus_P1_33_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%ebx _litmus_P1_41_: xchgl %ebx,(%r14) _litmus_P1_42_: cmpl $0,%ebx _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r14),%ebx _litmus_P1_46_: cmpl $0,%ebx _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rax),%ecx _litmus_P1_51_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rdi) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r15) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r15),%ebx _litmus_P0_20_: cmpl $0,%ebx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r9) _litmus_P0_25_: movl $0,(%r15) _litmus_P0_26_: movl $1,(%r13) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%ebx _litmus_P0_29_: xchgl %ebx,(%rbp) _litmus_P0_30_: cmpl $0,%ebx _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%rbp),%ebx _litmus_P0_34_: cmpl $0,%ebx _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl (%r11),%ecx _litmus_P0_39_: movl $0,(%rbp) _litmus_P0_40_: movl (%r13),%eax _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%r8) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r8),%ebx _litmus_P0_48_: cmpl $0,%ebx _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r14),%edx _litmus_P0_53_: movl $0,(%r8) Test X015+X016-L Required Histogram (23 states) 2393207:>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; 1966551:>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; 92900074:>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; 3167919:>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; 4450013:>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; 1165255:>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; 7981377:>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; 4049122:>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; 7008866:>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; 2980658:>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; 1617 :>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; 70860843:>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; 2525433:>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; 7615717:>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; 1096 :>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; 160115:>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; 253754:>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; 26080362:>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; 13891589:>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; 8727777:>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; 91347216:>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; 27911 :>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; 150443528:>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: 500000000, 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 197.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P3_2_: xchgl %r14d,(%r9) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%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,(%r11) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r10) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r10),%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 (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edx _litmus_P2_2_: xchgl %edx,(%r12) _litmus_P2_3_: cmpl $0,%edx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%edx _litmus_P2_7_: cmpl $0,%edx _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,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edx _litmus_P2_15_: xchgl %edx,(%rcx) _litmus_P2_16_: cmpl $0,%edx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rcx),%edx _litmus_P2_20_: cmpl $0,%edx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rbp) _litmus_P2_25_: movl $0,(%rcx) _litmus_P2_26_: movl (%rdi),%r15d _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edx _litmus_P2_29_: xchgl %edx,(%r9) _litmus_P2_30_: cmpl $0,%edx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r9),%edx _litmus_P2_34_: cmpl $0,%edx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%rsi),%eax _litmus_P2_39_: movl $0,(%r9) _litmus_P2_40_: movl (%rbp),%r13d _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edx _litmus_P2_43_: xchgl %edx,(%rbx) _litmus_P2_44_: cmpl $0,%edx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%edx _litmus_P2_48_: cmpl $0,%edx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r8),%r14d _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r12) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rcx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rcx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r13),%r15d _litmus_P1_38_: movl $0,(%rcx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rsi),%r14d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rdx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbp) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbp),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%rbp) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rcx) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rcx),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r13),%r15d _litmus_P0_38_: movl $0,(%rcx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r14d _litmus_P0_51_: movl $0,(%rdi) Test X016+X017-L Required Histogram (55 states) 381062:>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; 354482:>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; 6695516:>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; 1043 :>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; 117931:>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; 37525 :>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; 3325135:>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; 12759160:>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; 582444:>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; 1414099:>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; 5024 :>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; 3394683:>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; 6488 :>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; 5806136:>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; 624556:>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; 629794:>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; 1319104:>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; 1229545:>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; 26343430:>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; 743133:>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; 632320:>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; 3790429:>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; 56302148:>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; 4359 :>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; 2309888:>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; 36059 :>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; 439502:>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; 650229:>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; 60025330:>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; 11 :>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; 3460 :>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; 2148352:>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; 4581524:>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; 1382498:>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; 39250408:>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; 1846 :>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; 1183609:>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; 6975 :>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; 4710797:>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; 8 :>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; 4878 :>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; 7017 :>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; 7002202:>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; 131773:>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; 15096612:>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; 17655 :>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; 4490979:>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; 662089:>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; 3803647:>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; 24251 :>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; 19253210:>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; 3252793:>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; 10324931:>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; 205398:>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; 92492523:>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: 400000000, 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 204.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r14) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r14),%ecx _litmus_P3_7_: cmpl $0,%ecx _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,(%r14) _litmus_P3_13_: movl (%r8),%r15d _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%ecx _litmus_P3_16_: xchgl %ecx,(%rbx) _litmus_P3_17_: cmpl $0,%ecx _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%rbx),%ecx _litmus_P3_21_: cmpl $0,%ecx _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%rsi),%eax _litmus_P3_26_: movl $0,(%rbx) _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%ecx _litmus_P3_29_: xchgl %ecx,(%r12) _litmus_P3_30_: cmpl $0,%ecx _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%r12),%ecx _litmus_P3_34_: cmpl $0,%ecx _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl $1,(%rdi) _litmus_P3_39_: movl $0,(%r12) _litmus_P3_40_: LitLock45: _litmus_P3_41_: movl $1,%ecx _litmus_P3_42_: xchgl %ecx,(%r13) _litmus_P3_43_: cmpl $0,%ecx _litmus_P3_44_: je LitLock47 _litmus_P3_45_: LitLock46: _litmus_P3_46_: movl (%r13),%ecx _litmus_P3_47_: cmpl $0,%ecx _litmus_P3_48_: je LitLock45 _litmus_P3_49_: jmp LitLock46 _litmus_P3_50_: LitLock47: _litmus_P3_51_: movl (%rbp),%edx _litmus_P3_52_: movl $0,(%r13) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r14) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r14),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r8),%r15d _litmus_P2_25_: movl $0,(%r14) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r12) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%rdi) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: movl (%rdi),%eax _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%ecx _litmus_P2_42_: xchgl %ecx,(%rbx) _litmus_P2_43_: cmpl $0,%ecx _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%rbx),%ecx _litmus_P2_47_: cmpl $0,%ecx _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%rsi),%edx _litmus_P2_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rdx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rsi) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r12) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rdi),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbp),%eax _litmus_P0_51_: movl $0,(%r13) Test X017+X018-L Required Histogram (121 states) 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=0; c=1; 53 :>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; 1503 :>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; 1147 :>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; 1307 :>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; 423443:>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; 4825884:>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; 5 :>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; 3082 :>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; 417 :>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; 12114 :>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; 45596 :>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; 2444493:>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; 4809 :>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; 57631 :>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; 506080:>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; 54763202:>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; 728 :>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; 1249 :>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; 395 :>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; 2526 :>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; 505981:>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; 347949:>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; 234866:>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; 592336:>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; 26 :>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; 1572 :>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; 120 :>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; 2578 :>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; 41143 :>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; 48 :>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; 31658 :>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; 364693:>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; 5344824:>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; 69150 :>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; 3673508:>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; 5892884:>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; 34637760:>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; 557159:>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; 17234793:>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; 211 :>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; 11613 :>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; 15746 :>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; 2376399:>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; 2668 :>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; 30075 :>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; 128820:>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; 7196765:>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; 4436 :>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; 4 :>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; 529383:>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; 3341 :>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; 109014:>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; 797 :>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; 179101:>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; 2092 :>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; 16725126:>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; 654978:>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; 22393920:>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; 34351 :>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; 12969791:>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; 1053213:>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; 3623376:>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; 65799 :>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; 2151548:>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; 18441 :>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; 1538428:>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; 21200 :>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; 882622:>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; 29370556:>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; 99 :>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; 7531902:>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; 21348 :>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; 2542537:>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; 1080553:>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; 3428104:>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; 48554082:>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; 1599 :>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; 24188531:>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; 64 :>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; 61052 :>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; 153 :>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; 3014 :>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; 2100 :>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; 2467409:>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; 41 :>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; 2382708:>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=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=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=0; c=2; 2567 :>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; 2228 :>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; 333 :>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; 3790 :>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; 2296548:>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; 3394441:>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; 201856:>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; 862184:>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; 3667 :>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; 2656165:>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; 108 :>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; 1075338:>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; 682 :>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; 113922:>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; 8913 :>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; 2628731:>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; 21744 :>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; 3105091:>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; 7629 :>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; 7824676:>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; 2639050:>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; 3175407:>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; 12943 :>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; 52788 :>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; 3890237:>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; 612402:>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; 7804167:>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; 5660049:>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; 9049157:>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; 7132358:>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; 3271129:>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; 5501869:>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: 400000000, 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 244.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%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,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rsi) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: movl (%rsi),%eax _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%r12) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r12),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%rdi),%edx _litmus_P2_39_: movl $0,(%r12) _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%ecx _litmus_P2_42_: xchgl %ecx,(%r14) _litmus_P2_43_: cmpl $0,%ecx _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%r14),%ecx _litmus_P2_47_: cmpl $0,%ecx _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r8),%r15d _litmus_P2_52_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r13) _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rcx),%r15d _litmus_P0_38_: movl $0,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rbx) _litmus_P0_51_: movl $0,(%rbp) Test X018+X019-L Required Histogram (53 states) 495318:>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; 1922043:>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; 28654731:>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; 33 :>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; 3722742:>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; 959471:>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; 22453334:>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; 43810835:>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; 38120 :>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; 14625654:>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; 7267310:>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; 46396521:>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; 6897 :>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; 7458 :>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; 52148 :>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; 215180:>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; 7051879:>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; 2503130:>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; 55463101:>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; 52592371:>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; 857059:>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; 6188777:>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; 2234 :>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; 59412 :>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; 918150:>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; 11159807:>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; 1720 :>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; 11946551:>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; 4487227:>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; 6321252:>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; 1995 :>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; 152541:>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; 3 :>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; 1087137:>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; 2052980:>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; 22962604:>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; 3145 :>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; 14573121:>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; 3947 :>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; 1591848:>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; 738086:>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; 187796:>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; 1409033:>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; 82 :>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; 81245 :>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; 244298:>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; 10163838:>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; 681163:>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; 101 :>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; 3991 :>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; 442574:>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; 13437770:>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; 237 :>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: 400000000, 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 221.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r10) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%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,(%r12) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r11) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r11),%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 (%r13),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r8) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: movl (%rbp),%eax _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%r12) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r12),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%rdi),%edx _litmus_P2_39_: movl $0,(%r12) _litmus_P2_40_: movl (%r8),%r14d _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rsi) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rsi),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r9),%r15d _litmus_P2_53_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%r12) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%ecx _litmus_P1_7_: cmpl $0,%ecx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rdi) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ecx _litmus_P1_15_: xchgl %ecx,(%rbx) _litmus_P1_16_: cmpl $0,%ecx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%ecx _litmus_P1_20_: cmpl $0,%ecx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ecx _litmus_P1_28_: xchgl %ecx,(%rsi) _litmus_P1_29_: cmpl $0,%ecx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rsi),%ecx _litmus_P1_33_: cmpl $0,%ecx _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,(%rsi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%ecx _litmus_P1_41_: xchgl %ecx,(%r13) _litmus_P1_42_: cmpl $0,%ecx _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%ecx _litmus_P1_46_: cmpl $0,%ecx _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbp),%eax _litmus_P1_51_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%r13) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X019+X020-L Required Histogram (55 states) 195116:>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; 5056921:>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; 353 :>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; 14243786:>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; 437838:>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; 984616:>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; 5434 :>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; 3367777:>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; 5195834:>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; 487128:>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; 23553227:>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; 57043706:>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; 1954945:>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; 57869858:>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; 3405 :>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; 38894113:>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; 1207120:>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; 4740240:>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; 5336 :>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; 6858069:>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; 15051353:>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; 4278039:>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; 21873263:>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; 92169282:>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; 14507 :>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; 3788 :>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; 886074:>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; 349906:>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; 5484 :>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; 451497:>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; 35 :>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; 6787366:>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; 3434 :>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; 12582 :>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; 23 :>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; 10091 :>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; 167727:>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; 20319 :>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; 5061319:>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; 14535025:>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; 165018:>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; 3799148:>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; 1230391:>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; 3204653:>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; 620557:>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; 1294651:>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; 16827 :>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; 130275:>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; 93767 :>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; 363123:>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; 456300:>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; 17657 :>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; 2557295:>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; 357635:>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; 1906767:>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: 400000000, 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 220.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r14) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r14),%ecx _litmus_P3_7_: cmpl $0,%ecx _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,(%r14) _litmus_P3_13_: movl (%r8),%r15d _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%ecx _litmus_P3_16_: xchgl %ecx,(%rbx) _litmus_P3_17_: cmpl $0,%ecx _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%rbx),%ecx _litmus_P3_21_: cmpl $0,%ecx _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%rsi),%eax _litmus_P3_26_: movl $0,(%rbx) _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%ecx _litmus_P3_29_: xchgl %ecx,(%r12) _litmus_P3_30_: cmpl $0,%ecx _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%r12),%ecx _litmus_P3_34_: cmpl $0,%ecx _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl $2,(%rdi) _litmus_P3_39_: movl $0,(%r12) _litmus_P3_40_: LitLock45: _litmus_P3_41_: movl $1,%ecx _litmus_P3_42_: xchgl %ecx,(%r13) _litmus_P3_43_: cmpl $0,%ecx _litmus_P3_44_: je LitLock47 _litmus_P3_45_: LitLock46: _litmus_P3_46_: movl (%r13),%ecx _litmus_P3_47_: cmpl $0,%ecx _litmus_P3_48_: je LitLock45 _litmus_P3_49_: jmp LitLock46 _litmus_P3_50_: LitLock47: _litmus_P3_51_: movl (%rbp),%edx _litmus_P3_52_: movl $0,(%r13) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r14) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r14),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r8),%r15d _litmus_P2_25_: movl $0,(%r14) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r12) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%rdi) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: movl (%rdi),%eax _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%ecx _litmus_P2_42_: xchgl %ecx,(%rbx) _litmus_P2_43_: cmpl $0,%ecx _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%rbx),%ecx _litmus_P2_47_: cmpl $0,%ecx _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%rsi),%edx _litmus_P2_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rbx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r13) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%eax _litmus_P1_33_: cmpl $0,%eax _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,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r15) _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r15d _litmus_P0_51_: movl $0,(%rbp) Test X020+X021-L Required Histogram (118 states) 35 :>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; 1522 :>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; 233340:>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; 4310101:>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; 2730 :>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; 400480:>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; 57780457:>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; 111 :>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; 655 :>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; 139856:>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; 329133:>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; 8 :>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; 14331 :>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; 411972:>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; 14919557:>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; 8886 :>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; 2102762:>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; 79031 :>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; 5582715:>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; 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=1; y=1; 528642:>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; 1867 :>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; 14957240:>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; 17091 :>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; 12810322:>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; 45117 :>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; 1881440:>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; 15 :>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; 7316306:>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; 1299 :>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; 24698881:>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; 108 :>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; 55601 :>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; 2864 :>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; 2198171:>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; 3 :>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; 1789 :>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; 573796:>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; 2061249:>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; 736903:>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; 2106813:>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; 5963015:>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; 2746927:>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; 32901 :>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; 5194505:>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; 4348559:>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; 247 :>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; 375 :>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; 2992 :>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; 32668 :>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; 506 :>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; 2735 :>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; 306042:>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; 242815:>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; 2767 :>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; 49449 :>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; 5931773:>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; 33387499:>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; 56 :>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; 8025 :>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; 1173 :>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; 22361 :>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; 3329 :>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; 408 :>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; 182379:>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; 607278:>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; 23140194:>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; 669533:>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; 3119754:>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; 918291:>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; 31591359:>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; 3273671:>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; 53982117:>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; 8 :>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; 124 :>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; 113494:>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; 2336 :>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; 49 :>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; 5485 :>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; 4994 :>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; 2394523:>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; 6982 :>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; 8019697:>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; 2802362:>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; 49211 :>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; 3729768:>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; 32 :>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; 45790 :>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; 5910515:>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; 73809 :>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; 11200 :>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; 2330995:>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; 72 :>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; 2526127:>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; 393 :>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; 3046781:>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; 59914 :>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; 2262391:>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; 319582:>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; 6796328:>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; 413 :>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; 15158 :>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; 19 :>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; 1378 :>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; 438786:>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; 8149687:>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; 5861 :>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; 16351 :>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; 1801015:>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; 19859 :>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; 5214312:>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; 618 :>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; 771 :>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; 1344243:>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; 269 :>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; 13382 :>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; 2608827:>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; 7777185:>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: 400000000, 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 259.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock35 _litmus_P3_5_: LitLock34: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock33 _litmus_P3_9_: jmp LitLock34 _litmus_P3_10_: LitLock35: _litmus_P3_11_: movl $1,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r14),%ebp _litmus_P3_14_: LitLock36: _litmus_P3_15_: movl $1,%r15d _litmus_P3_16_: xchgl %r15d,(%r11) _litmus_P3_17_: cmpl $0,%r15d _litmus_P3_18_: je LitLock38 _litmus_P3_19_: LitLock37: _litmus_P3_20_: movl (%r11),%r15d _litmus_P3_21_: cmpl $0,%r15d _litmus_P3_22_: je LitLock36 _litmus_P3_23_: jmp LitLock37 _litmus_P3_24_: LitLock38: _litmus_P3_25_: movl (%r13),%ebx _litmus_P3_26_: movl $0,(%r11) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r10),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r11),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl $1,(%r15) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r13) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%r13),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r13) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%rbx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rsi) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%rsi) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r15),%eax _litmus_P0_38_: movl $0,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rbp) _litmus_P0_51_: movl $0,(%r13) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%ecx _litmus_P0_54_: xchgl %ecx,(%r12) _litmus_P0_55_: cmpl $0,%ecx _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r12),%ecx _litmus_P0_59_: cmpl $0,%ecx _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%rdi),%edx _litmus_P0_64_: movl $0,(%r12) Test X021+X022-L Required Histogram (43 states) 43484 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 417125:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 9104402:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 708716:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2711085:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 91353769:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 381907:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1922057:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 49369754:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 773347:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2289235:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 89275106:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 6744861:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 17455291:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 14572168:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 10669830:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 686799:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 4581 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 10208072:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 83612 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 9509000:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 112103:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 47957282:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 755800:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1278 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 143217:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 2033296:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 76 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 6619 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 56920 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 13460 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 572863:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 7528472:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 12740 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 6063777:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 720212:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 15482933:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 16981 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 304 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 664 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 19 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 229374:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 7409 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 208.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _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,(%r9) _litmus_P2_0_: LitLock30: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock32 _litmus_P2_5_: LitLock31: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock30 _litmus_P2_9_: jmp LitLock31 _litmus_P2_10_: LitLock32: _litmus_P2_11_: movl $2,(%r14) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock33: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r12) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock35 _litmus_P2_18_: LitLock34: _litmus_P2_19_: movl (%r12),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock33 _litmus_P2_22_: jmp LitLock34 _litmus_P2_23_: LitLock35: _litmus_P2_24_: movl (%r14),%ebp _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock36: _litmus_P2_27_: movl $1,%r15d _litmus_P2_28_: xchgl %r15d,(%r11) _litmus_P2_29_: cmpl $0,%r15d _litmus_P2_30_: je LitLock38 _litmus_P2_31_: LitLock37: _litmus_P2_32_: movl (%r11),%r15d _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock36 _litmus_P2_35_: jmp LitLock37 _litmus_P2_36_: LitLock38: _litmus_P2_37_: movl (%r13),%ebx _litmus_P2_38_: movl $0,(%r11) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%r12) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r12),%ecx _litmus_P1_7_: cmpl $0,%ecx _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%rdi) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%ecx _litmus_P1_15_: xchgl %ecx,(%r12) _litmus_P1_16_: cmpl $0,%ecx _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%r12),%ecx _litmus_P1_20_: cmpl $0,%ecx _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl (%rdi),%eax _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%ecx _litmus_P1_28_: xchgl %ecx,(%r13) _litmus_P1_29_: cmpl $0,%ecx _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%r13),%ecx _litmus_P1_33_: cmpl $0,%ecx _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl (%rbp),%edx _litmus_P1_38_: movl $0,(%r13) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%ecx _litmus_P1_41_: xchgl %ecx,(%rbx) _litmus_P1_42_: cmpl $0,%ecx _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%rbx),%ecx _litmus_P1_46_: cmpl $0,%ecx _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rbx) _litmus_P1_52_: LitLock27: _litmus_P1_53_: movl $1,%ecx _litmus_P1_54_: xchgl %ecx,(%rsi) _litmus_P1_55_: cmpl $0,%ecx _litmus_P1_56_: je LitLock29 _litmus_P1_57_: LitLock28: _litmus_P1_58_: movl (%rsi),%ecx _litmus_P1_59_: cmpl $0,%ecx _litmus_P1_60_: je LitLock27 _litmus_P1_61_: jmp LitLock28 _litmus_P1_62_: LitLock29: _litmus_P1_63_: movl $1,(%r15) _litmus_P1_64_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%r13) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%r12) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%ecx _litmus_P0_20_: cmpl $0,%ecx _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,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%rbx) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $2,(%r14) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%rbx) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r14),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%ecx _litmus_P0_54_: xchgl %ecx,(%rsi) _litmus_P0_55_: cmpl $0,%ecx _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%rsi),%ecx _litmus_P0_59_: cmpl $0,%ecx _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r15),%edx _litmus_P0_64_: movl $0,(%rsi) Test X022+X023-L Required Histogram (125 states) 5090 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 31027 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 6 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 4367 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 186985:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 8 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 88755 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1014201:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1678 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 38022 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 590434:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3800361:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 171 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 48973 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 156364:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 6292731:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 6289 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 241096:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 6168000:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 63968910:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 837 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 10891 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 85626 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 674679:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 3239 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 7581 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 167994:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 405 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 23283 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 153986:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1414954:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 28307 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 592720:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1417521:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 13609531:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 262 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 82853 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 13403 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 540041:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 16791 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 797519:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 668587:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 7897005:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 365032:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 807 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 187341:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 14571 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 24767508:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 23 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 29360 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 4127 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 10857621:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1506 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 3443421:>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=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1512 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 86 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 244337:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 233224:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 58411312:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 43 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 2336 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 3629 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 598567:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 115127:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1002292:>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; 35275 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2213414:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1443373:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 22283714:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 703 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 9942 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 403504:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 3626866:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2907 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 29410 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1361554:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 364 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 20562 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1115398:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 16393607:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 5405786:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 6673 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 3149121:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 1957 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 12776175:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 8151 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 100 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1623995:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 37522 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 4209 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2188228:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 148 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 5415352:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 277636:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 71783055:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 279644:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 23648 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 2055049:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 219 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1899181:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 76180 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 8022524:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 673 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 18 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 47561 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 4566 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 39 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 12346 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 38949 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 30892 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 16150844:>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=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 397877:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 50406 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 8137040:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 5906 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 12444 :>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: 400000000, 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 209.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock48: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock50 _litmus_P3_31_: LitLock49: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock48 _litmus_P3_35_: jmp LitLock49 _litmus_P3_36_: LitLock50: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r12) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r12),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rsi) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%rsi),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $2,(%r15) _litmus_P2_25_: movl $0,(%rsi) _litmus_P2_26_: LitLock33: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%rsi) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock35 _litmus_P2_31_: LitLock34: _litmus_P2_32_: movl (%rsi),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock33 _litmus_P2_35_: jmp LitLock34 _litmus_P2_36_: LitLock35: _litmus_P2_37_: movl (%r15),%eax _litmus_P2_38_: movl $0,(%rsi) _litmus_P2_39_: LitLock36: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%rbx) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock38 _litmus_P2_44_: LitLock37: _litmus_P2_45_: movl (%rbx),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock36 _litmus_P2_48_: jmp LitLock37 _litmus_P2_49_: LitLock38: _litmus_P2_50_: movl (%r14),%edx _litmus_P2_51_: movl $0,(%rbx) _litmus_P2_52_: LitLock39: _litmus_P2_53_: movl $1,%ecx _litmus_P2_54_: xchgl %ecx,(%r13) _litmus_P2_55_: cmpl $0,%ecx _litmus_P2_56_: je LitLock41 _litmus_P2_57_: LitLock40: _litmus_P2_58_: movl (%r13),%ecx _litmus_P2_59_: cmpl $0,%ecx _litmus_P2_60_: je LitLock39 _litmus_P2_61_: jmp LitLock40 _litmus_P2_62_: LitLock41: _litmus_P2_63_: movl $1,(%rbp) _litmus_P2_64_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%rdi) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%r8) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r8),%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,(%r14) _litmus_P1_25_: movl $0,(%r8) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r8) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r8),%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 (%r14),%r15d _litmus_P1_38_: movl $0,(%r8) _litmus_P1_39_: movl $1,(%r11) _litmus_P1_40_: movl (%r11),%ecx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%esi _litmus_P1_43_: xchgl %esi,(%rbp) _litmus_P1_44_: cmpl $0,%esi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbp),%esi _litmus_P1_48_: cmpl $0,%esi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%ebx _litmus_P1_53_: movl $0,(%rbp) _litmus_P1_54_: LitLock24: _litmus_P1_55_: movl $1,%esi _litmus_P1_56_: xchgl %esi,(%r9) _litmus_P1_57_: cmpl $0,%esi _litmus_P1_58_: je LitLock26 _litmus_P1_59_: LitLock25: _litmus_P1_60_: movl (%r9),%esi _litmus_P1_61_: cmpl $0,%esi _litmus_P1_62_: je LitLock24 _litmus_P1_63_: jmp LitLock25 _litmus_P1_64_: LitLock26: _litmus_P1_65_: movl (%r13),%eax _litmus_P1_66_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rsi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%r13) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X023+X024-L Required Histogram (133 states) 43679 :>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; 3052 :>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; 46185 :>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; 222 :>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; 16750 :>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; 4 :>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; 207 :>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; 2952176:>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; 644296:>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; 7634103:>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; 153377:>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; 328251:>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; 17 :>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; 1844 :>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; 163817:>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; 668990:>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; 3544233:>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; 23993861:>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; 90 :>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; 17507 :>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; 2977552:>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; 34124652:>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; 517251:>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; 142242:>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; 1469013:>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; 423 :>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; 585 :>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; 1 :>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; 396 :>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; 1245 :>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; 151020:>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; 1643283:>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; 41 :>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; 92676 :>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; 836393:>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; 4367069:>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; 1099203:>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; 10987278:>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; 391244:>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; 742940:>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; 20 :>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; 1584 :>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; 171578:>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; 914793:>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; 9393599:>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; 49633784:>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; 86 :>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; 13646 :>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; 3308804:>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; 39761042:>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; 1294265:>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; 1220405:>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; 147001:>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; 886036:>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; 515267:>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; 2438734:>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; 2457 :>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; 1050 :>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; 227 :>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; 1350 :>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; 1171 :>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; 4493 :>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; 3115900:>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; 2404757:>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; 116601:>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; 876359:>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; 557488:>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; 3437564:>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; 17457 :>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; 1 :>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; 52584 :>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; 10505985:>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; 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; 1214176:>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; 350 :>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; 20968698:>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; 2200 :>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; 976885:>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; 7141 :>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; 375249:>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; 103823:>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; 12547047:>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; 37 :>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; 2864786:>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; 378 :>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; 42059135:>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; 403141:>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; 1251945:>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; 11588680:>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; 11264 :>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; 1740 :>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; 72995 :>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; 914612:>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; 1589253:>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; 40564957:>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; 820516:>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; 22743 :>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; 401601:>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; 859 :>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; 82001 :>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; 791 :>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; 7997412:>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; 1184583:>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; 14555622:>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; 531 :>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; 762 :>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; 2 :>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; 442 :>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; 1423 :>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; 92192 :>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; 2161190:>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; 59 :>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; 28312 :>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; 553121:>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; 3273 :>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; 1645 :>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; 249 :>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; 1858 :>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; 1196 :>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; 4926 :>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; 60427 :>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; 2 :>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; 1900 :>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; 3727519:>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=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 5134 :>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; 1 :>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; 155319:>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; 10239 :>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; 2638 :>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; 47707 :>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: 400000000, 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 242.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%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,(%r13) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ebx _litmus_P2_15_: xchgl %ebx,(%r8) _litmus_P2_16_: cmpl $0,%ebx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r8),%ebx _litmus_P2_20_: cmpl $0,%ebx _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,(%r8) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ebx _litmus_P2_28_: xchgl %ebx,(%r10) _litmus_P2_29_: cmpl $0,%ebx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r10),%ebx _litmus_P2_33_: cmpl $0,%ebx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r13),%r15d _litmus_P2_38_: movl $0,(%r10) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ebx _litmus_P2_41_: xchgl %ebx,(%rbp) _litmus_P2_42_: cmpl $0,%ebx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%rbp),%ebx _litmus_P2_46_: cmpl $0,%ebx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r11),%eax _litmus_P2_51_: movl $0,(%rbp) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%ebx _litmus_P2_54_: xchgl %ebx,(%r8) _litmus_P2_55_: cmpl $0,%ebx _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r8),%ebx _litmus_P2_59_: cmpl $0,%ebx _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r12),%edx _litmus_P2_64_: movl $0,(%r8) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%ebx _litmus_P2_67_: xchgl %ebx,(%r9) _litmus_P2_68_: cmpl $0,%ebx _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%r9),%ebx _litmus_P2_72_: cmpl $0,%ebx _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r14),%ecx _litmus_P2_77_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rdi) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r15) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r15),%ebx _litmus_P1_20_: cmpl $0,%ebx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdx) _litmus_P1_25_: movl $0,(%r15) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ebx _litmus_P1_28_: xchgl %ebx,(%rbp) _litmus_P1_29_: cmpl $0,%ebx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%ebx _litmus_P1_33_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%ebx _litmus_P1_41_: xchgl %ebx,(%r14) _litmus_P1_42_: cmpl $0,%ebx _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r14),%ebx _litmus_P1_46_: cmpl $0,%ebx _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rax),%ecx _litmus_P1_51_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rax) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r15) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r15),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%r15) _litmus_P0_26_: movl $1,(%r11) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%ebx _litmus_P0_29_: xchgl %ebx,(%rdi) _litmus_P0_30_: cmpl $0,%ebx _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%rdi),%ebx _litmus_P0_34_: cmpl $0,%ebx _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl $1,(%r10) _litmus_P0_39_: movl $0,(%rdi) _litmus_P0_40_: movl (%r11),%edx _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%rbp) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rbp),%ebx _litmus_P0_48_: cmpl $0,%ebx _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r14),%ecx _litmus_P0_53_: movl $0,(%rbp) Test X024+X025-L Required Histogram (48 states) 5139 :>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; 45981 :>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; 562973:>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; 2883204:>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; 884317:>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; 614185:>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; 87822945:>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; 30757 :>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; 777523:>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; 12107 :>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; 55075 :>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; 1114 :>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; 957 :>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; 1217058:>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; 270915:>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; 105 :>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; 75040639:>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; 2133 :>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; 44347 :>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; 74819903:>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; 2223354:>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; 5457131:>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; 1624701:>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; 419 :>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; 56922680:>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; 12965 :>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; 6490709:>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; 77 :>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; 46 :>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; 6613897:>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; 1112098:>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; 2920020:>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; 563 :>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; 952098:>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; 60147238:>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; 2218168:>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; 24309401:>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; 31901 :>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; 36451 :>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; 5905899:>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; 16070004:>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; 3050271:>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; 3800773:>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; 757698:>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; 2869568:>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; 2135635:>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; 469021:>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; 48775837:>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: 500000000, 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 219.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $1,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _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,%ecx _litmus_P2_28_: xchgl %ecx,(%r13) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r13),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%rbp),%eax _litmus_P2_38_: movl $0,(%r13) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%r12) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%edx _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%ecx _litmus_P2_54_: xchgl %ecx,(%rbx) _litmus_P2_55_: cmpl $0,%ecx _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rbx),%ecx _litmus_P2_59_: cmpl $0,%ecx _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r8),%r14d _litmus_P2_64_: movl $0,(%rbx) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%ecx _litmus_P2_67_: xchgl %ecx,(%rsi) _litmus_P2_68_: cmpl $0,%ecx _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%rsi),%ecx _litmus_P2_72_: cmpl $0,%ecx _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r9),%r15d _litmus_P2_77_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r14),%r15d _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rbx) _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%r13) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rbp) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%rsi) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r15),%edx _litmus_P0_38_: movl $0,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r12) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%ecx _litmus_P0_46_: cmpl $0,%ecx _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,(%r12) Test X025+X026-L Required Histogram (126 states) 136 :>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; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 134722:>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; 23939 :>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; 1732859:>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; 158 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 3956 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 752 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 979 :>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; 9944 :>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; 140 :>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; 270723:>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; 202888:>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; 281706:>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; 2590905:>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; 2 :>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; 1430 :>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; 62 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 4502 :>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; 1864696:>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; 25191 :>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; 343815:>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; 143393:>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; 54078158:>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; 8 :>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; 2769 :>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; 5291 :>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; 16521 :>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; 228 :>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; 197795:>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; 8 :>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; 4415 :>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; 970654:>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; 3034231:>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; 199168:>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; 26414876:>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; 530558:>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; 7712 :>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; 277747:>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; 863549:>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; 347 :>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; 2613572:>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; 2082553:>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; 5464998:>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; 143334:>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; 45316100:>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; 126 :>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; 353143:>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; 242227:>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; 671127:>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; 14839 :>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; 10518924:>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; 4914 :>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; 1349887:>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; 11 :>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; 7604 :>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; 1976 :>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; 1093573:>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; 3749 :>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; 3261285:>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; 10828 :>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; 2015200:>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; 668951:>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; 4424016:>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; 24658 :>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; 23913791:>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; 2182 :>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; 174889:>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; 140144:>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; 1054350:>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; 4202 :>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; 13836117:>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; 318 :>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; 9 :>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; 236596:>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; 58032 :>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; 3648888:>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; 410 :>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; 844 :>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; 53 :>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; 6330 :>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; 23066 :>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; 458 :>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; 76634 :>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; 24563 :>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; 1470668:>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; 7291017:>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; 380576:>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; 4855 :>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; 530734:>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; 2332470:>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; 643750:>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; 444233:>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; 470102:>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; 1843602:>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; 32968962:>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; 150020:>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; 116838:>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; 150401:>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; 434713:>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; 21960763:>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; 268831:>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; 354 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 38722 :>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; 12818150:>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; 227999:>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; 2226523:>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; 2135 :>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; 12436113:>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; 2049 :>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; 629241:>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; 842 :>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; 111922:>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; 6413999:>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; 64136 :>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; 1004601:>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; 522 :>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; 3374338:>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; 580055:>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; 2015 :>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; 22957 :>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; 9642624:>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; 1499808:>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; 3089750:>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; 2332661:>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; 54285543:>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: 400000000, 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 224.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r13) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r13),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rbp) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%r13) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r13),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rbp),%eax _litmus_P3_25_: movl $0,(%r13) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%rbx) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%rbx),%ecx _litmus_P3_33_: cmpl $0,%ecx _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r14),%edx _litmus_P3_38_: movl $0,(%rbx) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%ecx _litmus_P3_41_: xchgl %ecx,(%rsi) _litmus_P3_42_: cmpl $0,%ecx _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%rsi),%ecx _litmus_P3_46_: cmpl $0,%ecx _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl $1,(%r15) _litmus_P3_51_: movl $0,(%rsi) _litmus_P3_52_: LitLock51: _litmus_P3_53_: movl $1,%ecx _litmus_P3_54_: xchgl %ecx,(%r12) _litmus_P3_55_: cmpl $0,%ecx _litmus_P3_56_: je LitLock53 _litmus_P3_57_: LitLock52: _litmus_P3_58_: movl (%r12),%ecx _litmus_P3_59_: cmpl $0,%ecx _litmus_P3_60_: je LitLock51 _litmus_P3_61_: jmp LitLock52 _litmus_P3_62_: LitLock53: _litmus_P3_63_: movl $1,(%rdi) _litmus_P3_64_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r12) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r13) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rbp) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%rsi) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rsi),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r15) _litmus_P2_38_: movl $0,(%rsi) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%rsi) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%rsi),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r15),%eax _litmus_P2_51_: movl $0,(%rsi) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%ecx _litmus_P2_54_: xchgl %ecx,(%rbx) _litmus_P2_55_: cmpl $0,%ecx _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rbx),%ecx _litmus_P2_59_: cmpl $0,%ecx _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r14),%edx _litmus_P2_64_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rdx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rsi) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r12) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rdi),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbp),%eax _litmus_P0_51_: movl $0,(%r13) Test X026+X027-L Required Histogram (246 states) 22 :>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; 530 :>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; 8 :>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; 424 :>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; 1446 :>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; 106812:>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=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 531 :>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; 2 :>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; 498 :>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; 25932 :>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; 112 :>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; 142 :>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; 19659 :>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; 339065:>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; 1384 :>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; 16673 :>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; 88837 :>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; 5022087:>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; 106 :>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; 7388 :>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; 123 :>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; 4976 :>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; 1028 :>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; 1259415:>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; 1599 :>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; 66996 :>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; 324 :>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; 73554 :>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; 1076 :>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; 8837877:>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; 1027 :>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; 802 :>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; 105 :>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; 632 :>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; 140805:>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; 524735:>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; 2295 :>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; 199884:>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; 29 :>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; 5688 :>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; 647 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 8181 :>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; 125084:>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; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 36042 :>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; 2487 :>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; 344155:>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; 23314 :>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; 390721:>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; 6302291:>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; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1028648:>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; 50548 :>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; 34608 :>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; 5510 :>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; 28353 :>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; 889812:>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; 3158198:>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; 40410 :>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; 1681539:>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; 4263 :>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; 263517:>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; 98196 :>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; 433985:>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; 3556512:>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; 854 :>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; 1598997:>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; 39165 :>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; 2837523:>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; 911070:>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; 3035459:>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; 41860778:>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; 886 :>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; 17813558:>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; 22 :>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; 12 :>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; 36597 :>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; 99 :>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; 1285 :>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; 31 :>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; 9077 :>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; 201 :>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; 127252:>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; 11885 :>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; 49 :>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; 553484:>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; 394 :>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; 194409:>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; 10 :>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; 369747:>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; 15176 :>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; 2198627:>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; 4651 :>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; 4488114:>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; 7823 :>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; 19221 :>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; 17264 :>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; 10312 :>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; 1233 :>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; 5985 :>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; 1340428:>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; 449848:>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; 464737:>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; 580504:>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; 14888 :>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; 53231 :>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; 302334:>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; 481715:>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; 21317 :>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; 121508:>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; 9769795:>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; 6886768:>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; 2884598:>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; 4461445:>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; 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=2; z=1; 170 :>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; 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=2; z=1; 160 :>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; 794 :>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; 672 :>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; 490878:>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; 5258731:>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; 143 :>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; 5607 :>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; 23561 :>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; 2427376:>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; 2892 :>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; 28596 :>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; 613518:>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; 68207261:>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; 235 :>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; 164 :>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; 30 :>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; 167 :>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; 5 :>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; 1610 :>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; 194 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 2362 :>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; 35518 :>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; 2 :>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; 9904 :>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; 286840:>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; 118343:>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; 136614:>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; 306056:>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; 337737:>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; 6391391:>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; 27284 :>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; 3150378:>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; 5125174:>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; 27970802:>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; 405997:>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; 15083274:>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; 5 :>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; 16 :>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; 324 :>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; 54442 :>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; 1086 :>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; 2200316:>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; 24 :>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; 2542200:>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; 5014 :>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; 2890 :>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; 266 :>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; 1759 :>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; 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; 2647061:>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; 3809829:>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; 94422 :>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; 653623:>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; 57 :>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; 1848 :>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; 79 :>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; 6411 :>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; 8449 :>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; 1767010:>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=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; 3 :>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; 6017 :>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; 2491 :>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; 317513:>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; 1421 :>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; 4953 :>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; 310 :>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; 3902 :>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; 668520:>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; 19041828:>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; 17155 :>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; 11502297:>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; 71 :>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; 7622 :>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; 255 :>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; 9282 :>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; 247064:>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; 59 :>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; 124235:>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; 13338 :>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; 1449102:>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; 19235 :>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; 1013898:>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; 38502172:>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; 37 :>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; 8402586:>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; 105 :>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; 2615 :>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; 1963458:>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; 243 :>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; 7431 :>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; 270 :>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; 69802 :>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; 7353 :>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; 2432305:>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; 1638110:>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; 2211609:>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; 15125 :>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; 6781 :>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; 4364 :>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; 20148 :>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; 4106215:>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; 599508:>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; 9102573:>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; 6856970:>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; 18 :>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; 470 :>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; 1329 :>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; 251 :>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; 402 :>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; 105 :>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; 806 :>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; 15 :>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; 1086 :>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; 54 :>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; 1778 :>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; 42596 :>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; 37 :>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; 27334 :>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; 57 :>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; 63 :>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; 1407 :>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; 2354 :>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; 1298 :>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; 763 :>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; 3809 :>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: 400000000, 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 257.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r12) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r14) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%rbx) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r14),%eax _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%rsi) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%rsi),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r15),%edx _litmus_P2_51_: movl $0,(%rsi) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%ecx _litmus_P2_54_: xchgl %ecx,(%r13) _litmus_P2_55_: cmpl $0,%ecx _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r13),%ecx _litmus_P2_59_: cmpl $0,%ecx _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl $1,(%rbp) _litmus_P2_64_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r13) _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rsi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%r12) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r13) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r13) Test X027+X028-L Required Histogram (100 states) 75543 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 20 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 154773:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 28719785:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 114226:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2787534:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1145171:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 37735362:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 6049 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3661651:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 458 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 9340 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 24786 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 475840:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 187537:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 37755974:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 220580:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 3179578:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2363989:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 44831296:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 92043 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 519 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 9945 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 5426164:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 296540:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 8436 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 8831301:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 10006419:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 627673:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1085 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 30 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 402870:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 613336:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 5639225:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 756072:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 15534 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 22215702:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 12477654:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1398451:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 5441650:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 24920855:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 87292 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 21674 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 134695:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 5885377:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 8132940:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 68871410:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 947914:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 1501 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 2837 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 1889828:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 2809 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 1306 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 42096 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 670859:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 799 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 77 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 3019 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 41902 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 57987 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 489646:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 815 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 77 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1209955:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 102341:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1018477:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 103358:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 85 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 6460 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 5496073:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 195158:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 5083112:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 779020:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 24 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 2320 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 26531507:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 556 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 6452 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 11810 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 277400:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1060440:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1326 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 22909 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 6707495:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1094 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 33 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 212132:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 766861:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 27858 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 23837 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 94617 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 3369 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 5515 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 2867 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 264346:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 60537 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 124 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 2666 :>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: 400000000, 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 239.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $2,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rbp) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _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,%ecx _litmus_P2_28_: xchgl %ecx,(%r13) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r13),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%rbp),%eax _litmus_P2_38_: movl $0,(%r13) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%r12) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%edx _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%ecx _litmus_P2_54_: xchgl %ecx,(%rbx) _litmus_P2_55_: cmpl $0,%ecx _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rbx),%ecx _litmus_P2_59_: cmpl $0,%ecx _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r8),%r14d _litmus_P2_64_: movl $0,(%rbx) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%ecx _litmus_P2_67_: xchgl %ecx,(%rsi) _litmus_P2_68_: cmpl $0,%ecx _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%rsi),%ecx _litmus_P2_72_: cmpl $0,%ecx _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r9),%r15d _litmus_P2_77_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r14),%r15d _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rbx) _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%r13) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X028+X029-L Required Histogram (126 states) 70 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 66362 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1794749:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 76 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 11287 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 90 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 2887166:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1139 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 48 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1419843:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 52477686:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 2517 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 165032:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3410 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 28408448:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 417943:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 5021 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 230316:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 827115:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2396905:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 45305036:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 348950:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 9654068:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 894065:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 7991 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 952966:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3149957:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1755896:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 25787409:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 166743:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 14097151:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 539 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 173448:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 5384 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 390501:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 9 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 26300 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 10 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5072812:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 81 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 5095311:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 39 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 649136:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 3669 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 28 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1974 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 4577 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 9723 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 7304046:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 2274 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1524827:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 198 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 124960:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 2860174:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 223 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 24950 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 362 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 7835627:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 263901:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3930 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 355233:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2136748:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 544872:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 34856922:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 144351:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 20684866:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 34 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 12343 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 281978:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 78330 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 23453 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 1071 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 364264:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 170828:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 278 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 279832:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 87288 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 6258 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 15154 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1845 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 4079 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 330828:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 11104 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 6185 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1141874:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1303923:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 151365:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 368945:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 53205 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 42253 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 10079 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 2048605:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1849569:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 356192:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 600 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 67167 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 288594:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 74437 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 220495:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 243 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 12929521:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 13913981:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 415300:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1131 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 5937706:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 3452771:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 20944 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 2600116:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 1624 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 136412:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1535092:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 369113:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1675 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 8418048:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 52167421:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 10688 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 2120013:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1062 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 245 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 110779:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 23077 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 2087307:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 755804:>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: 400000000, 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 239.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r13) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r13),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rbp) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%r13) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r13),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rbp),%eax _litmus_P3_25_: movl $0,(%r13) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%rbx) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%rbx),%ecx _litmus_P3_33_: cmpl $0,%ecx _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r14),%edx _litmus_P3_38_: movl $0,(%rbx) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%ecx _litmus_P3_41_: xchgl %ecx,(%rsi) _litmus_P3_42_: cmpl $0,%ecx _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%rsi),%ecx _litmus_P3_46_: cmpl $0,%ecx _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl $2,(%r15) _litmus_P3_51_: movl $0,(%rsi) _litmus_P3_52_: LitLock51: _litmus_P3_53_: movl $1,%ecx _litmus_P3_54_: xchgl %ecx,(%r12) _litmus_P3_55_: cmpl $0,%ecx _litmus_P3_56_: je LitLock53 _litmus_P3_57_: LitLock52: _litmus_P3_58_: movl (%r12),%ecx _litmus_P3_59_: cmpl $0,%ecx _litmus_P3_60_: je LitLock51 _litmus_P3_61_: jmp LitLock52 _litmus_P3_62_: LitLock53: _litmus_P3_63_: movl $1,(%rdi) _litmus_P3_64_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r12) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rdi) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r13) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rbp) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%rsi) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rsi),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r15) _litmus_P2_38_: movl $0,(%rsi) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%rsi) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%rsi),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r15),%eax _litmus_P2_51_: movl $0,(%rsi) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%ecx _litmus_P2_54_: xchgl %ecx,(%rbx) _litmus_P2_55_: cmpl $0,%ecx _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rbx),%ecx _litmus_P2_59_: cmpl $0,%ecx _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r14),%edx _litmus_P2_64_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rbx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r13) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%eax _litmus_P1_33_: cmpl $0,%eax _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,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r15) _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r15d _litmus_P0_51_: movl $0,(%rbp) Test X029+X030-L Required Histogram (241 states) 5 :>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; 230 :>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; 319 :>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; 69540 :>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; 384 :>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; 23479 :>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; 8147 :>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; 319350:>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; 37514 :>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; 3942457:>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; 573 :>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; 1339647:>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; 733 :>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; 8420828:>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; 22 :>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; 94 :>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; 707 :>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; 140373:>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; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 9854 :>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; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 812924:>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; 2636 :>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; 9020 :>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; 26489 :>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; 1241143:>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; 440 :>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; 1369456:>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; 512 :>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; 20554183:>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; 9 :>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; 20821 :>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; 779 :>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; 84182 :>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; 11314 :>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; 363240:>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; 294585:>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; 3681135:>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; 9221 :>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; 2073 :>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; 453176:>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; 25177 :>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; 93068 :>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; 4344243:>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; 154 :>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; 327 :>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; 21 :>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; 28 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 595 :>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; 11923 :>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; 44 :>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; 3295 :>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; 137 :>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; 85945 :>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; 441 :>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; 251 :>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; 89241 :>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; 395548:>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; 7752 :>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; 82291 :>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; 444011:>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; 6160268:>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; 17255 :>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; 8390 :>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; 569916:>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; 2601068:>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; 480019:>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; 3210978:>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; 3650973:>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; 50454567:>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; 2 :>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; 86 :>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; 18 :>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; 3 :>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; 3521 :>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; 3075 :>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; 415 :>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; 378692:>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; 6271 :>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; 8815 :>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; 2583908:>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; 1 :>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; 62 :>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; 116 :>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; 322762:>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; 4205057:>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; 462442:>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; 71848261:>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; 4 :>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; 18 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 2379 :>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; 118016:>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; 163103:>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; 265588:>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; 11454789:>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; 2 :>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; 194 :>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; 42950 :>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; 2007622:>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; 528 :>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; 403627:>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; 107 :>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; 87 :>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; 821 :>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; 15459 :>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; 122 :>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; 97 :>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; 2040 :>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; 24139 :>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; 168051:>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; 60009 :>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; 5295021:>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; 25623379:>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=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 103 :>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; 39990 :>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=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 4825 :>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; 41478 :>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; 138 :>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; 14650 :>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; 168055:>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; 2066175:>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; 49 :>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; 4479 :>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; 132545:>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; 1566351:>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; 1778 :>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; 218071:>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; 338599:>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; 6585587:>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; 146 :>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; 3267 :>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; 20 :>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; 3286 :>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; 1852 :>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; 335511:>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; 3634 :>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; 335696:>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; 38936 :>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; 5119459:>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; 18 :>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; 95 :>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; 10575 :>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; 4107 :>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; 752951:>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; 122978:>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; 8330123:>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; 12223 :>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; 3091380:>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; 33 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 9433 :>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; 4926979:>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; 12 :>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; 2068656:>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; 466 :>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; 2773372:>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; 51 :>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; 6042 :>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; 1 :>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; 932 :>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; 381681:>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; 7994610:>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; 350 :>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; 1084 :>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; 1010908:>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; 23 :>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; 947 :>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; 3569 :>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; 1541282:>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; 2 :>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; 4979 :>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; 1 :>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; 368731:>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; 63 :>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; 560 :>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; 9351 :>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; 10824766:>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; 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=2; 42270 :>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; 7 :>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; 8796827:>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; 22 :>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; 1554042:>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; 5029 :>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; 1821089:>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; 1806543:>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; 7487 :>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; 6258246:>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; 18 :>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; 4657 :>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; 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=2; 1861 :>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; 507 :>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; 1210 :>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; 518372:>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; 18689344:>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; 8274 :>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; 131312:>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; 1089114:>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; 42195229:>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; 1518 :>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; 4359 :>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; 1320057:>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; 1315 :>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; 9348202:>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; 4 :>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; 198 :>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; 1083 :>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; 16 :>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; 111 :>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; 6 :>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; 7722 :>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; 8 :>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; 960 :>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; 1113 :>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; 143 :>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; 317 :>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; 1375 :>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; 27383 :>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; 151 :>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; 1 :>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; 55 :>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; 7691 :>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; 102 :>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; 34890 :>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; 1060 :>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; 221017:>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; 32 :>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; 3265 :>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; 5742 :>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; 1122027:>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; 131 :>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; 4670 :>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; 2211263:>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; 13 :>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; 25 :>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; 178 :>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; 3 :>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; 504 :>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; 605 :>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: 400000000, 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 274.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r12) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r12),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $2,(%r14) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r12) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r12),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%r14),%ebp _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock36: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r11) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock38 _litmus_P3_31_: LitLock37: _litmus_P3_32_: movl (%r11),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock36 _litmus_P3_35_: jmp LitLock37 _litmus_P3_36_: LitLock38: _litmus_P3_37_: movl (%r13),%ebx _litmus_P3_38_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _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,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _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,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%r13) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%ecx _litmus_P1_7_: cmpl $0,%ecx _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,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ecx _litmus_P1_15_: xchgl %ecx,(%r14) _litmus_P1_16_: cmpl $0,%ecx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%ecx _litmus_P1_20_: cmpl $0,%ecx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r12) _litmus_P1_25_: movl $0,(%r14) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ecx _litmus_P1_28_: xchgl %ecx,(%rbx) _litmus_P1_29_: cmpl $0,%ecx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbx),%ecx _litmus_P1_33_: cmpl $0,%ecx _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r15) _litmus_P1_38_: movl $0,(%rbx) _litmus_P1_39_: movl $1,(%rdi) _litmus_P1_40_: movl (%rdi),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ecx _litmus_P1_43_: xchgl %ecx,(%rsi) _litmus_P1_44_: cmpl $0,%ecx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rsi),%ecx _litmus_P1_48_: cmpl $0,%ecx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%rbp),%edx _litmus_P1_53_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%r13) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rbx) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r15) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: movl $1,(%r8) _litmus_P0_27_: movl (%r8),%eax _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%ecx _litmus_P0_30_: xchgl %ecx,(%r14) _litmus_P0_31_: cmpl $0,%ecx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r14),%ecx _litmus_P0_35_: cmpl $0,%ecx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl $1,(%r12) _litmus_P0_40_: movl $0,(%r14) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ecx _litmus_P0_43_: xchgl %ecx,(%rsi) _litmus_P0_44_: cmpl $0,%ecx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rsi),%ecx _litmus_P0_48_: cmpl $0,%ecx _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,(%rsi) Test X030+X031-L Required Histogram (56 states) 107700:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 139793:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1729048:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2502618:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 34437301:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 94368689:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 11527 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1465539:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 4192871:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 10184 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 29062576:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 38037230:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 143452:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 153 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 11167286:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 11926 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1350338:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 4379 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 22775437:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 57148 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 41960 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 99283 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3652148:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1812385:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 34056885:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 284430:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 28697 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1510445:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1218633:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 3110045:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 22122059:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 34724 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 21 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 935 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 254890:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 534 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1853057:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 2095357:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 29290567:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 587336:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 6833255:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 40974821:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1061489:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 1198 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 5118118:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 11977 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 62804 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 69279 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 668911:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 23392 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1544238:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 904 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 10 :>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: 400000000, 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 225.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%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,(%rax) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r14) _litmus_P2_14_: movl (%r14),%edx _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r15),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r8) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: movl $1,(%r14) _litmus_P1_14_: movl (%r14),%eax _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r15) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r15),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r9),%edx _litmus_P1_27_: movl $0,(%r15) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%ebx _litmus_P1_30_: xchgl %ebx,(%rdi) _litmus_P1_31_: cmpl $0,%ebx _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rdi),%ebx _litmus_P1_35_: cmpl $0,%ebx _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r10) _litmus_P1_40_: movl $0,(%rdi) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%rbp) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbp),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r11),%ecx _litmus_P1_53_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rdi) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P0_13_: movl $1,(%r11) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%ebx _litmus_P0_16_: xchgl %ebx,(%rsi) _litmus_P0_17_: cmpl $0,%ebx _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rsi),%ebx _litmus_P0_21_: cmpl $0,%ebx _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r9) _litmus_P0_26_: movl $0,(%rsi) _litmus_P0_27_: movl $1,(%r13) _litmus_P0_28_: movl (%r11),%edx _litmus_P0_29_: movl (%r13),%r15d _litmus_P0_30_: LitLock06: _litmus_P0_31_: movl $1,%ebx _litmus_P0_32_: xchgl %ebx,(%rbp) _litmus_P0_33_: cmpl $0,%ebx _litmus_P0_34_: je LitLock08 _litmus_P0_35_: LitLock07: _litmus_P0_36_: movl (%rbp),%ebx _litmus_P0_37_: cmpl $0,%ebx _litmus_P0_38_: je LitLock06 _litmus_P0_39_: jmp LitLock07 _litmus_P0_40_: LitLock08: _litmus_P0_41_: movl (%r12),%ecx _litmus_P0_42_: movl $0,(%rbp) _litmus_P0_43_: LitLock09: _litmus_P0_44_: movl $1,%ebx _litmus_P0_45_: xchgl %ebx,(%r8) _litmus_P0_46_: cmpl $0,%ebx _litmus_P0_47_: je LitLock11 _litmus_P0_48_: LitLock10: _litmus_P0_49_: movl (%r8),%ebx _litmus_P0_50_: cmpl $0,%ebx _litmus_P0_51_: je LitLock09 _litmus_P0_52_: jmp LitLock10 _litmus_P0_53_: LitLock11: _litmus_P0_54_: movl (%r14),%eax _litmus_P0_55_: movl $0,(%r8) Test X031+X032-L Required Histogram (15 states) 10540865:>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; 2437 :>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; 133106685:>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; 5365428:>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; 6390249:>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; 6553971:>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; 200081507:>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; 57506 :>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; 13845765:>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; 1262036:>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; 96788888:>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; 716648:>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; 6313235:>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; 1627 :>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; 18973153:>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: 500000000, 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 195.08 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebx _litmus_P2_2_: xchgl %ebx,(%rbp) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbp),%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,(%r13) _litmus_P2_12_: movl $0,(%rbp) _litmus_P2_13_: movl $1,(%r11) _litmus_P2_14_: movl (%r11),%edx _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%rdi) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%rdi),%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 (%r12),%ecx _litmus_P2_27_: movl $0,(%rdi) _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%ebx _litmus_P2_30_: xchgl %ebx,(%r8) _litmus_P2_31_: cmpl $0,%ebx _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r8),%ebx _litmus_P2_35_: cmpl $0,%ebx _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%r14) _litmus_P2_40_: movl $0,(%r8) _litmus_P2_41_: movl $1,(%r9) _litmus_P2_42_: movl (%r9),%r15d _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%ebx _litmus_P2_45_: xchgl %ebx,(%rsi) _litmus_P2_46_: cmpl $0,%ebx _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rsi),%ebx _litmus_P2_50_: cmpl $0,%ebx _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%r10),%eax _litmus_P2_55_: movl $0,(%rsi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rdi) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r15) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r15),%ebx _litmus_P1_20_: cmpl $0,%ebx _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,(%r15) _litmus_P1_26_: movl $1,(%r11) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%ebx _litmus_P1_29_: xchgl %ebx,(%rax) _litmus_P1_30_: cmpl $0,%ebx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%ebx _litmus_P1_34_: cmpl $0,%ebx _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r9) _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: movl (%r11),%edx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%rbp) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbp),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r14),%ecx _litmus_P1_53_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r8) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%ebx _litmus_P0_7_: cmpl $0,%ebx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r12) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: movl $1,(%r13) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%ebx _litmus_P0_16_: xchgl %ebx,(%rbp) _litmus_P0_17_: cmpl $0,%ebx _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rbp),%ebx _litmus_P0_21_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_27_: movl (%r13),%edx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%ebx _litmus_P0_30_: xchgl %ebx,(%r10) _litmus_P0_31_: cmpl $0,%ebx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r10),%ebx _litmus_P0_35_: cmpl $0,%ebx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r14),%eax _litmus_P0_40_: movl $0,(%r10) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%r9) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r9),%ebx _litmus_P0_48_: cmpl $0,%ebx _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,(%r9) Test X032+X033-L Required Histogram (31 states) 2026 :>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; 1134491:>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; 59228058:>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; 17762 :>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; 62 :>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; 82571 :>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; 1254209:>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; 3369636:>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; 8287 :>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; 20799813:>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; 142353048:>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; 94783 :>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; 7892593:>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; 5794106:>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; 10086538:>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; 4192543:>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; 118813582:>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; 2035862:>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; 259312:>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; 2034870:>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; 86707307:>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; 8586 :>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; 3678260:>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; 4134 :>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; 25239 :>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; 5963779:>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; 7231293:>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; 347015:>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; 15453293:>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; 18 :>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; 1126924:>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: 500000000, 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 229.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%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,(%rax) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r14) _litmus_P2_14_: movl (%r14),%edx _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r15),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r9) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r9),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%ebx _litmus_P1_16_: xchgl %ebx,(%r8) _litmus_P1_17_: cmpl $0,%ebx _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r8),%ebx _litmus_P1_21_: cmpl $0,%ebx _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r12) _litmus_P1_26_: movl $0,(%r8) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%ebx _litmus_P1_29_: xchgl %ebx,(%rbp) _litmus_P1_30_: cmpl $0,%ebx _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rbp),%ebx _litmus_P1_34_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_40_: movl (%r15),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%r10) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r10),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r14),%edx _litmus_P1_53_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rax) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r15) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r15),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%r15) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ebx _litmus_P0_28_: xchgl %ebx,(%rbp) _litmus_P0_29_: cmpl $0,%ebx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbp),%ebx _litmus_P0_33_: cmpl $0,%ebx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r14) _litmus_P0_38_: movl $0,(%rbp) _litmus_P0_39_: movl $1,(%r10) _litmus_P0_40_: movl (%r10),%edx _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ebx _litmus_P0_43_: xchgl %ebx,(%rdi) _litmus_P0_44_: cmpl $0,%ebx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rdi),%ebx _litmus_P0_48_: cmpl $0,%ebx _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r11),%ecx _litmus_P0_53_: movl $0,(%rdi) Test X033+X034-L Required Histogram (17 states) 2045824:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 23698242:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 1398 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 2746825:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 232313577:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 3168013:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 6987878:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 17392 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 1390471:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3212683:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 179733790:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 10298919:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 107704:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 37278 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1644 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 33717383:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 520979:>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: 500000000, 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 193.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%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,(%r13) _litmus_P2_13_: movl $1,(%rax) _litmus_P2_14_: movl (%rax),%edx _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r14),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rbp) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbp),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rbp) _litmus_P1_13_: movl $1,(%r13) _litmus_P1_14_: movl (%r13),%eax _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r8) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r8),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r14),%edx _litmus_P1_27_: movl $0,(%r8) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%ebx _litmus_P1_30_: xchgl %ebx,(%r15) _litmus_P1_31_: cmpl $0,%ebx _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%r15),%ebx _litmus_P1_35_: cmpl $0,%ebx _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r9) _litmus_P1_40_: movl $0,(%r15) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%rdi) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rdi),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r10),%ecx _litmus_P1_53_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%rbp) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbp),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r14) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%r14) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ebx _litmus_P0_28_: xchgl %ebx,(%rdi) _litmus_P0_29_: cmpl $0,%ebx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%ebx _litmus_P0_33_: cmpl $0,%ebx _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,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ebx _litmus_P0_41_: xchgl %ebx,(%r15) _litmus_P0_42_: cmpl $0,%ebx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r15),%ebx _litmus_P0_46_: cmpl $0,%ebx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%ecx _litmus_P0_51_: movl $0,(%r15) Test X034+X035-L Required Histogram (18 states) 22278806:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 960864:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 345 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 13244893:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 5244117:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 51621 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 45575370:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 284650630:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 127969:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 29079924:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 888 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 167931:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 368185:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 42033618:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 4173075:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2567194:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7814700:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 41659870:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 500000000, 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 178.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P3_2_: xchgl %r14d,(%r9) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%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,(%r11) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r10) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r10),%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 (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _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,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%rdx) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdx),%r13d _litmus_P2_20_: cmpl $0,%r13d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rbp) _litmus_P2_25_: movl $0,(%rdx) _litmus_P2_26_: movl $1,(%rbx) _litmus_P2_27_: movl $1,(%r8) _litmus_P2_28_: movl (%r8),%r9d _litmus_P2_29_: movl (%rbx),%r11d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r13d _litmus_P2_32_: xchgl %r13d,(%r15) _litmus_P2_33_: cmpl $0,%r13d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%r15),%r13d _litmus_P2_37_: cmpl $0,%r13d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%rsi),%r12d _litmus_P2_42_: movl $0,(%r15) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r13d _litmus_P2_45_: xchgl %r13d,(%r14) _litmus_P2_46_: cmpl $0,%r13d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%r14),%r13d _litmus_P2_50_: cmpl $0,%r13d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rcx),%r10d _litmus_P2_55_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdx),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rbx) _litmus_P1_25_: movl $0,(%rdi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rcx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rcx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r13),%r15d _litmus_P1_38_: movl $0,(%rcx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rsi),%r14d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rdx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r12) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbp) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbp),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rsi),%r14d _litmus_P0_25_: movl $0,(%rbp) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rcx) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rcx),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r13) _litmus_P0_38_: movl $0,(%rcx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r15d _litmus_P0_51_: movl $0,(%rdi) Test X035+X036-L Required Histogram (71 states) 7113 :>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; 513580:>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; 292206:>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; 6250 :>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; 40700 :>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; 528640:>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; 5270 :>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; 3828345:>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; 11331 :>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; 218881:>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; 19 :>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; 1316587:>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; 706 :>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; 2679 :>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; 5428 :>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; 82287 :>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; 538982:>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; 21835655:>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=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; 2 :>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; 1168105:>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; 31706997:>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; 750866:>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; 10262 :>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; 11492324:>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; 279010:>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; 473334:>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; 12 :>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; 52678459:>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; 931166:>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; 34 :>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; 1603 :>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; 81343 :>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; 4483618:>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; 2879 :>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; 62 :>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; 2154772:>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; 103329:>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; 118 :>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; 1893 :>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; 318882:>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; 5266634:>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; 201692:>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; 115 :>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; 12619049:>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; 158669:>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; 452 :>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; 333505:>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; 2597 :>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; 65 :>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; 2931657:>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=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; 14 :>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; 2385 :>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; 7484 :>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; 30201 :>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; 617690:>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; 455654:>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; 47277702:>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; 3719 :>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; 107064:>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; 2460576:>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; 71628509:>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; 2459293:>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; 58188 :>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; 8537149:>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; 241131:>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; 6318182:>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; 16580 :>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; 100323089:>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; 2067221:>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: 400000000, 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 220.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r13) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%ecx _litmus_P3_7_: cmpl $0,%ecx _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,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%rsi) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rsi),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r12) _litmus_P3_25_: movl $0,(%rsi) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%r14) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r14),%ecx _litmus_P3_33_: cmpl $0,%ecx _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl (%r9),%edx _litmus_P3_38_: movl $0,(%r14) _litmus_P3_39_: movl $1,(%rdi) _litmus_P3_40_: movl (%rdi),%r15d _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%ecx _litmus_P3_43_: xchgl %ecx,(%rbx) _litmus_P3_44_: cmpl $0,%ecx _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rbx),%ecx _litmus_P3_48_: cmpl $0,%ecx _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%rbp),%eax _litmus_P3_53_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r13) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%ecx _litmus_P2_16_: xchgl %ecx,(%r14) _litmus_P2_17_: cmpl $0,%ecx _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r14),%ecx _litmus_P2_21_: cmpl $0,%ecx _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r9) _litmus_P2_26_: movl $0,(%r14) _litmus_P2_27_: movl (%rdi),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%ecx _litmus_P2_30_: xchgl %ecx,(%rsi) _litmus_P2_31_: cmpl $0,%ecx _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rsi),%ecx _litmus_P2_35_: cmpl $0,%ecx _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r12),%r15d _litmus_P2_40_: movl $0,(%rsi) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rbx) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%rbp),%edx _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r14) _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rsi) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%r12) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%edx _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%rbx) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r14) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbp),%eax _litmus_P0_51_: movl $0,(%r13) Test X036+X037-L Required Histogram (96 states) 205 :>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; 256 :>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; 282082:>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; 1916239:>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; 95 :>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; 6407 :>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; 32468 :>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; 2872332:>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; 776 :>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; 4921 :>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; 505667:>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; 19651967:>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; 62718 :>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; 13216 :>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; 263092:>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; 314547:>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; 448893:>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; 2198150:>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; 157908:>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; 4568775:>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; 711297:>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; 529218:>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; 1193325:>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; 4198209:>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; 67 :>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; 26329 :>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; 43725 :>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; 14306745:>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; 327 :>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; 4461 :>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; 211931:>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; 5806015:>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; 824 :>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; 121712:>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; 44455 :>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; 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=1; e=1; 18931522:>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; 9573 :>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; 2286659:>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; 7 :>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; 84214 :>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; 4910 :>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; 41020588:>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; 428814:>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; 6197177:>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; 111468:>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; 11148464:>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; 950101:>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; 1194242:>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; 672744:>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; 3601513:>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; 14132 :>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; 3074319:>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; 182986:>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; 486214:>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; 19604075:>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; 1550 :>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; 19830211:>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; 1282856:>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; 18524003:>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; 17185 :>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; 13865341:>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; 8287363:>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; 41492894:>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; 701303:>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; 82439392:>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; 5096 :>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; 79 :>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; 556055:>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; 387041:>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; 22896 :>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; 207282:>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; 831 :>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; 224 :>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; 681329:>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; 107896:>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; 2681 :>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; 1854481:>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; 2727 :>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; 4315929:>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; 1560 :>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; 6292889:>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; 84 :>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; 7200666:>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; 61406 :>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; 78921 :>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; 3 :>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; 2060491:>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; 1952820:>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; 1187376:>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; 2030163:>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; 828279:>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; 10917973:>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; 17361 :>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; 2280266:>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: 400000000, 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 260.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock39: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock41 _litmus_P3_20_: LitLock40: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock39 _litmus_P3_24_: jmp LitLock40 _litmus_P3_25_: LitLock41: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r14) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%r13) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rbp) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%rsi) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%rsi),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r12),%r15d _litmus_P2_39_: movl $0,(%rsi) _litmus_P2_40_: movl (%r8),%eax _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rbx) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%rdi),%edx _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rdx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rcx),%r15d _litmus_P0_38_: movl $0,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rbx) _litmus_P0_51_: movl $0,(%rbp) Test X037+X038-L Required Histogram (54 states) 579389:>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; 908760:>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; 9213414:>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; 50693 :>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; 3525281:>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; 1000091:>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; 21649183:>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; 43753514:>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; 34029 :>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; 9298012:>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; 2420037:>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; 8748338:>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; 18256 :>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; 10431 :>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; 177765:>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; 4422200:>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; 10651902:>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; 3394357:>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; 68293786:>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; 99668597:>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; 573038:>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; 872110:>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; 3069 :>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; 256556:>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; 754013:>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; 6820342:>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; 1436 :>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; 11750322:>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; 1509265:>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; 214945:>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; 4837 :>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; 169299:>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; 11 :>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; 1989186:>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; 3190175:>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; 31541777:>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; 4171 :>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; 22727344:>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; 3511 :>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; 851201:>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; 424389:>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; 101465:>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; 1016390:>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; 537 :>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; 133798:>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; 131307:>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; 6164067:>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; 465417:>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; 257 :>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; 80142 :>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; 4343 :>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; 665644:>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; 19689544:>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; 68057 :>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: 400000000, 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 241.48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r10) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%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,(%r12) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r11) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r11),%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 (%r13),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r8) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%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,(%r13) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r9) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%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,(%r14) _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: movl $1,(%r11) _litmus_P2_27_: movl $1,(%r15) _litmus_P2_28_: movl (%r15),%eax _litmus_P2_29_: movl (%r11),%ecx _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%esi _litmus_P2_32_: xchgl %esi,(%rbp) _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rbp),%esi _litmus_P2_37_: cmpl $0,%esi _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r12),%ebx _litmus_P2_42_: movl $0,(%rbp) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%esi _litmus_P2_45_: xchgl %esi,(%rdi) _litmus_P2_46_: cmpl $0,%esi _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdi),%esi _litmus_P2_50_: cmpl $0,%esi _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%r10),%edx _litmus_P2_55_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ecx _litmus_P1_2_: xchgl %ecx,(%rbx) _litmus_P1_3_: cmpl $0,%ecx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%ecx _litmus_P1_7_: cmpl $0,%ecx _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,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ecx _litmus_P1_15_: xchgl %ecx,(%r12) _litmus_P1_16_: cmpl $0,%ecx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%ecx _litmus_P1_20_: cmpl $0,%ecx _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%rdi) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ecx _litmus_P1_28_: xchgl %ecx,(%rsi) _litmus_P1_29_: cmpl $0,%ecx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rsi),%ecx _litmus_P1_33_: cmpl $0,%ecx _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,(%rsi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%ecx _litmus_P1_41_: xchgl %ecx,(%r13) _litmus_P1_42_: cmpl $0,%ecx _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%ecx _litmus_P1_46_: cmpl $0,%ecx _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbp),%eax _litmus_P1_51_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%r13) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X038+X039-L Required Histogram (69 states) 443963:>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; 4219 :>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; 585068:>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; 7424 :>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; 128994:>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; 1018005:>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; 1364 :>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; 19752969:>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; 29217224:>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; 125670:>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; 562319:>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; 4109166:>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; 68241 :>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; 5961319:>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; 98272 :>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; 322468:>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; 3247034:>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; 4313 :>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; 47885127:>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; 70806341:>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; 190099:>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; 1302148:>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; 16515 :>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; 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=1; 1086 :>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; 1221 :>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; 54 :>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; 1668 :>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; 51 :>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; 583 :>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; 4226 :>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; 17 :>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; 418161:>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; 96576 :>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; 23923 :>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; 9478 :>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; 2960 :>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; 477953:>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; 24463 :>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; 5850468:>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; 5 :>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; 753 :>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; 213643:>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; 667158:>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; 9722778:>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; 56911551:>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; 38984 :>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; 2266440:>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; 192780:>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; 14747272:>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; 30 :>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; 2446 :>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; 209153:>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; 1226863:>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; 8588308:>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; 105219412:>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; 2012 :>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; 369 :>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; 272770:>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; 169556:>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; 18 :>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; 1377 :>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; 111 :>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; 186873:>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; 8 :>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; 7310 :>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; 2306 :>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; 1609981:>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; 4968582:>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: 400000000, 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 235.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%r13) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r8) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%rsi) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rsi),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r12) _litmus_P3_25_: movl $0,(%rsi) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%r14) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r14),%ecx _litmus_P3_33_: cmpl $0,%ecx _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl (%r9),%edx _litmus_P3_38_: movl $0,(%r14) _litmus_P3_39_: movl $1,(%rdi) _litmus_P3_40_: movl (%rdi),%r15d _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%ecx _litmus_P3_43_: xchgl %ecx,(%rbx) _litmus_P3_44_: cmpl $0,%ecx _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rbx),%ecx _litmus_P3_48_: cmpl $0,%ecx _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%rbp),%eax _litmus_P3_53_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r13) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%ecx _litmus_P2_16_: xchgl %ecx,(%r14) _litmus_P2_17_: cmpl $0,%ecx _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r14),%ecx _litmus_P2_21_: cmpl $0,%ecx _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $2,(%r9) _litmus_P2_26_: movl $0,(%r14) _litmus_P2_27_: movl (%rdi),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%ecx _litmus_P2_30_: xchgl %ecx,(%rsi) _litmus_P2_31_: cmpl $0,%ecx _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rsi),%ecx _litmus_P2_35_: cmpl $0,%ecx _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r12),%r15d _litmus_P2_40_: movl $0,(%rsi) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rbx) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%rbp),%edx _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rbx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rsi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rsi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r15) _litmus_P1_38_: movl $0,(%rsi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%r13) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%eax _litmus_P1_46_: cmpl $0,%eax _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,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rdx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r14) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r13) _litmus_P0_38_: movl $0,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r15d _litmus_P0_51_: movl $0,(%rbp) Test X039+X040-L Required Histogram (97 states) 193430:>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; 1419764:>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; 341795:>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; 20445257:>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; 197116:>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; 243812:>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; 846282:>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; 4057102:>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; 35840 :>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; 14560492:>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; 173360:>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; 5193035:>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; 4 :>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; 17249124:>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; 3792 :>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; 38829706:>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; 78095 :>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; 12193909:>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; 561662:>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; 3084164:>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; 1200 :>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; 19801326:>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; 494847:>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; 80207997:>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; 3266 :>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; 347154:>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; 432 :>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; 499176:>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; 79121 :>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; 2925161:>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; 6494335:>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; 51667 :>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; 6 :>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; 1581368:>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; 2243967:>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; 35 :>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; 49 :>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; 268 :>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; 1147 :>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; 39409 :>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; 6401 :>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; 690080:>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; 361711:>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; 40 :>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; 10859 :>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; 94 :>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; 1249 :>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; 25835 :>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; 2 :>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; 24737 :>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; 455000:>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; 6800497:>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; 689503:>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; 690325:>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; 484686:>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; 27343608:>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; 7730120:>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; 35622950:>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; 30 :>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; 629 :>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; 35 :>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; 41805 :>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; 865699:>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; 11774 :>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; 54011 :>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; 4347978:>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; 289348:>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; 6496030:>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; 62221 :>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; 2 :>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; 3219113:>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; 73308 :>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; 16413 :>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; 15675989:>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; 606271:>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; 260103:>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; 1128437:>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; 7394768:>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; 1125365:>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; 11940961:>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; 140 :>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; 3213 :>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; 850692:>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; 2568633:>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; 558 :>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; 5788 :>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; 10374 :>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; 3768666:>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; 1590314:>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; 19533931:>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; 27 :>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; 15979 :>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; 1237 :>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; 579 :>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; 1992928:>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; 629281:>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: 400000000, 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 271.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock33: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock35 _litmus_P3_20_: LitLock34: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock33 _litmus_P3_24_: jmp LitLock34 _litmus_P3_25_: LitLock35: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%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,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%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 (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _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,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r13) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%eax _litmus_P1_33_: cmpl $0,%eax _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,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rsi) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_13_: movl $1,(%rbp) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%ecx _litmus_P0_16_: xchgl %ecx,(%rbx) _litmus_P0_17_: cmpl $0,%ecx _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rbx),%ecx _litmus_P0_21_: cmpl $0,%ecx _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r15) _litmus_P0_26_: movl $0,(%rbx) _litmus_P0_27_: movl (%rbp),%eax _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%ecx _litmus_P0_30_: xchgl %ecx,(%r14) _litmus_P0_31_: cmpl $0,%ecx _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r14),%ecx _litmus_P0_35_: cmpl $0,%ecx _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl $1,(%r12) _litmus_P0_40_: movl $0,(%r14) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%ecx _litmus_P0_43_: xchgl %ecx,(%r13) _litmus_P0_44_: cmpl $0,%ecx _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r13),%ecx _litmus_P0_48_: cmpl $0,%ecx _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,(%r13) Test X040+X041-L Required Histogram (37 states) 135729:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 49427675:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 560866:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 146980508:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 215256:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 30207070:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 740281:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 98147220:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 3997849:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 5685498:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 430372:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 22346 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 716627:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 5862 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 5171566:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 66346 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 3167528:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 59040 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 19095415:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 379986:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 49041 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 1394 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 13159771:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 77 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 422463:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 9453 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 13947107:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 143952:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 4759321:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 362045:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1820681:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 12244 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 364 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 386 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 23 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 94491 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 4147 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 400000000, 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 218.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%edi _litmus_P2_2_: xchgl %edi,(%r13) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%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,(%r13) _litmus_P2_13_: movl $1,(%rax) _litmus_P2_14_: movl (%rax),%edx _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%edi _litmus_P2_17_: xchgl %edi,(%r12) _litmus_P2_18_: cmpl $0,%edi _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r12),%edi _litmus_P2_22_: cmpl $0,%edi _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r14),%ecx _litmus_P2_27_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r9) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r9),%ebx _litmus_P1_7_: cmpl $0,%ebx _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r13) _litmus_P1_12_: movl $0,(%r9) _litmus_P1_13_: movl $1,(%r15) _litmus_P1_14_: movl (%r15),%eax _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%ebx _litmus_P1_17_: xchgl %ebx,(%r10) _litmus_P1_18_: cmpl $0,%ebx _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r10),%ebx _litmus_P1_22_: cmpl $0,%ebx _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r14),%edx _litmus_P1_27_: movl $0,(%r10) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%ebx _litmus_P1_30_: xchgl %ebx,(%rbp) _litmus_P1_31_: cmpl $0,%ebx _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rbp),%ebx _litmus_P1_35_: cmpl $0,%ebx _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r11) _litmus_P1_40_: movl $0,(%rbp) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%ebx _litmus_P1_43_: xchgl %ebx,(%r8) _litmus_P1_44_: cmpl $0,%ebx _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r8),%ebx _litmus_P1_48_: cmpl $0,%ebx _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%ecx _litmus_P1_53_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r15) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r15),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%r15) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r14) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%ebx _litmus_P0_20_: cmpl $0,%ebx _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,(%r14) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ebx _litmus_P0_28_: xchgl %ebx,(%rbp) _litmus_P0_29_: cmpl $0,%ebx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbp),%ebx _litmus_P0_33_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ebx _litmus_P0_41_: xchgl %ebx,(%rdi) _litmus_P0_42_: cmpl $0,%ebx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%ebx _litmus_P0_46_: cmpl $0,%ebx _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,(%rdi) Test X041+X042-L Required Histogram (18 states) 17693240:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 750579:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 14243034:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 274067449:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 25702108:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 156497:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 43576150:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 44025101:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 60 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 12935 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 91016 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 1461 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 343296:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 2803804:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 62680875:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 7147878:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 2755947:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 3948570:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 500000000, 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 196.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _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,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r8) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%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,(%r13) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r9) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%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 $2,(%r14) _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: movl $1,(%r11) _litmus_P2_27_: movl $1,(%r15) _litmus_P2_28_: movl (%r15),%eax _litmus_P2_29_: movl (%r11),%ecx _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%esi _litmus_P2_32_: xchgl %esi,(%rbp) _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rbp),%esi _litmus_P2_37_: cmpl $0,%esi _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r12),%ebx _litmus_P2_42_: movl $0,(%rbp) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%esi _litmus_P2_45_: xchgl %esi,(%rdi) _litmus_P2_46_: cmpl $0,%esi _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdi),%esi _litmus_P2_50_: cmpl $0,%esi _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%r10),%edx _litmus_P2_55_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rsi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rsi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdi),%eax _litmus_P1_20_: cmpl $0,%eax _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,(%rdi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r14),%r15d _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rbx) _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rbx) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%ecx _litmus_P0_7_: cmpl $0,%ecx _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%r13) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rbp),%eax _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%rsi) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%ecx _litmus_P0_33_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r12) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%edx _litmus_P0_51_: movl $0,(%r12) Test X042+X043-L Required Histogram (69 states) 30 :>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; 1676 :>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; 79337 :>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; 4315446:>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; 2959 :>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; 83 :>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; 1968405:>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; 122251:>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; 142 :>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; 2107 :>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; 345645:>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; 5897152:>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; 234408:>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; 103 :>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; 12787456:>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; 155165:>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; 1807 :>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; 65 :>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; 2150506:>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; 2 :>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; 6 :>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; 2123 :>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; 5314 :>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; 3023 :>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; 82447 :>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; 2065898:>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; 61012385:>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; 6124274:>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; 7527 :>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; 94640264:>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; 1639422:>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; 4632 :>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; 294141:>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; 214026:>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; 3650 :>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; 20584 :>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; 316513:>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; 3600 :>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; 2525481:>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; 5489 :>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; 16 :>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; 892965:>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; 464 :>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; 1439 :>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; 837579:>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; 25180650:>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; 264096:>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; 3 :>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; 44524569:>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; 798496:>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; 496 :>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; 397993:>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; 13471 :>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; 620609:>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; 395298:>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; 57605535:>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; 2126692:>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; 11812 :>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; 8983296:>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; 128014:>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; 185136:>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; 4069 :>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; 76807 :>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; 927307:>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; 34224905:>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; 1000556:>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; 2409 :>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; 23383511:>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; 376263:>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: 400000000, 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 239.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%rsi) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rbp) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%r14) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r14),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $2,(%r12) _litmus_P3_25_: movl $0,(%r14) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%r13) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r13),%ecx _litmus_P3_33_: cmpl $0,%ecx _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,(%r13) _litmus_P3_39_: movl $1,(%r15) _litmus_P3_40_: movl (%r15),%eax _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%ecx _litmus_P3_43_: xchgl %ecx,(%rbx) _litmus_P3_44_: cmpl $0,%ecx _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rbx),%ecx _litmus_P3_48_: cmpl $0,%ecx _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%rdi),%edx _litmus_P3_53_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rsi) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rbp) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: movl $1,(%r15) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%ecx _litmus_P2_16_: xchgl %ecx,(%r13) _litmus_P2_17_: cmpl $0,%ecx _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r13),%ecx _litmus_P2_21_: cmpl $0,%ecx _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,(%r13) _litmus_P2_27_: movl (%r15),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%ecx _litmus_P2_30_: xchgl %ecx,(%r14) _litmus_P2_31_: cmpl $0,%ecx _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r14),%ecx _litmus_P2_35_: cmpl $0,%ecx _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%r12) _litmus_P2_40_: movl $0,(%r14) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rbx) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%rdi),%edx _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r14) _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rsi) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%r12) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%ecx _litmus_P0_20_: cmpl $0,%ecx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%edx _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%rbx) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r14) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbp),%eax _litmus_P0_51_: movl $0,(%r13) Test X043+X044-L Required Histogram (95 states) 219 :>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; 2376 :>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; 138209:>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; 4783857:>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; 3848 :>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; 1841814:>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; 3 :>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; 38064 :>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; 1929 :>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; 32456163:>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; 908850:>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; 928919:>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; 559266:>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; 3530942:>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; 1225292:>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; 14678894:>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; 40785 :>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; 14845227:>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; 8700413:>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; 41148792:>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; 797564:>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; 90663502:>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; 85037 :>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; 503 :>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; 5087807:>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; 30 :>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; 6319976:>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; 745085:>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; 10767939:>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; 21739 :>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; 3221845:>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; 47 :>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; 73 :>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; 146877:>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; 1005296:>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; 10 :>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; 1577 :>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; 7536 :>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; 4187811:>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; 181 :>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; 1318 :>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; 213086:>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; 15384290:>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; 27970 :>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; 4353 :>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; 143632:>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; 183056:>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; 533738:>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; 2242507:>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; 424108:>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; 9844469:>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; 488487:>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; 260144:>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; 1115198:>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; 4490116:>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; 2711 :>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; 9 :>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; 689317:>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; 269187:>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; 27179 :>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; 445875:>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; 322 :>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; 27 :>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; 10050 :>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; 27268 :>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; 9063001:>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; 179 :>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; 57156 :>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; 18498 :>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; 14775770:>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; 395525:>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; 4457825:>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; 112710:>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; 10567676:>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; 13167 :>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; 2968611:>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; 2 :>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; 225908:>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; 665010:>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; 22079157:>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; 3814 :>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; 34218101:>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; 73 :>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; 407698:>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; 1173 :>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; 1371071:>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; 1473 :>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; 3543212:>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; 25292 :>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; 40440 :>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; 2184006:>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; 2333281:>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; 1418445:>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; 3329003:>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: 400000000, 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 276.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock39: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock41 _litmus_P3_20_: LitLock40: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock39 _litmus_P3_24_: jmp LitLock40 _litmus_P3_25_: LitLock41: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r13) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rsi) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rsi),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%rdi) _litmus_P2_25_: movl $0,(%rsi) _litmus_P2_26_: movl $1,(%rbp) _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%ecx _litmus_P2_29_: xchgl %ecx,(%r14) _litmus_P2_30_: cmpl $0,%ecx _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r14),%ecx _litmus_P2_34_: cmpl $0,%ecx _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl $1,(%r12) _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: movl (%rbp),%eax _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rbx) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%edx _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rbx),%r15d _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rdx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rsi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%r12) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r13) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r13) Test X044+X045-L Required Histogram (54 states) 8875748:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 1397207:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 43509762:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 8868235:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 3402264:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 104450562:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 861160:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 6389110:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 11562243:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 194264:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 29213566:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 22553172:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 525825:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 4507802:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 21464667:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1983105:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 11624984:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 80883432:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 836566:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 1267 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 3310818:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 4153 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 457887:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 649 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 441392:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 92577 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 614500:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 49790 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 703366:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 3100788:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 205563:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 7600182:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 191461:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 17044 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 8744957:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 8775 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 6936596:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 200074:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 1691 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 160957:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 921145:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 165332:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 2507873:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 17835 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 17208 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 153099:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 3572 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1298 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 146697:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 11617 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 60181 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 115 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 45864 :>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: 400000000, 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 254.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _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,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r8) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%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,(%r13) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r9) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%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 $2,(%r14) _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: movl $1,(%r11) _litmus_P2_27_: movl $1,(%r15) _litmus_P2_28_: movl (%r15),%eax _litmus_P2_29_: movl (%r11),%ecx _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%esi _litmus_P2_32_: xchgl %esi,(%rbp) _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rbp),%esi _litmus_P2_37_: cmpl $0,%esi _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r12),%ebx _litmus_P2_42_: movl $0,(%rbp) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%esi _litmus_P2_45_: xchgl %esi,(%rdi) _litmus_P2_46_: cmpl $0,%esi _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdi),%esi _litmus_P2_50_: cmpl $0,%esi _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%r10),%edx _litmus_P2_55_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rsi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rsi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%rcx) _litmus_P1_25_: movl $0,(%rdi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r14),%r15d _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rbx) _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%r13) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X045+X046-L Required Histogram (68 states) 3897593:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 63411 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 6323973:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 95339 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1733279:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 2219 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 59295064:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1052285:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1309 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 43 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1812 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 42 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 2179 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 58548 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 3257 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 221623:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 2184 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 379722:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 5085 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 457536:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 480 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 24157763:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 511598:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 35370 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1928671:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 186365:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 13688197:>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; 1786 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1169718:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 105343447:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 26 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1857 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 85 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 209308:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1387 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 5121026:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1557 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 216064:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 11213 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 2450844:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 320 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 590429:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 50422224:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1303 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 126397:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 332806:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 56698829:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 97361 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 630 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 485534:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 7150 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 87586 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 32627321:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 197716:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 38394 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1025 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 156752:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 7281490:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 7880 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1634161:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 422874:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 19575977:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 2255 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 570301:>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: 400000000, 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 255.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%rsi) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rbp) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%r14) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r14),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $2,(%r12) _litmus_P3_25_: movl $0,(%r14) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%r13) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r13),%ecx _litmus_P3_33_: cmpl $0,%ecx _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,(%r13) _litmus_P3_39_: movl $1,(%r15) _litmus_P3_40_: movl (%r15),%eax _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%ecx _litmus_P3_43_: xchgl %ecx,(%rbx) _litmus_P3_44_: cmpl $0,%ecx _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rbx),%ecx _litmus_P3_48_: cmpl $0,%ecx _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%rdi),%edx _litmus_P3_53_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rsi) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%ecx _litmus_P2_7_: cmpl $0,%ecx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rbp) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: movl $1,(%r15) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%ecx _litmus_P2_16_: xchgl %ecx,(%r13) _litmus_P2_17_: cmpl $0,%ecx _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r13),%ecx _litmus_P2_21_: cmpl $0,%ecx _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,(%r13) _litmus_P2_27_: movl (%r15),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%ecx _litmus_P2_30_: xchgl %ecx,(%r14) _litmus_P2_31_: cmpl $0,%ecx _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r14),%ecx _litmus_P2_35_: cmpl $0,%ecx _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%r12) _litmus_P2_40_: movl $0,(%r14) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%ecx _litmus_P2_43_: xchgl %ecx,(%rbx) _litmus_P2_44_: cmpl $0,%ecx _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rbx),%ecx _litmus_P2_48_: cmpl $0,%ecx _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%rdi),%edx _litmus_P2_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rbx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rsi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rsi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r15) _litmus_P1_38_: movl $0,(%rsi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%r13) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%eax _litmus_P1_46_: cmpl $0,%eax _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,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rdx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r14) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%eax _litmus_P0_20_: cmpl $0,%eax _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,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r13) _litmus_P0_38_: movl $0,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r15d _litmus_P0_51_: movl $0,(%rbp) Test X046+X047-L Required Histogram (95 states) 88235 :>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; 4996904:>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; 1261 :>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; 34245631:>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; 406544:>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; 2499801:>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; 442773:>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; 83870727:>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; 66257 :>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; 6792505:>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; 7 :>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; 2763468:>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; 31 :>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; 384 :>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; 1 :>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; 10131 :>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; 539312:>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; 412195:>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; 6823050:>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; 33007235:>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; 5 :>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; 10730 :>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; 85574 :>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; 808003:>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; 137211:>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; 16839932:>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; 111349:>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; 143111:>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; 734992:>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; 3862686:>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; 2478 :>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; 303738:>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; 270 :>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; 9 :>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; 7 :>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; 101 :>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; 269 :>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; 17125 :>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; 2001 :>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; 381698:>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; 166879:>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; 2475469:>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; 29225 :>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; 16042769:>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; 6725740:>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; 11555899:>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; 2446 :>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; 1415102:>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; 18587125:>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; 183 :>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; 551033:>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; 13593 :>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; 4906760:>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; 336130:>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; 9772421:>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; 780487:>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; 398239:>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; 41 :>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; 764 :>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; 687991:>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; 2591011:>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; 9 :>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; 19640 :>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; 15142 :>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; 8984612:>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; 15450462:>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; 63795 :>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; 10352242:>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; 2416 :>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; 32310233:>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; 344486:>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; 3782529:>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; 27885 :>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; 2553605:>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; 21 :>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; 4668 :>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; 16057 :>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; 337784:>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; 5068085:>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; 586113:>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; 32927418:>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; 14 :>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; 456 :>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; 32150 :>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; 1219932:>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; 28408 :>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; 71575 :>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; 933787:>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; 1421192:>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; 137 :>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; 10248 :>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; 3913696:>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; 612 :>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; 2073542:>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: 400000000, 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 288.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ebp _litmus_P3_2_: xchgl %ebp,(%r13) _litmus_P3_3_: cmpl $0,%ebp _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r13),%ebp _litmus_P3_7_: cmpl $0,%ebp _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $2,(%rax) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: movl $1,(%r14) _litmus_P3_14_: movl (%r14),%ecx _litmus_P3_15_: LitLock33: _litmus_P3_16_: movl $1,%ebp _litmus_P3_17_: xchgl %ebp,(%r12) _litmus_P3_18_: cmpl $0,%ebp _litmus_P3_19_: je LitLock35 _litmus_P3_20_: LitLock34: _litmus_P3_21_: movl (%r12),%ebp _litmus_P3_22_: cmpl $0,%ebp _litmus_P3_23_: je LitLock33 _litmus_P3_24_: jmp LitLock34 _litmus_P3_25_: LitLock35: _litmus_P3_26_: movl (%r15),%ebx _litmus_P3_27_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rax) _litmus_P2_3_: cmpl $0,%r13d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%r13d _litmus_P2_7_: cmpl $0,%r13d _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,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r13d _litmus_P2_15_: xchgl %r13d,(%r9) _litmus_P2_16_: cmpl $0,%r13d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%r13d _litmus_P2_20_: cmpl $0,%r13d _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,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rbp) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbp),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rbx) _litmus_P1_38_: movl $0,(%rbp) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rsi) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rsi),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r13),%r15d _litmus_P1_51_: movl $0,(%rsi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbp) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbp),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rbx) _litmus_P0_25_: movl $0,(%rbp) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdx) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdx),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r14) _litmus_P0_38_: movl $0,(%rdx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%r15d _litmus_P0_51_: movl $0,(%rdi) Test X047+X048-L Required Histogram (43 states) 29142097:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 122346:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 44263901:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 28407598:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 116744:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 62067597:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 9689 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 16358951:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 6379481:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 35131 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 56418221:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 24027270:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 3687311:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 142 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 682098:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 23539128:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2865 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 6403348:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 9 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 10818 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 12298 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 283 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 261473:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 361100:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 6856044:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 7086 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 3040888:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 30454674:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 110486:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 33832902:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 929 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1659207:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 490958:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 8996 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 14601580:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 5595619:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 6624 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 979361:>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; 41026 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 7 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1010 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 2682 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 400000000, 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 216.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P2_2_: xchgl %r15d,(%rdx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdx),%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,(%r13) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r12) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%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 (%r14),%eax _litmus_P2_25_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%rdi) _litmus_P1_3_: cmpl $0,%ebx _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%ebx _litmus_P1_7_: cmpl $0,%ebx _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,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%ebx _litmus_P1_15_: xchgl %ebx,(%r15) _litmus_P1_16_: cmpl $0,%ebx _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r15),%ebx _litmus_P1_20_: cmpl $0,%ebx _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,(%r15) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%ebx _litmus_P1_28_: xchgl %ebx,(%r14) _litmus_P1_29_: cmpl $0,%ebx _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%ebx _litmus_P1_33_: cmpl $0,%ebx _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rax),%ecx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%ebx _litmus_P1_41_: xchgl %ebx,(%rbp) _litmus_P1_42_: cmpl $0,%ebx _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%ebx _litmus_P1_46_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r14) _litmus_P0_3_: cmpl $0,%ebx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r14),%ebx _litmus_P0_7_: cmpl $0,%ebx _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,(%r14) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ebx _litmus_P0_15_: xchgl %ebx,(%r15) _litmus_P0_16_: cmpl $0,%ebx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r15),%ebx _litmus_P0_20_: cmpl $0,%ebx _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r8),%ecx _litmus_P0_25_: movl $0,(%r15) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ebx _litmus_P0_28_: xchgl %ebx,(%rbp) _litmus_P0_29_: cmpl $0,%ebx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbp),%ebx _litmus_P0_33_: cmpl $0,%ebx _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,(%rbp) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ebx _litmus_P0_41_: xchgl %ebx,(%rdi) _litmus_P0_42_: cmpl $0,%ebx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%ebx _litmus_P0_46_: cmpl $0,%ebx _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,(%rdi) Test X048+X049-L Required Histogram (18 states) 10984356:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 136945:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 32559 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 18793718:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 13461275:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 43621025:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 7387518:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 179064088:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 1431613:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 35406919:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 17692 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 165854:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 4302319:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 66023926:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2588662:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 48895015:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 683 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 67685833:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 500000000, 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 163.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r14d _litmus_P3_2_: xchgl %r14d,(%r9) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%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,(%r11) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r10) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r10),%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 (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%eax _litmus_P2_2_: xchgl %eax,(%rcx) _litmus_P2_3_: cmpl $0,%eax _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rcx),%eax _litmus_P2_7_: cmpl $0,%eax _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r13) _litmus_P2_12_: movl $0,(%rcx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%eax _litmus_P2_15_: xchgl %eax,(%rdx) _litmus_P2_16_: cmpl $0,%eax _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdx),%eax _litmus_P2_20_: cmpl $0,%eax _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r12),%r15d _litmus_P2_25_: movl $0,(%rdx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%eax _litmus_P2_28_: xchgl %eax,(%rdi) _litmus_P2_29_: cmpl $0,%eax _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rdi),%eax _litmus_P2_33_: cmpl $0,%eax _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%rbx) _litmus_P2_38_: movl $0,(%rdi) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%eax _litmus_P2_41_: xchgl %eax,(%rbp) _litmus_P2_42_: cmpl $0,%eax _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%rbp),%eax _litmus_P2_46_: cmpl $0,%eax _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rsi),%r14d _litmus_P2_51_: movl $0,(%rbp) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdx),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r12) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rcx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rcx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl (%r13),%r15d _litmus_P1_25_: movl $0,(%rcx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rbx) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rsi),%r14d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbp) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbp),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rbp) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r12) _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rcx) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rcx),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r13),%r15d _litmus_P0_38_: movl $0,(%rcx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbx),%r14d _litmus_P0_51_: movl $0,(%rdi) Test X049+X050-L Required Histogram (88 states) 223 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 11963 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2348916:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 572066:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 64110 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 13 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 8007 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 35368 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3376457:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 223 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 23126 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3818 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 131143:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 17747140:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1447329:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 303311:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 237 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1007438:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 245 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 42 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1299 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 65672 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 69937 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 21980549:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 44 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 247481:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 19862801:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1416728:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 110557:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 14053048:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4310552:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 493799:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4770 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 20228421:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4849371:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 646 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 382 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 17983 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 94736 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 12298634:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 7911 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5136 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2492474:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1136675:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 366 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 43 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 43342 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1290 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 60787 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 254886:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 30812700:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 7262 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2733 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 15103 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 37901 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3401816:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 299774:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 29251829:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 15762232:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1184 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 558876:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 7180 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 547 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3103027:>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=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 522 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 182 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6237 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1210301:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 46651 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 56996774:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6433 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 247946:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 372624:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 41047186:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8431548:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1476635:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8039608:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 11200830:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7924372:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 807673:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 26985085:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 20745704:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 400000000, 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 204.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%ecx _litmus_P3_2_: xchgl %ecx,(%rsi) _litmus_P3_3_: cmpl $0,%ecx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%ecx _litmus_P3_7_: cmpl $0,%ecx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r15) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%ecx _litmus_P3_15_: xchgl %ecx,(%r12) _litmus_P3_16_: cmpl $0,%ecx _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r12),%ecx _litmus_P3_20_: cmpl $0,%ecx _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rdi),%edx _litmus_P3_25_: movl $0,(%r12) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%ecx _litmus_P3_28_: xchgl %ecx,(%r13) _litmus_P3_29_: cmpl $0,%ecx _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r13),%ecx _litmus_P3_33_: cmpl $0,%ecx _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%rbp) _litmus_P3_38_: movl $0,(%r13) _litmus_P3_39_: LitLock45: _litmus_P3_40_: movl $1,%ecx _litmus_P3_41_: xchgl %ecx,(%rbx) _litmus_P3_42_: cmpl $0,%ecx _litmus_P3_43_: je LitLock47 _litmus_P3_44_: LitLock46: _litmus_P3_45_: movl (%rbx),%ecx _litmus_P3_46_: cmpl $0,%ecx _litmus_P3_47_: je LitLock45 _litmus_P3_48_: jmp LitLock46 _litmus_P3_49_: LitLock47: _litmus_P3_50_: movl (%r14),%eax _litmus_P3_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rsi) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r14),%edx _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r12) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%rdi) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%r13) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r13),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rbp),%eax _litmus_P2_51_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rcx) _litmus_P1_12_: movl $0,(%rdi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdx) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdx),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r14) _litmus_P1_38_: movl $0,(%rdx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%rsi) _litmus_P0_3_: cmpl $0,%ecx _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%ecx _litmus_P0_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%ecx _litmus_P0_15_: xchgl %ecx,(%rbx) _litmus_P0_16_: cmpl $0,%ecx _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%ecx _litmus_P0_20_: cmpl $0,%ecx _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,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%ecx _litmus_P0_28_: xchgl %ecx,(%r12) _litmus_P0_29_: cmpl $0,%ecx _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%ecx _litmus_P0_33_: cmpl $0,%ecx _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rdi),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%ecx _litmus_P0_41_: xchgl %ecx,(%r13) _litmus_P0_42_: cmpl $0,%ecx _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%ecx _litmus_P0_46_: cmpl $0,%ecx _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rbp),%eax _litmus_P0_51_: movl $0,(%r13) Test X050+X051-L Required Histogram (124 states) 38 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 4211 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 520 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 119992:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 439725:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 22567647:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2704 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 26614 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 7808284:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5730 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 7914545:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 609 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 559 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1830 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 60922 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1957 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 525 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 9129 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 123315:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 270455:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 88160 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2534684:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 18544393:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 684 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 4083 :>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; 18869 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 392 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 530 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 23 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 34533 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1020827:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3174042:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 754913:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 25872038:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 179889:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 192181:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 137555:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7664511:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 12628 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 5896266:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 14421 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 120557:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 11775131:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 273 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 202611:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 567335:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1893392:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1351 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 25355 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 76 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 47566 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1394062:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6824962:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 344052:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 65973084:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 20668 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 47052 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1893 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 416045:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2754120:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4599312:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1229785:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 46303960:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 508669:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5125836:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3757 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 12952859:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 311872:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2106913:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4159 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 13335305:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1578520:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 7863030:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 40098 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 40955166:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 570471:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1797217:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6870 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 23010630:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 979 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 910 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 218421:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 881 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 6197 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1793004:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 658530:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 76 :>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=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 382 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 82 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 9817 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2701 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 40204 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2201397:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 37030 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 441 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1636185:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 3705 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 989042:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 568590:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1546767:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2247105:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1985370:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 377 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4231 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 68269 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1433805:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1423 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 38452 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 466433:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 11342337:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 93487 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2467549:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 57241 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 9101390:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 162 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 758029:>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: 400000000, 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 234.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r11),%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,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r10),%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 (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r12) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r14) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%rsi) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rsi),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r15),%edx _litmus_P2_38_: movl $0,(%rsi) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%r13) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r13),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rbp),%eax _litmus_P2_51_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdx),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%rdx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rcx) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rcx),%r15d _litmus_P0_38_: movl $0,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rbp) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbp),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rbx) _litmus_P0_51_: movl $0,(%rbp) Test X051+X052-L Required Histogram (67 states) 7965 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 79 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 916751:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 68367 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 37 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2413816:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 15376738:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 6 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 370181:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 250 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 2139584:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 273 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 7969 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 45514 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 198782:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 67 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 7651304:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 24554037:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 491006:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 5800833:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 283 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 107296:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 837007:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1664022:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 3021383:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 48240560:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 3651308:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 8296529:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 4842 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 14728 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 9179 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1347436:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 3515346:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 6592901:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 9657328:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 100274860:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 91264 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 572296:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 10256662:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 175430:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 10308052:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 17965273:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 24698 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1902705:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1670486:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 13481305:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 663 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 68677 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 72696 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 708606:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 67566568:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 27375781:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 1371 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 23074 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 236 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 12842 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 141413:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 15698 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 47052 :>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=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 67 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 2096 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 711 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 20826 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 214880:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 400000000, 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 221.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r10) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%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,(%r12) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r11) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r11),%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 (%r13),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rsi) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r14),%edx _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r12) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%rdi) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%r13) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r13),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rbp),%eax _litmus_P2_51_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rsi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rsi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rcx) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%r13) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X052+X053-L Required Histogram (84 states) 104351:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2076 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2268886:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 20 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 3691677:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 5885974:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 1004003:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 15026 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 13784106:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 123 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 9754917:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 21380661:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 71 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 2231992:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1821 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 3618672:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 117530:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 796620:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 16000352:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 20628236:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 390 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 11078751:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 12714 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 30756632:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 335995:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 2623136:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 55157465:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 44564470:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 121264:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1946 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 5767 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 1735 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 473430:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 2157986:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 1981891:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 72531 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 1 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 9632 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 79 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 31327 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 855 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 6106 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1273619:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 153913:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1103547:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 10623 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 20936565:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 212 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 7556690:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 22931655:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3180460:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 4144 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 33822915:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 365 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 4659209:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 31095910:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 3376 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 11783 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 85 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 5869 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 59488 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 20526 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 87662 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 155 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 2439 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 118787:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 92 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 61284 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 681995:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 329109:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 6163 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 4055 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 3178770:>1:EAX=1; 2:EAX=1; 2:EBX=0; 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; 6782164:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 11234180:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 83 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 13 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 67 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 354 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 450 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 400000000, 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 233.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r11),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r10),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r10) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%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,(%r12) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r11) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%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 (%r13),%eax _litmus_P2_25_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%r12) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _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,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r13) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%eax _litmus_P1_33_: cmpl $0,%eax _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,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbx) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r14) _litmus_P1_51_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _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,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbp) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbp),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rbx) _litmus_P0_25_: movl $0,(%rbp) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rdx) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdx),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $2,(%r14) _litmus_P0_38_: movl $0,(%rdx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%r15d _litmus_P0_51_: movl $0,(%rdi) Test X053+X054-L Required Histogram (43 states) 8518 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 6338052:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 79751 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 48800508:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 44484 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 23089283:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 63384 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 62861083:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 15049206:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 39008193:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 23134183:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 26142425:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 2506909:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 1071393:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 16417054:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 8757377:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 10086746:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 4817045:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 53687319:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 25415990:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1305 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 9597 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 5037 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 22435 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 64 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 702090:>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; 23766 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 1112 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 5994573:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 14503 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 3942036:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 670121:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 20592611:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 12235 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 14849 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 630 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 1450 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 290035:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 322301:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 19 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 5 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 318 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 400000000, 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 207.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r11) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r11),%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,(%r13) _litmus_P2_12_: movl $0,(%r11) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r10) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r10),%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 (%r12),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rsi) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rsi),%eax _litmus_P1_7_: cmpl $0,%eax _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r13) _litmus_P1_12_: movl $0,(%rsi) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rdx) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rdx),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r14) _litmus_P1_25_: movl $0,(%rdx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rcx) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rsi) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rsi),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r13) _litmus_P0_12_: movl $0,(%rsi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rdx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r14),%r15d _litmus_P0_25_: movl $0,(%rdx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rbp) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbp),%eax _litmus_P0_33_: cmpl $0,%eax _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rbx) _litmus_P0_38_: movl $0,(%rbp) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%rdi) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%rdi) Test X054+X055-L Required Histogram (44 states) 210030:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 11127522:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 2568213:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 40201362:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 962283:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 8663579:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 12090281:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 29179679:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 53556 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 15393177:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7838 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3309156:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3367083:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 70879190:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 349064:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 7054738:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 58544 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 11 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 4024306:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 10367 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1281750:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 589848:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 29653515:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 1274334:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 221806:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 15428 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 13392799:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 5649 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 2349149:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 9720593:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 24947559:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 51359141:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 10262254:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 58 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 10228 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 1693 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 40343 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 75278 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 9277702:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 7189831:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 28809195:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 643 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 33 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 11192 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 400000000, 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 209.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r15d _litmus_P3_2_: xchgl %r15d,(%r11) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r11),%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,(%r13) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%r10) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r10),%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 (%r12),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%eax _litmus_P2_2_: xchgl %eax,(%rdi) _litmus_P2_3_: cmpl $0,%eax _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdi),%eax _litmus_P2_7_: cmpl $0,%eax _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rcx) _litmus_P2_12_: movl $0,(%rdi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%eax _litmus_P2_15_: xchgl %eax,(%rsi) _litmus_P2_16_: cmpl $0,%eax _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rsi),%eax _litmus_P2_20_: cmpl $0,%eax _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r13) _litmus_P2_25_: movl $0,(%rsi) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%eax _litmus_P2_28_: xchgl %eax,(%rdx) _litmus_P2_29_: cmpl $0,%eax _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rdx),%eax _litmus_P2_33_: cmpl $0,%eax _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r14),%r15d _litmus_P2_38_: movl $0,(%rdx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%eax _litmus_P2_41_: xchgl %eax,(%rbp) _litmus_P2_42_: cmpl $0,%eax _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%rbp),%eax _litmus_P2_46_: cmpl $0,%eax _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl $1,(%rbx) _litmus_P2_51_: movl $0,(%rbp) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rdx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdx),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%rdx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r13) _litmus_P1_25_: movl $0,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%rdi) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%eax _litmus_P1_33_: cmpl $0,%eax _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rcx) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%rbp) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbp),%eax _litmus_P1_46_: cmpl $0,%eax _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rbx),%r15d _litmus_P1_51_: movl $0,(%rbp) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%rbx) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r14) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rsi) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rsi),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r15) _litmus_P0_25_: movl $0,(%rsi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%r12) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r13) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r13) Test X055+X056-L Required Histogram (65 states) 1284949:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 55 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 14932882:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 2791834:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 86 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 24342225:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 5755374:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 1743284:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 47781633:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 7863712:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 6409540:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 101050798:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 14 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 170270:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 5548135:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 77 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 562499:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 22100348:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 1007597:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 3142462:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 3610381:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 10362952:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 10054982:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 16603143:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 12774310:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 23497856:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 9137 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 68563 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 25020 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 128385:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 449183:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 83552 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 7402663:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 1414211:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 276171:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 53235253:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 79 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 2952 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 101 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 4673 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 12103 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 1004712:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 40560 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 612510:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 508 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 83764 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 6435546:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 25467 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 2002940:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 532 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 13047 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 2085 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 4610 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 67060 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 5 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 3055378:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 68368 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 750 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 13726 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 1699 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 20649 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 219 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 42412 :>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; 8 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 400000000, 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 235.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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,%r13d _litmus_P3_2_: xchgl %r13d,(%rax) _litmus_P3_3_: cmpl $0,%r13d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rax),%r13d _litmus_P3_7_: cmpl $0,%r13d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r10) _litmus_P3_12_: movl $0,(%rax) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r13d _litmus_P3_15_: xchgl %r13d,(%r9) _litmus_P3_16_: cmpl $0,%r13d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r9),%r13d _litmus_P3_20_: cmpl $0,%r13d _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,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%rsi) _litmus_P2_3_: cmpl $0,%ecx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%ecx _litmus_P2_7_: cmpl $0,%ecx _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,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%ecx _litmus_P2_15_: xchgl %ecx,(%rbx) _litmus_P2_16_: cmpl $0,%ecx _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%ecx _litmus_P2_20_: cmpl $0,%ecx _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r14),%edx _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%ecx _litmus_P2_28_: xchgl %ecx,(%r12) _litmus_P2_29_: cmpl $0,%ecx _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%ecx _litmus_P2_33_: cmpl $0,%ecx _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%rdi) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%ecx _litmus_P2_41_: xchgl %ecx,(%r13) _litmus_P2_42_: cmpl $0,%ecx _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r13),%ecx _litmus_P2_46_: cmpl $0,%ecx _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rbp),%eax _litmus_P2_51_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%eax _litmus_P1_2_: xchgl %eax,(%rbx) _litmus_P1_3_: cmpl $0,%eax _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%eax _litmus_P1_7_: cmpl $0,%eax _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,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%eax _litmus_P1_15_: xchgl %eax,(%rsi) _litmus_P1_16_: cmpl $0,%eax _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rsi),%eax _litmus_P1_20_: cmpl $0,%eax _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,(%rsi) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%eax _litmus_P1_28_: xchgl %eax,(%r12) _litmus_P1_29_: cmpl $0,%eax _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%eax _litmus_P1_33_: cmpl $0,%eax _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,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%eax _litmus_P1_41_: xchgl %eax,(%r13) _litmus_P1_42_: cmpl $0,%eax _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%eax _litmus_P1_46_: cmpl $0,%eax _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,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%eax _litmus_P0_2_: xchgl %eax,(%r13) _litmus_P0_3_: cmpl $0,%eax _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%eax _litmus_P0_7_: cmpl $0,%eax _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rcx) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%eax _litmus_P0_15_: xchgl %eax,(%rbx) _litmus_P0_16_: cmpl $0,%eax _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%eax _litmus_P0_20_: cmpl $0,%eax _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r14) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%eax _litmus_P0_28_: xchgl %eax,(%rsi) _litmus_P0_29_: cmpl $0,%eax _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rsi),%eax _litmus_P0_33_: cmpl $0,%eax _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,(%rsi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%eax _litmus_P0_41_: xchgl %eax,(%r12) _litmus_P0_42_: cmpl $0,%eax _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%eax _litmus_P0_46_: cmpl $0,%eax _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,(%r12) Test X056+X057-L Required Histogram (80 states) 1028446:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 13332987:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 105 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 24046727:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 10836306:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 28505932:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 1732998:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 49158752:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 5834 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 489951:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 2016216:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 7461 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 19779 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 3768 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 128306:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 48932 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 1100707:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 12 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 6077437:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 1359249:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 1891669:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 532020:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 20377491:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 893 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 2901501:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 29221102:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 315 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 33416382:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 17850 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 69292 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 111 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 134548:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 6484 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 3037972:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 10693267:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 14 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 38 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 397 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 675453:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 14218935:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 207 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 26038943:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 1385 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 4524 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 74 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 69182 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 25908 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 213941:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 14362 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 8894306:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 123 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 10022 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 244790:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 51946326:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 2240 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 1361082:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 42 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 400 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 665008:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 771 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 5835990:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 34 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 871 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 92359 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 24184735:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 78858 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 23958 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 3110 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 4389892:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 1 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 8648 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 3383 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 7233535:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 152 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 8511 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 10479604:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 15952 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 70 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 1051011:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 51 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 400000000, 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 251.14 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 0 #endif /* gcc options: -D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread */ /* barrier: user */ /* launch: changing */ /* cache: false */ /* call: false */ /* affinity: incr8 */ /* randomise_affinity: false */ /* prealloc: false */ /* memory: indirect */ /* safer: true */ /* preload: true */ /* para: self */ /* speedcheck: false */ /* proc used: 0 */ GCCOPTS="-D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread" LITMUSOPTS=-s 1M -r 100 +ra Sun Jan 16 20:41:26 CET 2011