Sat Jan 15 10:37:32 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) 30261888:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 14801409:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 30151606:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 166443806:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 112080120:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 33299732:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 92489572:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 98565009:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 161660782:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 8878700:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 42241467:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 9125909:>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: 486915673, Negative: 313084327 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 40.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1965664:>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; 901950:>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; 8970933:>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; 64966277:>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; 1498962:>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; 80509 :>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; 7160631:>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; 7421550:>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; 1004885:>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; 332168:>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; 5186504:>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; 13337558:>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; 99762152:>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; 547461:>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; 72388792:>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; 23913573:>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; 2767566:>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; 42456832:>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; 555186:>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; 82579845:>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; 2852075:>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; 694155:>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; 292997:>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; 445987:>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; 2784272:>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; 4790277:>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; 401580:>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; 3502398:>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; 38050284:>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; 3889805:>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; 2157034:>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; 2340138:>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: 463244118, Negative: 36755882 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is NOT validated Hash=e44c186b312becf180a8e22766b08f2a Time X000+X001 76.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 129739:>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; 70181 :>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; 15050 :>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; 73450 :>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; 662696:>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; 392749:>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; 8551797:>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; 41967217:>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; 108600:>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; 20126 :>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; 590 :>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; 1853 :>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; 14349010:>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; 1139767:>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; 50918887:>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; 35732000:>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; 38691 :>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; 2209 :>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; 315 :>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; 549 :>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; 57725 :>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; 4476 :>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; 2230 :>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; 1974 :>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; 922626:>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; 8454 :>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; 109 :>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; 324 :>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; 41377848:>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; 214764:>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; 213834:>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; 31915 :>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; 3113362:>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; 34975147:>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; 1635193:>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; 42977991:>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; 1048704:>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; 3434522:>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; 1406571:>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; 19419841:>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; 386830:>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; 217330:>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; 1178 :>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; 27607 :>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; 3656330:>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; 1453020:>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; 2517127:>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; 5853110:>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; 6879467:>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; 51757785:>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; 71565 :>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; 5661080:>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; 1022410:>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; 1707517:>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; 40429 :>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; 785198:>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; 40807796:>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; 2816794:>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; 695 :>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; 72330 :>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; 65601914:>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; 2885460:>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; 204160:>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; 549782:>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: 414101957, Negative: 85898043 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 95.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1007244:>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; 614219:>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; 581511:>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; 3214479:>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; 698300:>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; 342861:>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; 12583867:>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; 62158109:>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; 321656:>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; 26134 :>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; 73863 :>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; 54380 :>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; 2744023:>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; 114103:>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; 55802546:>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; 33278567:>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; 361439:>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; 127344:>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; 103481:>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; 202255:>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; 72001 :>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; 14669 :>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; 41084 :>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; 50745 :>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; 3701968:>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; 44404 :>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; 330023:>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; 61076 :>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; 42450365:>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; 52252 :>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; 6641095:>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; 645003:>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; 1784884:>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; 9888894:>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; 445587:>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; 57600304:>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; 558846:>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; 1222157:>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; 561984:>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; 14214381:>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; 601234:>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; 53073 :>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; 76529 :>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; 78122 :>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; 1384142:>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; 106713:>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; 1109913:>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; 1437933:>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; 3000717:>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; 44841148:>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; 355827:>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; 28760615:>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; 259224:>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; 383960:>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; 93247 :>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; 1334884:>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; 53959947:>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; 1595130:>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; 664751:>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; 419910:>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; 40703523:>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; 376799:>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; 2668489:>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; 942067:>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: 452119813, Negative: 47880187 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 90.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 18526 :>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; 10027 :>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; 402267:>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; 394641:>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; 41723 :>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; 20394 :>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; 2575658:>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; 3626809:>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; 80033 :>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; 5588 :>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; 152477:>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; 72298 :>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; 516148:>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; 56410 :>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; 8060229:>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; 5663348:>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; 34220 :>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; 3621 :>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; 445656:>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; 122954:>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; 24011 :>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; 2660 :>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; 1189623:>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; 507638:>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; 3882630:>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; 22629 :>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; 1393668:>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; 72114 :>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; 6994536:>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; 35796 :>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; 9799721:>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; 1912484:>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; 275087:>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; 1217591:>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; 719468:>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; 5162948:>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; 87975 :>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; 123374:>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; 664610:>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; 1944820:>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; 197030:>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; 33035 :>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; 62933 :>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; 49421 :>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; 393169:>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; 37112 :>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; 790076:>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; 364438:>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; 4321500:>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; 11903815:>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; 6826933:>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; 41196884:>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; 165330:>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; 132122:>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; 2387410:>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; 5675470:>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; 34178993:>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; 1325212:>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; 8075233:>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; 1449309:>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; 14332499:>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; 322780:>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; 13426133:>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; 3860731:>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; 83723 :>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; 642585:>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; 36474 :>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; 510957:>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; 2029754:>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; 16402724:>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; 1923737:>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; 14889967:>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; 97134 :>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; 56127 :>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; 12505 :>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; 38178 :>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; 20841484:>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; 8791455:>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; 8710708:>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; 14712656:>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; 55234 :>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; 50906 :>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; 20331 :>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; 31861 :>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; 127695:>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; 137213:>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; 110345:>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; 146092:>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; 6316789:>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; 95303 :>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; 14310 :>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; 10930 :>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; 21441655:>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; 797307:>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; 470488:>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; 353955:>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; 871401:>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; 13169924:>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; 440486:>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; 6930441:>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; 322632:>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; 3436609:>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; 139785:>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; 1764168:>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; 43223 :>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; 21453 :>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; 696 :>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; 9115 :>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; 189535:>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; 318124:>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; 31512 :>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; 126538:>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; 2784038:>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; 14187014:>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; 406366:>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; 6830293:>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; 182290:>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; 563746:>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; 84125 :>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; 364701:>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; 8667075:>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; 763525:>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; 15954 :>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; 71383 :>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; 6639364:>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; 457047:>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; 132463:>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; 230414:>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: 353407547, Negative: 46592453 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 63.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (255 states) 49747 :>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; 140884:>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; 17439 :>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; 326119:>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; 349319:>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; 182586:>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; 194067:>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; 4277342:>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; 502780:>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; 98108 :>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; 4550312:>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; 6040128:>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; 612048:>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; 52356 :>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; 5239570:>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; 29042903:>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; 82953 :>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; 315730:>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; 821 :>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; 380816:>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; 10464 :>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; 8587 :>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; 298 :>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; 15072 :>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; 1547511:>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; 683657:>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; 10102710:>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; 24538891:>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; 490824:>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; 39863 :>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; 4720358:>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; 4552642:>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; 1351896:>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; 1070965:>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; 6330 :>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; 299516:>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; 5117620:>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; 654191:>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; 77499 :>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; 504162:>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; 5345187:>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; 1141766:>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; 353225:>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; 735475:>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; 7195273:>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; 418479:>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; 315132:>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; 669363:>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; 4547571:>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; 5136036:>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; 635 :>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; 821100:>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; 531150:>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; 99126 :>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; 232 :>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; 10053 :>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; 28321494:>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; 7756547:>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; 869245:>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; 3402874:>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; 7442384:>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; 402408:>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; 342695:>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; 232265:>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; 16552 :>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; 152400:>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; 1995 :>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; 138619:>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; 2236023:>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; 2789006:>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; 796224:>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; 20426783:>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; 7232 :>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; 11643 :>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; 913 :>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; 52573 :>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; 142383:>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; 40277 :>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; 85906 :>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; 1251698:>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; 8904 :>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; 69071 :>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; 46 :>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; 60356 :>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; 4687 :>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; 4399 :>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; 9 :>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; 4321 :>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; 17639 :>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; 37662 :>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; 404 :>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; 93453 :>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; 13968 :>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; 4721 :>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; 588 :>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; 17244 :>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; 1385600:>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; 2215596:>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; 5687 :>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; 956704:>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; 33193652:>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; 22657197:>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; 1556413:>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; 12962777:>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; 1209143:>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; 208180:>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; 7097 :>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; 384202:>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; 6630522:>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; 405541:>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; 90060 :>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; 360791:>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; 1494892:>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; 4948417:>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; 740 :>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; 1418006:>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; 729033:>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; 142392:>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; 225 :>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; 23993 :>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; 2233661:>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; 1666954:>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; 6561 :>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; 1192419:>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; 1881764:>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; 182275:>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; 6637 :>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; 65977 :>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; 276 :>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; 376397:>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; 232 :>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; 425845:>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; 132 :>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; 4329 :>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; 820 :>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; 189990:>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; 252 :>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; 134811:>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; 3541 :>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; 1452929:>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; 48 :>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; 230 :>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; 2232 :>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; 318903:>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; 244 :>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; 1812211:>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; 48 :>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; 2555233:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 685 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 2099 :>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; 2057 :>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; 1742679:>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; 14055 :>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; 15713922:>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; 51 :>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; 444 :>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; 704 :>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; 63523 :>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; 78 :>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; 190625:>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; 121753:>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; 6 :>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; 554 :>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; 5 :>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; 1875 :>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; 90 :>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; 43913 :>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; 22 :>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; 105696:>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 11 :>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; 810 :>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; 478 :>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; 5409690:>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; 56 :>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; 2252103:>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; 274 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 259 :>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; 2975 :>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; 4939149:>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; 896 :>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; 7682106:>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; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 190 :>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; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 1039 :>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; 459 :>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; 290986:>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; 64 :>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; 212960:>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; 6408 :>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; 543176:>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; 2435 :>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; 1889538:>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; 49 :>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; 33881 :>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; 39 :>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; 54931 :>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; 159 :>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; 1429 :>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; 685 :>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; 84702 :>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; 274 :>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; 951973:>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; 88 :>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; 895820:>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; 4370 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 5991 :>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; 201 :>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; 331926:>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; 128 :>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; 723556:>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; 19 :>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; 924 :>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; 19 :>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; 5428 :>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; 579 :>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; 519209:>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; 12 :>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; 340014:>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; 4794 :>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; 2034594:>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; 116 :>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; 1697546:>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; 113 :>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; 16996 :>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; 11 :>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; 118812:>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; 14 :>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; 778 :>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; 6 :>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; 2648 :>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; 6648 :>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; 15931377:>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; 359 :>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; 7519974:>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; 36 :>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; 35196 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 20126 :>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; 3013 :>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; 2784390:>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; 711 :>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; 4284370:>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; 49 :>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; 5243 :>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; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 6417 :>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: 318800041, Negative: 81199959 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 79.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (145 states) 188 :>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; 178823:>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; 9745 :>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; 506524:>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; 367 :>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; 1135729:>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; 1114212:>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; 25915279:>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; 1400 :>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; 2907058:>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; 19069 :>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; 1244733:>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; 6069 :>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; 6067896:>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; 515464:>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; 13278755:>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; 4014 :>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; 334712:>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; 14655 :>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; 506593:>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; 190 :>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; 186896:>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; 20410 :>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; 610166:>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; 49256 :>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; 30857334:>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; 248314:>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; 5215836:>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; 8330 :>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; 10079537:>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; 183424:>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; 4704212:>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; 243 :>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; 1325288:>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; 19430 :>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; 1122539:>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; 126 :>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; 8040575:>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; 292192:>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; 31137904:>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; 115 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 983635:>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; 1958 :>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; 57481 :>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; 63 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 1070901:>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; 7277 :>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; 120032:>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; 101400:>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; 11232721:>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; 105922:>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; 2661442:>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; 517 :>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; 5188599:>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; 23147 :>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; 1146650:>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; 85469 :>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; 16536965:>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; 58295 :>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; 760891:>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; 420 :>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; 5875379:>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; 9150 :>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; 355957:>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; 123445:>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; 488848:>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; 252091:>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; 13034720:>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; 345215:>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; 857771:>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; 255194:>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; 3153694:>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; 2181763:>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; 6468920:>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; 36341 :>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; 513793:>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; 23522931:>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; 14915301:>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; 194474:>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; 688163:>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; 372059:>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; 735390:>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; 362108:>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; 9250127:>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; 133285:>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; 98354 :>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; 10245 :>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; 6328 :>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; 11649601:>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; 24565430:>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; 126776:>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; 800144:>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; 8455407:>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; 3065738:>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; 107513:>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; 43522 :>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; 8995 :>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; 2616 :>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; 158332:>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; 26 :>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; 1645254:>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; 1106564:>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; 7 :>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; 153117:>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; 1597030:>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; 26 :>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; 1021446:>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; 2671 :>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; 465 :>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; 7299 :>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; 12217 :>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; 10 :>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; 6270333:>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; 128 :>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; 120334:>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; 5 :>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; 3636358:>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; 116 :>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; 232054:>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; 1959780:>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; 5 :>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; 4207 :>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; 13608353:>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; 279 :>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; 7331639:>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; 2477128:>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2865 :>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; 3627380:>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; 35284 :>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; 2874041:>0:EAX=2; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 23 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 2189 :>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; 4838267:>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; 125 :>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; 103976:>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; 81 :>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; 13724181:>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; 42 :>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; 6532 :>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; 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=2; 12329494:>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; 73 :>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; 36082 :>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: 377817444, Negative: 22182556 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 80.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (255 states) 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; 6 :>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; c=1; x=1; 291 :>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; 54 :>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; 114 :>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; 9 :>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; 1 :>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=0; c=1; x=1; 20 :>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; 389 :>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; 105 :>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; 1826 :>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; 162 :>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; 491 :>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; 10 :>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; 781735:>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; 12669 :>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; 5500832:>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; 6047 :>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; 206309:>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; 2888134:>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; 7465086:>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; 1451 :>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; 325628:>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; 16398 :>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; 887586:>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; 14486 :>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; 1128701:>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; 1161515:>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; 3938168:>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; 36 :>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; 8758081:>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; 6231 :>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; 2535996:>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; 1269 :>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; 159285:>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; 255570:>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; 1221150:>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; 257313:>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; 52645347:>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; 954643:>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; 5709672:>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; 308737:>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; 7319750:>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; 4564234:>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; 9599257:>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; 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; c=1; x=1; 189 :>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; 274 :>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; 2185 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 8 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 3779 :>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; 1143 :>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; 37 :>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; 39 :>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; 213 :>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; 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; c=1; x=1; 90 :>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; 669 :>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; 303 :>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; 3 :>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; c=1; x=1; 1234 :>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; 154 :>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; 165 :>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; 2 :>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; 13 :>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; 4 :>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; 323 :>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; 6928 :>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; 991 :>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; 283 :>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; 35 :>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; 469 :>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; 306 :>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; 454 :>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; 1 :>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; 967278:>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; 57601 :>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; 29012333:>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; 2202 :>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; 96979 :>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; 13553895:>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; 23460960:>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; 47 :>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; 90428 :>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; 4652 :>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; 352989:>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; 1327 :>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; 145124:>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; 442098:>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; 1836168:>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; 5 :>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; 17389286:>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; 4082 :>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; 3187041:>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; 116 :>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; 23861 :>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; 102696:>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; 167941:>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; 2022 :>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; 12258456:>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; 16145 :>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; 701996:>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; 5320 :>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; 264912:>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; 205038:>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; 598784:>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; 1 :>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; 1941 :>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; 9 :>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; 753 :>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; 1052 :>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; 21851 :>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; 16164 :>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; 39546 :>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; 3 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 2786 :>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; 4 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 383 :>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; 5751 :>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; 91060 :>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; 26667 :>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; 63279 :>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; 28 :>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; 225513:>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; 80 :>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; 6562 :>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; 1564 :>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; 35475 :>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; 26759 :>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; 56590 :>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; 3435 :>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; 5810616:>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; 1187 :>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; 19032 :>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; 101460:>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; 978434:>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; 180040:>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; 287479:>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; 255 :>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; 393931:>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; 424875:>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; 6592689:>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; 636 :>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; 35338 :>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; 799126:>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; 1621462:>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; 22 :>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; 31336 :>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; 1785 :>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; 62746 :>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; 7032 :>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; 175525:>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; 176067:>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; 544371:>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; 273 :>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; 5116564:>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; 29652 :>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; 920949:>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; 524 :>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; 17315 :>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; 57599 :>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; 87809 :>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; 2783 :>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; 10019009:>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; 16839 :>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; 205933:>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; 43192 :>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; 576575:>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; 143835:>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; 327253:>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; 3 :>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=0; c=1; x=2; 6279 :>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; 8547 :>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; 32 :>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; 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=0; c=1; x=2; 21610 :>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; 14634 :>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; 52939 :>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; 408898:>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; 64414 :>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; 8040348:>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; 338773:>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; 573248:>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; 1478910:>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; 8455427:>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; 3658 :>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; 7442 :>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; 81012 :>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; 145417:>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; 2017827:>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; 441917:>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; 6312762:>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; 7846100:>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; 47 :>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; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 4326 :>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; 8 :>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; 35 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 538 :>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; 1819 :>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; 4 :>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; 141 :>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; 31 :>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; 815 :>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; 1074 :>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; 5395 :>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; 506840:>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; 22464 :>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; 11080046:>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; 23257 :>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; 82411 :>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; 191194:>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; 1586711:>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; 1253 :>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; 1965 :>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; 35108 :>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; 109990:>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; 249718:>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; 37103 :>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; 997313:>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; 915273:>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; 166 :>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; 98 :>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; 28559 :>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; 43483 :>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; 7716 :>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; 933 :>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; 3933029:>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; 4957429:>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; 327 :>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; 63 :>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; 49343 :>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; 37447 :>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; 318807:>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; 7550 :>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; 25384600:>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; 10158852:>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; 4042 :>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; 55241 :>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; 26917 :>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; 2571957:>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; 22482 :>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; 22397 :>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; 4165206:>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; 17851638:>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; 2906 :>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; 5382 :>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; 26716 :>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; 79656 :>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; 413389:>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; 24889 :>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; 10473679:>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; 7104341:>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: 379221482, Negative: 20778518 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 81.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (373 states) 7034 :>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; 2448 :>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; 84636 :>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; 4022 :>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; 48 :>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; 4 :>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=1; d=1; y=1; 1130 :>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; 735 :>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; 176 :>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; 54 :>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; 107898:>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; 6833 :>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; 1235946:>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; 4438925:>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; 14736478:>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; 30490542:>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; 11 :>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; 53 :>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; 37900 :>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; 79602 :>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; 2323 :>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; 5702 :>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; 11028546:>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; 7319548:>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; 1190152:>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; 668382:>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; 3089059:>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; 778043:>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; 17 :>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; 126 :>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; 224538:>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; 98548 :>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; 1395 :>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; 1584 :>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; 3165354:>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; 549648:>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; 285703:>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; 505082:>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; 109897:>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; 26146 :>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; 8 :>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; 120 :>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; 13448 :>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; 19474 :>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; 79 :>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; 73 :>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; 54518 :>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; 23900 :>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; 5446309:>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; 22240084:>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; 363840:>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; 1293004:>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=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; 52 :>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; 9188 :>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; 61534 :>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; 32714 :>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; 40510 :>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; 10492529:>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; 19139020:>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; 1187106:>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; 464282:>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; 12 :>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; 808 :>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; 79421 :>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; 504952:>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; 11 :>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; 281 :>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; 319594:>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; 266035:>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; 70 :>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; 2 :>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=2; d=1; y=1; 79 :>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; 16 :>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; 79 :>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; 109 :>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; 385 :>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; 7348 :>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; 1680163:>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; 13337 :>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; 4061599:>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; 1131 :>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; 478 :>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; 882556:>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; 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=2; d=1; y=1; 1848 :>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; 9705 :>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; 3746038:>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; 428 :>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; 134277:>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; 157 :>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; 54682 :>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; 344 :>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; 230 :>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; 222225:>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; 773 :>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; 362 :>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; 231134:>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; 173 :>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; 75571 :>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; 14 :>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; 2615 :>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; 392 :>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; 36 :>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=1; 29614 :>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; 72 :>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; 22 :>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=1; 11633 :>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; 36529 :>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; 3638642:>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; 2900 :>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; 218223:>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; 5342 :>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; 621 :>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; 427203:>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; 202 :>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; 312 :>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; 245671:>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; 15551 :>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; 2787156:>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; 311 :>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; 26734 :>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; 22220 :>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; 1163 :>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; 711433:>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; 1087 :>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; 496 :>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; 179231:>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; 110562:>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; 16909 :>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; 48197 :>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; 1266 :>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; 10 :>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=2; y=1; 2 :>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; 22455 :>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; 12732 :>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; 25 :>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; 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=0; c=1; d=2; y=1; 53574 :>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; 2935 :>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; 6723296:>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; 139022:>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; 10821893:>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; 28002 :>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; 847 :>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; 120 :>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; 1811242:>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; 94038 :>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; 14574 :>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; 173 :>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; 15178657:>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; 86440 :>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; 523939:>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; 194009:>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; 5867 :>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; 767 :>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; 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=1; c=1; d=2; y=1; 3803 :>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; 6310 :>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; 3201 :>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; 635 :>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; 31214867:>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; 8839431:>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; 6555410:>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; 71154 :>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; 1027 :>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; 1264 :>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; 1463584:>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; 563008:>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; 2772 :>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; 262 :>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; 3345961:>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; 82313 :>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; 72 :>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; 1533 :>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; 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=1; 43 :>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; 25 :>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; 2734 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 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=0; c=2; d=2; y=1; 145 :>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; 100 :>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; 1964 :>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; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 51 :>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; 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=0; c=2; d=2; y=1; 59 :>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; 85 :>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; 6927 :>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; 22 :>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; 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=0; c=2; d=2; y=1; 1027 :>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; 849 :>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; 21876 :>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; 31 :>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; 218 :>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; 65 :>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; 7778 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2 :>0:EAX=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=2; y=1; 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=1; 181 :>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; 10600 :>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; 803774:>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; 13 :>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; 470 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 12575 :>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; 1420 :>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; 295855:>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; 107 :>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; 85 :>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; 7646 :>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; 708 :>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; 921 :>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; 14759 :>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; 2723 :>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; 2139 :>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; 9616 :>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; 86273 :>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; 34582 :>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; 7763 :>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; 41072 :>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; 700752:>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; 1454207:>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; 75495 :>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; 174166:>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; 4832142:>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; 9626824:>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; 22033 :>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; 79176 :>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; 250796:>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; 122180:>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; 568068:>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; 736958:>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; 2837610:>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; 1659571:>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; 645 :>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; 4978 :>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; 2624 :>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; 4421 :>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; 11733 :>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; 77874 :>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; 26520 :>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; 74052 :>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; 153 :>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; 3300 :>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; 16 :>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; 769 :>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; 5784 :>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; 29199 :>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; 2430 :>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; 11296 :>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; 3850 :>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; 59545 :>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; 13134 :>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; 18962 :>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; 82888 :>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; 1373771:>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; 85604 :>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; 629063:>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; 403 :>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; 6 :>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=2; d=1; y=2; 312 :>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; 46 :>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; 25925 :>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; 236 :>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; 127077:>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; 431 :>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; 579656:>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; 1717 :>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; 821886:>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; 3745 :>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; 5584814:>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; 47982 :>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; 25390434:>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; 307 :>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; 260073:>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; 247 :>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; 94182 :>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; 5397 :>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; 7613564:>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; 12310 :>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; 12647960:>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; 8 :>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; 20424 :>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; 8 :>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=2; 4150 :>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; 329 :>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; 871284:>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; 610 :>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; 554147:>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; 71 :>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; 60733 :>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; 8 :>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; 7658 :>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; 982 :>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; 1419107:>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; 334 :>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; 475604:>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; 354 :>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; 133346:>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; 141 :>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; 21961 :>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; 7430 :>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; 13573630:>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; 6189 :>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; 4557296:>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; 1859 :>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; 1872 :>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; 2343 :>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; 340 :>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; 37348 :>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; 16148 :>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; 42574 :>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; 6820 :>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; 503264:>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; 47614 :>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; 1356418:>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; 13890 :>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; 5063175:>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; 713202:>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; 17354789:>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; 591488:>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; 19 :>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; 141 :>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; 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=1; d=2; y=2; 5 :>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=2; 974 :>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; 1824 :>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; 95 :>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; 147 :>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; 152290:>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; 61844 :>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; 180748:>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; 5802 :>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; 1335523:>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; 1317931:>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; 1221165:>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; 299417:>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; 58 :>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; 6428 :>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; 4 :>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=2; y=2; 120 :>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; 470 :>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; 165495:>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; 76 :>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; 42418 :>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; 217 :>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; 23993 :>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; 23 :>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; 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=2; y=2; 6763 :>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; 3979825:>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; 4744 :>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; 2447191:>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; 15 :>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; 611 :>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; 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=2; 10 :>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; 70 :>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; 54696 :>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; 3562 :>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; 520 :>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; 41557 :>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; 35 :>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; 1732 :>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; 25732 :>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; 9677735:>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; 6778 :>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; 1326404:>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: 346719130, Negative: 53280870 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 93.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 74 :>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; 2168 :>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; 513 :>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; 444 :>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; 10881172:>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; 24214785:>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; 25766124:>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; 23610082:>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; 3956 :>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; 9597 :>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; 20859 :>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; 9457 :>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; 6634998:>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; 13423486:>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; 24522781:>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; 17505553:>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; 78 :>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; 712 :>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; 989 :>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; 325 :>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; 1959495:>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; 3450882:>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; 10172553:>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; 1625403:>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; 46 :>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; 395 :>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; 4859 :>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; 1084 :>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; 34761 :>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; 917394:>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; 3104202:>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; 168808:>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; 498980:>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; 1770 :>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; 10509173:>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; 19423 :>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; 28 :>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; 1 :>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; 2137 :>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; 128 :>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; 422974:>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; 3271 :>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; 16036800:>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; 28582 :>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; 595 :>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; 107494:>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; 764 :>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; 49747278:>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; 15247 :>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; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 14626 :>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; 247 :>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; 3941 :>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; 23628853:>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; 993 :>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; 1411192:>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; 24517720:>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; 455631:>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; 817570:>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; 4955575:>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; 35846298:>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; 8926333:>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; 5984772:>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; 1289804:>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; 20486806:>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; 1132139:>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; 1248133:>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; 334539:>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; 6890324:>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; 2635841:>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; 763186:>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; 57 :>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; 6077 :>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; 10 :>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; 7908 :>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; 146 :>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; 1831247:>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; 5007 :>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; 284 :>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; 1 :>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; 1248320:>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; 576 :>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; 1140 :>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; 4 :>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; 10110534:>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; 1473 :>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: 371439448, Negative: 28560552 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 76.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 157435:>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; 1953485:>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; 1521057:>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; 66870696:>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; 102683:>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; 738781:>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; 1032224:>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; 23763131:>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; 51998 :>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; 55845 :>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; 218864:>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; 1914277:>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; 76599517:>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; 28877501:>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; 29250399:>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; 79873389:>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; 44690 :>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; 33096298:>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; 1561 :>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; 103553589:>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; 19161 :>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; 4240134:>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; 264 :>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; 6899733:>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; 33413 :>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; 127771:>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; 72 :>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; 56664 :>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; 20500918:>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; 14885289:>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; 50535 :>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; 3508626:>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: 494068467, Negative: 5931533 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 83.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1847078:>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; 1057593:>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; 322931:>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; 3631098:>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; 21280630:>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; 531662:>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; 56822855:>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; 95188472:>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; 1566474:>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; 86813 :>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; 94726 :>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; 98831 :>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; 22416528:>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; 42376 :>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; 1959035:>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; 265214:>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; 12695014:>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; 24242419:>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; 260818:>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; 36297540:>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; 16345164:>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; 2436838:>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; 1743669:>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; 9823922:>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; 36986819:>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; 15125362:>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; 211019:>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; 4191211:>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; 37262920:>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; 1978981:>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; 1069881:>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; 1098238:>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; 299 :>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; 95093 :>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; 472 :>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; 434732:>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; 2030 :>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; 9864 :>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; 32910 :>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; 10161156:>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; 4163 :>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; 14747056:>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; 1521 :>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; 49021214:>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; 722 :>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; 116370:>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; 2179 :>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; 2756375:>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; 783 :>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; 10127552:>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; 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; 2:EDX=1; c=2; 3420759:>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; 61 :>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; 31932 :>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; 31 :>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; 50511 :>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: 398053541, Negative: 101946459 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 104.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (32 states) 21475679:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 65740430:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 44186254:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 53526695:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 932427:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 202890:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 56376093:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 16817703:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 18648310:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 30537770:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 2546741:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 747160:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 4917216:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 642196:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13080349:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 860983:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 35969 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 377081:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 271 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 543212:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 69 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 32211230:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 12876 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 31998 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 13611 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 33884731:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1926 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 101646436:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1673 :>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: 411208357, Negative: 88791643 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is NOT validated Hash=55e7047b2dae0f590a8a9c6b06334f33 Time X011+X012 83.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 740188:>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; 1072583:>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; 5395663:>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; 28469217:>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; 2085512:>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; 21435 :>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; 11245693:>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; 6961259:>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; 407002:>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; 382740:>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; 3203254:>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; 3184393:>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; 42336961:>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; 34027 :>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; 44663972:>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; 5768941:>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; 770259:>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; 15074017:>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; 478354:>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; 40591335:>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; 1973048:>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; 46693 :>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; 226711:>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; 55975 :>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; 275019:>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; 313721:>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; 158589:>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; 495834:>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; 9442397:>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; 17072 :>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; 641040:>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; 25104 :>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; 1692715:>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; 3619183:>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; 3081393:>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; 36047310:>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; 2482339:>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; 336406:>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; 7294700:>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; 5789938:>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; 762043:>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; 726424:>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; 1708266:>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; 3198015:>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; 48637211:>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; 511186:>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; 19426818:>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; 4798373:>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; 202141:>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; 9393044:>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; 12008 :>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; 20548205:>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; 459700:>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; 19740 :>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; 11518 :>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; 1810 :>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; 63939 :>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; 106061:>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; 1131 :>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; 39811 :>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; 2449119:>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; 7433 :>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; 13483 :>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; 529 :>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: 377868506, Negative: 22131494 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 55.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (384 states) 3 :>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; 908 :>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; 31879 :>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; 48526 :>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; 108 :>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; 14902 :>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; 21611 :>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; 61065 :>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; 1795 :>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; 25953 :>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; 919723:>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; 155676:>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; 40215 :>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; 1071700:>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; 4855629:>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; 1552949:>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; 24 :>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; 6505 :>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; 161798:>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; 245677:>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; 2854 :>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; 1864027:>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; 1469504:>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; 6083795:>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; 99 :>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; 8675 :>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; 962901:>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; 138123:>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; 75557 :>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; 4247731:>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; 29958453:>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; 9794285:>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; 44 :>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; 8005 :>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; 54329 :>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; 194554:>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; 57 :>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; 15982 :>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; 3401 :>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; 110373:>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; 126 :>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; 9021 :>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; 76319 :>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; 50607 :>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; 677 :>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; 17505 :>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; 16031 :>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; 40935 :>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; 501 :>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; 50841 :>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; 677889:>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; 1185969:>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; 66157 :>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; 1619942:>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; 3035177:>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; 5094539:>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; 2752 :>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; 6413 :>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; 1244846:>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; 116999:>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; 689087:>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; 976626:>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; 10371644:>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; 2427233:>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; 68 :>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; 1152 :>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; 1086196:>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; 50147 :>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; 697 :>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; 6271 :>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; 51491 :>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; 13173 :>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; 6601 :>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; 18570 :>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; 5878590:>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; 99111 :>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; 58315 :>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; 327057:>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; 370517:>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; 175342:>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; 3 :>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=0; c=1; 210 :>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; 523743:>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; 12883 :>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; 438 :>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; 2404 :>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; 128424:>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; 8054 :>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; 39 :>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; 174 :>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; 2932348:>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; 4344 :>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; 1164 :>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; 8010 :>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; 342836:>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; 10890 :>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; 11742 :>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; 105112:>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; 14999169:>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; 1363559:>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; 1732 :>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; 24939 :>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; 9868 :>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; 69678 :>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; 6629 :>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; 17070 :>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; 6335605:>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; 97721 :>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; 4856 :>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; 16648 :>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; 10195 :>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; 17252 :>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; 9363 :>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; 64298 :>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; 14063603:>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; 764130:>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; 8829 :>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; 40758 :>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; 209840:>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; 69358 :>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; 3751 :>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; 4705 :>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; 21308661:>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; 43528 :>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; 23674 :>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; 22568 :>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; 534798:>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; 27938 :>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; 3 :>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=1; c=1; 904 :>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; 10307 :>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; 106659:>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; 17 :>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; 11269 :>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; 3264 :>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; 67409 :>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; 6352 :>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; 319083:>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; 6855134:>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; 2420371:>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; 101219:>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; 2742919:>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; 8055115:>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; 4172040:>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; 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=0; 3:ECX=1; c=1; 723 :>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; 10545 :>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; 47679 :>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; 36 :>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; 9394 :>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; 4961 :>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; 32979 :>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; 65 :>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; 3943 :>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; 189152:>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; 54134 :>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; 1554 :>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; 52670 :>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; 315882:>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; 138959:>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; 5 :>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; 6413 :>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; 9426 :>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; 268217:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 9 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 19742 :>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; 617 :>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; 161310:>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; 52 :>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; 3649 :>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; 25891 :>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; 71839 :>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; 144 :>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; 10782 :>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; 2163 :>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; 41861 :>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; 29 :>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; 4805 :>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; 17223 :>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; 141126:>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; 164 :>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; 15206 :>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; 3671 :>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; 73522 :>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; 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=0; 3:ECX=1; c=1; 780 :>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; 48275 :>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; 18760 :>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; 3180 :>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; 7218 :>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; 28324 :>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; 18246 :>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; 172 :>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; 6097 :>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; 600498:>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; 317162:>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; 377 :>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; 25691 :>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; 11277 :>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; 81975 :>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; 171733:>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; 648202:>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; 34621133:>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; 5448553:>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; 784876:>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; 6004218:>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; 2094345:>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; 3940562:>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; 26 :>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; 333 :>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; 102919:>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; 13548 :>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; 166 :>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; 1251 :>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; 9571 :>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; 3261 :>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; 55 :>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; 297 :>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; 855393:>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; 5313 :>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; 707 :>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; 3893 :>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; 44450 :>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; 3570 :>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; 3223 :>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; 84697 :>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; 3290298:>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; 1958843:>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; 537 :>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; 69563 :>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; 3270 :>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; 281792:>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; 9839 :>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; 25529 :>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; 6474612:>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; 344313:>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; 4284 :>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; 53008 :>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; 7639 :>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; 98667 :>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; 1426 :>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; 17737 :>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; 1706545:>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; 274933:>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; 757 :>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; 7830 :>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; 5393 :>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; 21808 :>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; 726 :>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; 1967 :>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; 1599113:>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; 18183 :>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; 3547 :>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; 5129 :>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; 27680 :>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; 5872 :>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; 3622 :>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; 51027 :>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; 2376 :>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; 64699 :>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; 118668:>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; 159913:>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; 356572:>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; 1402192:>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; 4415 :>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; 47384 :>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; 32779 :>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; 766858:>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; 15996 :>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; 27642 :>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; 947049:>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; 4558649:>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; 27499 :>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; 3309028:>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; 3807 :>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; 1267550:>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; 22644 :>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; 117513:>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; 3352 :>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; 122918:>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; 81486 :>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; 13820682:>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; 109251:>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; 17171224:>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; 31022 :>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; 87829 :>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; 42760 :>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; 2019347:>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; 49752 :>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; 21151 :>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; 700 :>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; 4258 :>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; 116406:>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; 34541 :>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; 1595 :>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; 27077 :>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; 6588 :>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; 3204 :>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; 289 :>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; 1424 :>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; 9063 :>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; 131 :>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; 198 :>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; 86 :>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; 1381229:>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; 11759103:>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; 3456 :>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; 454691:>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; 329356:>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; 76187 :>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; 597 :>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; 16323 :>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; 791994:>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; 6305226:>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; 6975 :>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; 343252:>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; 289252:>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; 14167 :>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; 2605 :>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; 5601 :>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; 8063 :>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; 205607:>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; 3430 :>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; 114131:>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; 2899155:>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; 5136768:>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; 1236190:>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; 6389663:>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; 3254 :>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; 38283 :>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; 1338 :>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; 23502 :>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; 27390 :>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; 47582 :>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; 23081 :>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; 144320:>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; 10361 :>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; 4700404:>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; 3475 :>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; 2207482:>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; 37309 :>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; 279773:>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; 7503 :>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; 222889:>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; 14612 :>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; 2769065:>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; 3654 :>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; 1487713:>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; 13767 :>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; 33664 :>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; 2799 :>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; 31636 :>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; 51527 :>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; 237573:>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; 786 :>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; 45569 :>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; 2808924:>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; 4875490:>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; 43062 :>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; 2228277:>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; 6574 :>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; 9469 :>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; 164 :>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; 1052 :>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; 16097 :>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; 860 :>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; 201 :>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; 308 :>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; 526239:>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; 20089360:>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; 2082 :>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; 3102004:>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; 389237:>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; 595799:>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; 1714 :>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; 211389:>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; 262463:>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; 3932592:>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; 1813 :>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; 146246:>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; 68259 :>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; 12007 :>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; 821 :>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; 3862 :>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: 370580477, Negative: 29419523 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 82.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 10374 :>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; 37128 :>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; 1411968:>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; 10409580:>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; 1037 :>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; 81 :>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; 201 :>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; 2986 :>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; 1094376:>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; 11321290:>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; 260484:>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; 51962 :>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; 2005291:>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; 5292095:>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; 39158 :>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; 2468 :>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; 503 :>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; 2834 :>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; 3084372:>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; 10036790:>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; 659002:>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; 2181512:>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; 166423:>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; 1084484:>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; 1757 :>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; 328 :>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; 1 :>0:EAX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 2 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 17622 :>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; 29833 :>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; 29025539:>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; 12476414:>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; 9901315:>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; 4821064:>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; 71 :>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; 610573:>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; 31240 :>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; 3459 :>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; 824 :>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; 7159648:>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; 1856427:>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; 18915 :>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; 114771:>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; 4020886:>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; 13443416:>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; 3381 :>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; 40 :>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; 1158 :>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; 2603 :>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; 4625437:>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; 6766987:>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; 7500 :>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; 6260 :>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; 448688:>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; 369559:>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; 2458 :>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; 25 :>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; 357 :>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; 641 :>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; 634865:>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; 214980:>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; 8209985:>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; 12984923:>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; 1382391:>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; 5293510:>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; 24 :>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; 97036 :>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; 8841 :>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; 169 :>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; 32 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=1; 262838:>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; 205220:>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; 13139642:>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; 5571883:>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; 1954458:>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; 1627305:>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; 153 :>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; 206331:>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; 21003 :>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; 400 :>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; 37 :>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; 1138386:>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; 246397:>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; 1856 :>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; 806 :>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; 142809:>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; 512552:>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; 2833 :>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; 124 :>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; 3649625:>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; 11304650:>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; 260361:>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; 45632 :>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; 836499:>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; 1408736:>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; 179931:>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; 4912 :>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; 18823833:>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; 16133379:>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; 28713 :>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; 32602 :>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; 3804 :>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; 12942 :>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; 2035 :>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; 68 :>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; 7424 :>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; 4882 :>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; 1993290:>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; 610869:>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; 952394:>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; 440785:>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; 618613:>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; 9993 :>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; 17204598:>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; 1395156:>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; 20204 :>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; 3914 :>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; 1113969:>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; 367371:>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; 477910:>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; 174 :>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; 31260139:>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; 9354960:>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; 25993 :>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; 2512 :>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; 506947:>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; 79650 :>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; 757392:>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; 196 :>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; 26043460:>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; 520013:>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; 878190:>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; 324811:>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; 88234 :>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; 94394 :>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; 3793584:>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; 1883 :>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; 3594086:>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; 32196 :>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; 2408112:>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; 497198:>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; 587135:>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; 117525:>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; 10429897:>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; 5825 :>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; 31774396:>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; 84617 :>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: 361787290, Negative: 38212710 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 79.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 52632 :>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; 1423442:>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; 11547 :>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; 3389929:>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; 282076:>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; 683036:>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; 980226:>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; 42931628:>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; 768446:>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; 919655:>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; 11259 :>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; 550032:>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; 9557853:>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; 3080822:>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; 30765984:>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; 70459853:>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; 29448 :>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; 779376:>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; 279 :>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; 126122:>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; 6233 :>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; 4195 :>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; 497 :>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; 2724 :>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; 6957466:>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; 1841978:>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; 3916 :>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; 56420 :>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; 40592789:>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; 3042880:>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; 195819:>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; 287960:>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; 119712:>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; 21033020:>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; 4878 :>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; 50424853:>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; 26655 :>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; 173264:>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; 22566 :>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; 3108843:>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; 3252317:>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; 7426489:>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; 1672 :>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; 2660338:>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; 2099917:>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; 741809:>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; 240288:>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; 2135894:>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; 132726:>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; 59711589:>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; 365 :>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; 14030689:>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; 14158 :>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; 31968 :>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; 714 :>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; 57066 :>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; 54929673:>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; 19058569:>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; 3886 :>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; 1291744:>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; 33182333:>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; 3701539:>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; 47622 :>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; 536322:>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: 433426243, Negative: 66573757 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 87.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13798 :>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; 253668:>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; 92376 :>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; 2199895:>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; 12112 :>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; 58371 :>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; 328290:>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; 9250437:>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; 116170:>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; 49635 :>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; 103908:>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; 261082:>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; 415701:>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; 153507:>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; 2497265:>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; 14256703:>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; 57603 :>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; 1799992:>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; 453130:>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; 4012155:>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; 13311 :>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; 15546 :>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; 215873:>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; 2889457:>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; 6000716:>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; 1698661:>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; 2083474:>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; 919836:>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; 7687734:>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; 641090:>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; 8194754:>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; 7625761:>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; 29043 :>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; 1681944:>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; 80473 :>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; 5904826:>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; 8022 :>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; 154584:>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; 172339:>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; 1399345:>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; 135599:>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; 40491 :>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; 12233 :>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; 38678 :>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; 166066:>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; 31298 :>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; 207352:>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; 249922:>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; 370261:>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; 22259172:>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; 983043:>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; 43056630:>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; 17989 :>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; 113954:>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; 362677:>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; 4596093:>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; 29515758:>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; 5038712:>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; 7288733:>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; 2311057:>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; 9715041:>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; 549306:>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; 8337613:>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; 4011442:>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; 36897 :>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; 886574:>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; 6599 :>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; 1351404:>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; 934114:>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; 8397216:>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; 162943:>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; 26000376:>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; 130836:>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; 93349 :>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; 3827 :>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; 50488 :>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; 15994486:>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; 10766132:>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; 1178959:>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; 26120745:>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; 42167 :>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; 1140220:>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; 3983 :>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; 244132:>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; 56564 :>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; 235684:>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; 10889 :>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; 441110:>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; 6342363:>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; 852189:>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; 7344 :>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; 15997 :>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; 19253221:>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; 2128719:>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; 142604:>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; 702746:>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; 15915 :>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; 6246417:>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; 1645 :>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; 12008151:>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; 14651 :>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; 1005549:>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; 3053 :>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; 1703422:>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; 30630 :>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; 12185 :>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; 23 :>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; 558 :>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; 90759 :>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; 51456 :>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; 1151 :>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; 26184 :>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; 107386:>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; 12745489:>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; 4612 :>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; 4735179:>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; 14187 :>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; 421837:>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; 3998 :>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; 458623:>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; 7239153:>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; 1580458:>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; 6254 :>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; 14020 :>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; 3848619:>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; 507614:>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; 21375 :>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; 132863:>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: 361556887, Negative: 38443113 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 59.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (237 states) 12696 :>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; 93192 :>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; 578 :>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; 59849 :>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; 683673:>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; 2169649:>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; 83670 :>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; 6416612:>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; 182683:>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; 541826:>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; 351199:>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; 4233207:>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; 1648370:>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; 889232:>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; 5069085:>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; 25961764:>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; 12586 :>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; 475855:>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; 161 :>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; 132287:>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; 46263 :>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; 296660:>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; 1317 :>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; 130956:>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; 1595589:>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; 4447908:>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; 3226724:>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; 20052761:>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; 4333891:>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; 1603360:>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; 12148872:>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; 7028722:>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; 1038381:>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; 680776:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 203 :>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; 5099786:>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; 1029986:>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; 398 :>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; 39052 :>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; 352573:>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; 285916:>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; 45 :>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; 108 :>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; 2228865:>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; 105135:>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; 1274 :>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; 555 :>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; 11677533:>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; 8068334:>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; 10016 :>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; 5737056:>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; 555862:>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; 6 :>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; 1648 :>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; 12918154:>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; 4894836:>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; 1136 :>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; 7586 :>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; 22859631:>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; 644406:>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; 3917 :>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; 2914 :>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; 3694 :>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; 67288 :>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; 126 :>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; 21362 :>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; 3059930:>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; 18418457:>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; 65705 :>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; 7110654:>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; 5489 :>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; 61106 :>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; 276 :>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; 23398 :>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; 127976:>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; 331942:>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; 11244 :>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; 324434:>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; 2303 :>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; 255166:>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; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 114525:>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; 27379 :>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; 237309:>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; 64 :>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; 32007 :>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; 16877 :>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; 288129:>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; 985 :>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; 91386 :>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; 73971 :>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; 91926 :>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; 4253 :>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; 28165 :>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; 582306:>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; 475674:>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; 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=1; c=1; 2609 :>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; 29799780:>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; 25511611:>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; 1770 :>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; 333520:>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; 75978 :>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; 82663 :>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; 1 :>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; c=1; 48 :>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; 846324:>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; 45265 :>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; 80 :>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; 290 :>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; 3098120:>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; 4721043:>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; 24396 :>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; 7198496:>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; 1042558:>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; 3 :>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; 6386 :>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; 1469931:>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; 1256273:>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; 5015 :>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; 1833325:>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; 86958 :>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; 60 :>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; 1380 :>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; 166 :>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; 68682 :>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; 9 :>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; 49789 :>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; 2040 :>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; 81655 :>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; 335 :>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; 295606:>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; 741 :>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; 82280 :>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; 1334 :>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; 725170:>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; 936 :>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; 1834 :>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; 1635 :>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; 328195:>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; 1296 :>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; 3348981:>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; 11 :>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; 865404:>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=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; 56967 :>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; 12 :>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; 23776 :>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; 55998 :>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; 17539282:>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; 10199 :>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; 9220190:>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; 26201 :>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; 33255 :>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; 3568 :>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; 131142:>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; 257 :>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; 103241:>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; 21619 :>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; 2029 :>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; 6685 :>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; 566 :>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; 57 :>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; 63587 :>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; 16121 :>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; 760 :>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; 47 :>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; 10744 :>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; 11030770:>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; 85019 :>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; 9909 :>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; 24535 :>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; 553 :>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; 57813 :>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; 6092793:>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; 83985 :>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; 36300 :>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; 2724 :>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; 138 :>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; 840 :>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; 286348:>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; 64622 :>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; 226611:>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; 6148368:>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; 357 :>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; 2545118:>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; 789 :>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; 86453 :>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; 5 :>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; 23750 :>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; 4745 :>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; 11255 :>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; 83 :>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; 29412 :>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; 1918 :>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; 5332498:>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; 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=1; c=2; 1397791:>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; 3395 :>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; 301237:>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; 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; c=2; 96498 :>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; 8640 :>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; 3146000:>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; 150 :>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; 762131:>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; 18497 :>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; 25094 :>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; 399 :>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; 9406 :>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; 5178 :>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; 418375:>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; 21055 :>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; 586283:>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; 7415740:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 156284:>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; 331 :>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; 76507 :>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; 8418 :>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; 5049 :>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; 725 :>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; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 24455 :>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; 23962999:>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; 277391:>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; 49239 :>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; 524388:>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; 10754 :>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; 16438 :>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; 3651606:>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; 32987 :>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; 34844 :>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; 3604 :>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; 200 :>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: 387331751, Negative: 12668249 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 76.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (92 states) 108288:>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; 39071 :>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; 5997044:>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; 22074102:>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; 5112046:>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; 767295:>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; 15972584:>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; 21603434:>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; 127892:>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; 98946 :>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; 3333 :>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; 3515 :>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; 28210887:>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; 1991679:>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; 14690336:>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; 2718535:>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; 967045:>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; 209944:>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; 13493633:>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; 17529409:>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; 1332911:>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; 40723 :>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; 4269957:>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; 575889:>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; 3960754:>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; 1325928:>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; 316939:>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; 28860 :>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; 12520489:>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; 1005314:>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; 3736964:>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; 49389 :>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; 109574:>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; 243572:>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; 634847:>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; 4686263:>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; 1121728:>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; 854964:>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; 93930 :>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; 663715:>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; 779586:>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; 3061701:>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; 1851 :>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; 24601 :>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; 31034467:>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; 10426337:>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; 109994:>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; 128300:>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; 477261:>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; 626862:>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; 1383513:>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; 9076784:>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; 553202:>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; 331796:>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; 84581 :>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; 103630:>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; 6285656:>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; 19269462:>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; 9409 :>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; 87920 :>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; 11584719:>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; 6546650:>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; 52724 :>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; 36448 :>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; 13323 :>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; 161 :>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; 1461090:>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; 861067:>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; 664270:>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; 3449 :>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; 5026245:>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; 291730:>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; 273 :>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; 230 :>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; 1452909:>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; 23 :>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; 2779439:>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; 39 :>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; 3268947:>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; 183 :>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; 29153052:>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; 4515006:>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; 7044187:>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; 38 :>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; 21063680:>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; 105847:>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; 1288186:>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; 918044:>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; 11306205:>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; 1 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 17413178:>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; 16 :>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: 365540966, Negative: 34459034 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 77.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2811257:>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; 7888502:>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; 303720:>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; 14534390:>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; 4950373:>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; 2514629:>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; 2319066:>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; 11971800:>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; 7875825:>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; 1420708:>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; 47688 :>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; 538339:>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; 52001456:>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; 4243434:>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; 9657451:>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; 12926874:>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; 2144825:>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; 33403469:>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; 139429:>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; 44692304:>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; 642725:>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; 571812:>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; 315043:>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; 2759809:>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; 18366451:>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; 2312002:>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; 1518 :>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; 27532 :>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; 8814425:>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; 618835:>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; 125051:>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; 352420:>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; 49866 :>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; 3764 :>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; 48423 :>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; 80697 :>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; 959270:>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; 3394 :>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; 662974:>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; 554569:>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; 292267:>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; 13185 :>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; 21680 :>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; 50362 :>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; 11721212:>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; 17445 :>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; 2640147:>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; 1230215:>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; 380493:>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; 3688307:>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; 61312 :>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; 3344617:>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; 761310:>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; 99977 :>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; 665361:>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; 1442868:>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; 2740937:>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; 409250:>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; 5000 :>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; 52043 :>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; 7428337:>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; 170394:>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; 733342:>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; 640802:>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; 3170 :>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; 19386 :>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; 178270:>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; 4047467:>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; 116682:>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; 32595 :>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; 3525998:>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; 5599570:>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; 56810 :>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; 3783 :>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; 1953044:>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; 1250785:>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; 218 :>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; 4980 :>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; 41778 :>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; 3192068:>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; 2405 :>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; 2998 :>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; 853642:>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; 1150307:>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; 749 :>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; 248 :>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; 47541 :>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; 36893 :>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; 236 :>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; 82 :>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; 79457 :>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; 127334:>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; 15978 :>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; 1489 :>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; 12199006:>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; 8500498:>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; 52428 :>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; 1251 :>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; 23186162:>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; 7051558:>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; 1320 :>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; 19361 :>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; 47329 :>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; 3097491:>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; 17416 :>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; 5900 :>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; 7178029:>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; 16760183:>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; 20181 :>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; 2352 :>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; 4904300:>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; 2342290:>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: 357706343, Negative: 42293657 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 76.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (256 states) 925346:>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; 5309102:>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; 11134820:>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; 24551230:>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; 16703 :>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; 118259:>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; 18279491:>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; 8583700:>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; 195567:>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; 66672 :>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; 66066 :>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; 1237 :>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; 38210 :>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; 3678 :>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; 73435 :>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; 4429 :>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; 2063378:>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; 11056817:>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; 115868:>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; 291108:>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; 10417 :>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; 86703 :>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; 66125 :>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; 53348 :>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; 605754:>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; 461673:>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; 19255 :>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; 524 :>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; 27609 :>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; 17750 :>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; 17107 :>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; 3631 :>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; 26965 :>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; 966611:>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; 14806 :>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; 2665630:>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; 3228 :>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; 230223:>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; 33858 :>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; 4606822:>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; 686 :>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; 131774:>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; 92 :>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; 69142 :>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; 212 :>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; 252404:>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; 631 :>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; 227264:>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; 577883:>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; 8525355:>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; 11653 :>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; 94103 :>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; 8849 :>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; 424052:>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; 26917 :>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; 162899:>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; 15510 :>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; 316673:>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; 133 :>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; 31802 :>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; 1052 :>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; 154087:>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; 248 :>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; 63054 :>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; 676501:>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; 761691:>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; 681331:>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; 240445:>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; 60322 :>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; 193325:>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; 1992193:>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; 503518:>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; 7688184:>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; 611472:>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; 3555279:>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; 7042 :>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; 10193975:>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; 221521:>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; 29396836:>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; 86943 :>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; 3410772:>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; 9216244:>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; 104172:>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; 130760:>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; 21058 :>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; 126657:>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; 118186:>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; 73550 :>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; 37430960:>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; 19763091:>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; 1222225:>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; 8548 :>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; 8789747:>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; 1052133:>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; 2847670:>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; 61714 :>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; 4000 :>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; 18023 :>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; 157 :>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; 11128 :>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; 2586 :>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; 148753:>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; 3645 :>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; 308301:>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; 3895 :>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; 26435 :>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; 1242 :>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; 4698 :>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; 24413 :>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; 1070713:>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; 39281 :>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; 358538:>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; 72764 :>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; 367080:>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; 1240 :>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; 8466 :>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; 2055 :>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; 132754:>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; 4116 :>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; 89225 :>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; 1266759:>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; 7922474:>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; 10871 :>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; 30847 :>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; 121352:>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; 1764460:>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; 46156 :>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; 374652:>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; 609 :>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; 6714 :>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; 36967 :>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; 1099911:>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; 1609 :>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; 97627 :>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; 2734332:>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; 6888570:>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; 2554 :>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; 194 :>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; 1850 :>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; 109 :>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; 22701 :>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; 9548 :>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; 65770 :>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; 9282 :>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; 27 :>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; 581 :>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; 47 :>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; 1286 :>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; 274 :>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; 42653 :>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; 1164 :>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; 39345 :>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; 740 :>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; 46 :>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; 96 :>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; 8 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 6126 :>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; 10729 :>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; 5845 :>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; 2922 :>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; 180 :>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; 30947 :>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; 2730 :>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; 699375:>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; 1496 :>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; 1905921:>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; 186573:>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; 25743213:>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; 31 :>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; 52853 :>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; 3 :>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; 24885 :>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; 195 :>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; 184798:>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; 499 :>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; 396704:>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; 92 :>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; 22778 :>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; 53 :>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; 7460 :>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; 1663 :>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; 4034084:>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; 6607 :>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; 1941373:>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; 14 :>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; 5592 :>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=2; 2428 :>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; 368 :>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; 285993:>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; 162 :>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; 56854 :>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; 1210 :>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; 7734 :>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; 6762 :>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; 56518 :>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; 8298 :>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; 92602 :>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; 427024:>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; 685595:>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; 295072:>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; 9528 :>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; 72172 :>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; 2122 :>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; 10416353:>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; 650718:>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; 9395954:>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; 452798:>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; 41 :>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; 984 :>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; 77 :>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; 2057 :>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; 513 :>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; 44767 :>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; 4228 :>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; 39499 :>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; 60797 :>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; 6865 :>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; 6573 :>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; 618 :>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; 1522273:>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; 611871:>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; 764543:>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; 108047:>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; 109 :>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; 18475 :>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; 117 :>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; 18096 :>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; 2227 :>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; 2410840:>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; 33972 :>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; 11200937:>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; 197 :>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; 43419 :>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; 15 :>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; 4347 :>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; 13932 :>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; 13061539:>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; 48680 :>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; 7372061:>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; 69 :>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; 21781 :>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; 18 :>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; 3959 :>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; 1856 :>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; 2241429:>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; 6747 :>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; 1675690:>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; 877 :>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; 144209:>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; 81 :>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; 16522 :>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; 33954 :>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; 25939669:>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; 12891 :>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; 3832136:>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: 394418535, Negative: 5581465 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 91.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (56 states) 13043359:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2543 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 23356050:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 22980910:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2339 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 22010027:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 37773505:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 6672 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 18893718:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 12788977:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 26 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 440814:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2829174:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 21636955:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 444204:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 13082993:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 2088654:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 9083346:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 248501:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 988511:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 1646249:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 15651 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 10254430:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 44246 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 32968424:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 36347 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 22060945:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 2855 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 147630:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 35 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 359540:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 4285610:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1227 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 7825245:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 2430641:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 320 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1825032:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 2755495:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 218 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 690014:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 124335:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 13063072:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 573427:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 40027648:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 1260823:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 39206097:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 650476:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 9247312:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 2424 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 57 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1123599:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 19202 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 2007873:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 1489 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 3637337:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 3397 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; No Witnesses Positive: 391630295, Negative: 8369705 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 75.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (154 states) 115 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 77 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 5347 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 24 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 30 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 81 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 6545 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1941 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 5523751:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 92918 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 19664668:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 9503 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 18693 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 41 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 7637932:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1899 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 16597564:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 165 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2519 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1091 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2946 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 9 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 5 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 447 :>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; 131 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 261832:>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4575325:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 48918 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 3815043:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 14525 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 40 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 152 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 204316:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 12672 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 11 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 2724 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1158 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 6983571:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 20620873:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 180 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 3090 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 497668:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2766890:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 3981 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 17637 :>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; 11 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 48 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 14286529:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 28830298:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 347 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 21 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 12393 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 4021 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 168 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 772930:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 55097 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 19087931:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2734 :>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; 17087 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1732196:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1229 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 17851354:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 124895:>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2408059:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 54084 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 7038502:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 16560 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 784 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 103 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 308500:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 226 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 161038:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 175565:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 15082740:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 20 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 1694 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 28206 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2155683:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 5342975:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 28569126:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 338 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 76 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 9573 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 27313 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 19 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 660 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 5054 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 9209 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 354202:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 111 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 885677:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 83 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 64020770:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 795 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 18585085:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 77 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 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=1; b=1; d=1; x=2; 17072 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 401 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 207 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 135829:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 65 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 25546 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 5707027:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 75815 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 128 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 15 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 521 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 43329 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 196274:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 137508:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 1125425:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 6 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 21 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 75 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 67 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 32977 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 10717 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 81439 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 5812 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 104006:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 116 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 1251337:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 31519757:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 525 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 31019420:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 117 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 132932:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 129 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 198174:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 8858997:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 122 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 952387:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 5441 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 152553:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 15250 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 648484:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 23765 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 19512 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 60350 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 18955 :>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: 396206757, Negative: 3793243 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 78.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (220 states) 14233 :>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; 3 :>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; 22265 :>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; 22 :>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; 32 :>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; 170831:>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; 15767541:>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; 9321 :>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; 5088 :>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; 18434637:>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; 1848 :>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; 1725 :>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; 5 :>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; 68 :>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; 740 :>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; 30247142:>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; 14826358:>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; 1 :>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; 82909 :>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; 2399 :>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; 5676348:>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; 33 :>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; 4968 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=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=1; z=1; 206 :>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; 4329 :>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; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 8834 :>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; 5639 :>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; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 2 :>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; 210 :>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; 50190 :>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; 7760472:>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; 1005 :>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; 1612 :>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; 5086760:>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; 6047 :>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; 2445 :>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; 10 :>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; 9 :>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; 293 :>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; 25845404:>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; 9121496:>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; 6 :>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; 97419 :>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; 114 :>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; 932537:>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; 152832:>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; 181474:>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; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=1; 31600 :>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; 68 :>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; 359260:>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; 15896197:>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; 2693150:>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; 73 :>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; 506788:>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; 1929 :>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; 2809788:>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; 31 :>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; 17 :>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=2; x=1; z=1; 51 :>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; 774 :>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; 293 :>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; 6 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 4 :>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; 58 :>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; 16573 :>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; 478368:>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; 9249 :>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; 168 :>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; 634767:>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; 5816853:>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; 649746:>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; 230 :>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; 200695:>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; 249 :>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; 451166:>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; 1411 :>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; 21795 :>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; 2 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 432 :>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; 112382:>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; 2671165:>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; 14135 :>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; 31303362:>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; 144 :>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; 204 :>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; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 2077 :>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; 1534627:>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; 1221575:>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; 34140 :>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; 4363813:>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; 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=1; x=2; z=1; 176 :>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; 22 :>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; 7862 :>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; 104 :>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; 54 :>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; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 72 :>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; 689 :>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; 8620 :>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; 732721:>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; 19406 :>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; 9389475:>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; 180 :>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; 105 :>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; 18 :>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; 492 :>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; 1223519:>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; 409563:>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; 167813:>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; 1457625:>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; 191310:>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; 167627:>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; 175840:>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; 11211433:>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; 1291899:>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; 473734:>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; 574840:>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; 14482003:>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; 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=2; x=2; z=1; 85 :>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; 312 :>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; 15799 :>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; 48 :>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; 39 :>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; 302 :>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; 1965 :>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; 36890 :>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; 693770:>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; 1518213:>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; 42592979:>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; 1534481:>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; 271192:>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; 14303891:>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; 29693785:>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; 6148 :>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; 6236984:>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; 8 :>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=2; 1879 :>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; 6510930:>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; 329802:>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; 142970:>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; 96 :>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; 8252 :>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; 38641 :>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; 9421310:>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; 100 :>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; 2448 :>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; 6154557:>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; 27 :>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; 6 :>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=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; 5915628:>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; 1685857:>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; 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=1; x=1; z=2; 12829 :>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; 54 :>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; 114043:>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; 32 :>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; 1104 :>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; 9 :>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; 778 :>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; 6764 :>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; 246 :>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; 69 :>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; 52 :>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; 272 :>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; 1541 :>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; 76 :>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; 1 :>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; 1090 :>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; 551013:>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; 17322 :>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; 15 :>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; 10565 :>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; 38 :>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; 5595 :>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; 100 :>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; 374336:>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; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 6819044:>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; 2811 :>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; 958 :>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; 52 :>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=2; 3652 :>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; 44 :>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; 1355 :>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; 405461:>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; 4131 :>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; 10970312:>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=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 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; 41 :>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; 125107:>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; 16137 :>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; 24551 :>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; 115961:>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; 24 :>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; 129 :>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; 82 :>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; 6415 :>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; 1793 :>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; 36 :>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; 365 :>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; 473 :>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; 763 :>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; 1954 :>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; 166945:>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; 2217467:>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; 140431:>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; 2763 :>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; 1410659:>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; 988231:>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: 382288942, Negative: 17711058 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 93.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 5671 :>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; 18940 :>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; 385531:>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; 69209 :>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; 5475 :>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; 18100 :>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; 2028308:>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; 313410:>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; 1677619:>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; 50259333:>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; 42472126:>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; 68981025:>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; 23578 :>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; 487005:>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; 12984092:>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; 4621313:>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; 3265 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; z=1; 144 :>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; 8471 :>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; 467789:>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; 229793:>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; 240088:>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; 350 :>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; 88441 :>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; 45895 :>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; 133353:>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; 19385 :>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; 2106985:>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; 4938888:>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; 1657584:>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; 271 :>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; 113135:>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; 7140 :>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; 6166 :>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; 73890 :>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; 9655045:>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; 2949446:>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; 2374495:>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; 226 :>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; 48529 :>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; 50782 :>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; 75328 :>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; 29716 :>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; 3491088:>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; 9647261:>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; 3170310:>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; 13353 :>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; 189282:>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; 1037679:>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; 309194:>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; 26450 :>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; 200790:>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; 30114545:>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; 2112473:>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; 350 :>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; 144 :>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; 50 :>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; 3223 :>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; 217240:>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; 432394:>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; 123270:>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; 502 :>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; 47950 :>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; 461055:>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; 208993:>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; 32114 :>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; 1748778:>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; 34328076:>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; 3187058:>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; 1870 :>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; 294576:>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; 12407 :>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; 18765 :>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; 191 :>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; 63284 :>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; 23261 :>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; 9104 :>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; 1827 :>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; 2183743:>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; 821 :>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; 4833 :>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; 35229 :>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; 18014353:>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; 412311:>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; 422146:>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; 107283:>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; 62635695:>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; 842897:>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; 559894:>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; 42967 :>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; 30698563:>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; 4022201:>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; 1727068:>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; 1194 :>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; 142419:>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; 35969 :>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; 17418 :>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; 1057 :>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; 122360:>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; 337884:>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; 49405 :>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; 18182 :>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; 3771102:>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; 819822:>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; 332757:>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; 68235 :>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; 29636240:>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; 35197293:>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; 6534403:>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: 481631756, Negative: 18368244 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 105.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (288 states) 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 408 :>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; 8 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 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=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 5 :>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; 169 :>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; 276 :>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; 931 :>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; 1296 :>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; 66270 :>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; 3962 :>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; 1104 :>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; 14847 :>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; 129821:>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; 551 :>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; 306 :>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; 483 :>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; 5397 :>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; 104976:>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; 23223 :>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; 1525 :>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; 7774 :>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; 1545 :>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; 17358 :>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; 2019 :>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; 18375 :>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; 166598:>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; 63974 :>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; 15694 :>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; 46331 :>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; 1225 :>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; 56624 :>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; 789 :>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; 128765:>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; 519 :>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; 845 :>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; 301 :>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; 2904 :>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; 1056399:>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; 9845897:>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; 208462:>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; 25256355:>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; 18816032:>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; 12595595:>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; 1390898:>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; 30144045:>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; 17845 :>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; 141542:>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; 6841 :>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; 249877:>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; 3042278:>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; 338998:>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; 25145 :>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; 110962:>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; 92882 :>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; 1042029:>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; 35733 :>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; 858244:>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; 25554004:>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; 2876718:>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; 363603:>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; 1016245:>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; 402 :>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; 3256 :>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; 336 :>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; 13221 :>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; 112 :>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; 79 :>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; 52 :>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; 567 :>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; 923 :>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; 31171 :>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; 403 :>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; 24511 :>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; 11888 :>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; 2376 :>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; 810 :>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; 5776 :>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; 13203 :>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; 104641:>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; 6116 :>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; 298392:>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; 2711019:>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; 260821:>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; 35672 :>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; 69946 :>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; 1533 :>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; 60365 :>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; 365 :>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; 25498 :>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; 394236:>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; 68551 :>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; 6240 :>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; 18795 :>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; 2360 :>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; 382038:>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; 2519 :>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; 600470:>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; 247 :>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; 746 :>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; 89 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=1; 656 :>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; 12120 :>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; 1479386:>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; 3579 :>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; 2248867:>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; 125532:>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; 74977 :>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; 8523 :>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; 43194 :>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; 28872 :>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; 1143021:>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; 17488 :>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; 1182992:>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; 3729815:>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; 821163:>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; 115523:>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; 122780:>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; 13678 :>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; 851815:>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; 4550 :>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; 728708:>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; 2332777:>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; 617726:>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; 61897 :>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; 145478:>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; 175 :>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; 112 :>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; 11262 :>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; 77216 :>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; 108 :>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; 46 :>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; 5131 :>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; 31781 :>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; 12236 :>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; 40080 :>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; 491478:>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; 8036280:>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; 285337:>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; 28484 :>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; 2130920:>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; 10594142:>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; 8750 :>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; 2510 :>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; 177728:>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; 783563:>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; 786495:>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; 109999:>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; 799467:>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; 1065521:>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; 40566 :>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; 137597:>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; 857187:>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; 3517135:>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; 4027457:>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; 674527:>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; 5978766:>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; 5029457:>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; 1061 :>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; 4319 :>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; 71912 :>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; 231973:>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; 134 :>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; 24 :>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; 3044 :>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; 12184 :>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; 8970 :>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; 212723:>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; 123415:>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; 1271311:>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; 188316:>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; 18085 :>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; 282404:>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; 228594:>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; 40432 :>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; 162228:>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; 861763:>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; 5632364:>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; 7373179:>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; 451407:>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; 5626696:>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; 2278318:>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; 30116 :>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; 216352:>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; 395333:>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; 5851993:>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; 7238724:>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; 407600:>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; 4810913:>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; 2139288:>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; 32 :>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; 104 :>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; 19 :>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; 659 :>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; 31 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=2; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=2; 10 :>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; 82 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=2; 398 :>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; 15635 :>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; 47 :>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; 3165 :>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; 34896 :>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; 20539 :>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; 181 :>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; 351 :>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; 8331 :>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; 274685:>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; 1924 :>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; 597822:>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; 57101 :>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; 38662 :>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; 3000 :>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; 38514 :>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; 16580 :>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; 902430:>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; 1684 :>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; 359549:>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; 4151152:>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; 418287:>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; 13571 :>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; 20681 :>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; 323 :>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; 24466 :>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; 39 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 69163 :>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; 177 :>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; 31 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 87 :>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; 28942 :>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; 1954981:>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; 1746 :>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; 1014281:>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; 1978132:>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; 401114:>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; 7253 :>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; 10806 :>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; 14246 :>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; 5582258:>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; 3623 :>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; 12654234:>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; 20971 :>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; 9274 :>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; 254 :>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; 1149 :>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; 114293:>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; 16812622:>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; 9479 :>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; 8944985:>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; 6147240:>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; 1524844:>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; 32703 :>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; 39908 :>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; 3456 :>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; 35715 :>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; 29884 :>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; 694752:>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; 51949 :>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; 8989 :>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; 47955 :>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; 95309 :>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; 16487 :>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; 828345:>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; 163211:>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; 2193847:>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; 2384700:>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; 322741:>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; 685963:>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; 160001:>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; 7869 :>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; 238442:>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; 68004 :>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; 1972208:>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; 55801 :>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; 9160 :>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; 18207 :>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; 10281 :>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; 242464:>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; 11409201:>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; 1340382:>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; 35805542:>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; 19113354:>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; 2169083:>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; 5619336:>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; 848196:>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: 377013352, Negative: 22986648 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 78.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (375 states) 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 16 :>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; 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=1; z=1; 330 :>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; 2388 :>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; 71 :>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; 4856 :>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; 99 :>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; 1 :>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; 19 :>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; 8 :>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; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>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; 8 :>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; 98 :>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; 16 :>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; 328 :>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; 19843 :>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; 55609 :>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; 802934:>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; 14145 :>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; 364312:>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; 849151:>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; 2179949:>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; 353056:>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; 4124578:>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; 33 :>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; 1114 :>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; 1 :>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; 229 :>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; 206 :>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; 460 :>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; 26 :>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; 958 :>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; 217687:>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; 2724983:>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; 34601 :>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; 1091222:>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; 951518:>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; 681961:>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; 202452:>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; 816288:>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; 1 :>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; 574 :>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; 616 :>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; 5035 :>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; 1476 :>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=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; 15 :>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; 4 :>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; 4 :>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; 2 :>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; 20 :>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; 6 :>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; 4931 :>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; 6409 :>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; 35 :>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; 4776 :>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; 975 :>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; 55 :>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; 46 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 181 :>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; 28 :>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; 741655:>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; 714774:>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; 4 :>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; 266 :>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; 7232404:>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; 1398141:>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; 283 :>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; 21052 :>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; 3807 :>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; 1727 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 4720 :>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; 301 :>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; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 10236398:>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; 7267081:>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; 20 :>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; 9370 :>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; 8363146:>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; 431270:>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; 144 :>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; 2069 :>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; 100 :>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; 61 :>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; 3 :>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; 291 :>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; 983 :>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; 1196 :>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; 517 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 70 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 72 :>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; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 40 :>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; 2143 :>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; 2605 :>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; 895303:>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; 141 :>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; 200063:>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; 17948 :>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; 314246:>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; 304 :>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; 202328:>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; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 6894 :>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; 1225 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 163 :>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; 25301 :>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; 21156769:>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; 997 :>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; 3985751:>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; 24315 :>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; 36424 :>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; 1016 :>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; 36484 :>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; 610 :>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; 42 :>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; 6 :>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; 145 :>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; 23 :>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; 7 :>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; 1 :>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; 10 :>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; 15151 :>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; 176 :>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; 9 :>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; 43 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 4278 :>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; 472600:>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; 36717 :>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; 71455 :>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; 285531:>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; 604 :>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; 3 :>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; 2333 :>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; 93 :>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; 3 :>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=1; 52662 :>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; 12266802:>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; 97824 :>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; 48047 :>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; 7597 :>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; 292 :>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; 3 :>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; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=2; 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=1; e=2; z=1; 62 :>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; 4 :>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 3 :>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; 160074:>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; 485301:>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; 487613:>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; 4666219:>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; 844054:>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; 560152:>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; 5623165:>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; 26006183:>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; 513738:>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; 1729798:>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; 2221488:>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; 20884126:>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; 1206990:>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; 259880:>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; 12712586:>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; 6230349:>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; 26 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 45 :>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; 76 :>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; 23 :>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; 761 :>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; 804 :>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; 110 :>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; 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=2; z=1; 1054286:>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; 480874:>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; 41 :>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; 140 :>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; 7871952:>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; 385518:>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; 554 :>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; 5670 :>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; 9806882:>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; 3897194:>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; 320 :>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; 8076 :>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; 10497801:>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; 253980:>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; 1476 :>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; 1510 :>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; 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=2; z=1; 5 :>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; 10 :>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; 35 :>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; 42 :>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; 1407 :>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; 237842:>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; 1578 :>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; 794076:>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; 801 :>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; 4837 :>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; 1802 :>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; 255547:>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; 10950 :>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; 5213215:>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; 7831 :>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; 7981309:>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; 1290 :>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; 1244 :>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; 2081 :>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; 123139:>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; 28 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 793 :>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; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 1975 :>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; 87893 :>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; 13354 :>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; 8550 :>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; 1846 :>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; 80 :>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; 16894 :>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; 2787059:>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; 46126 :>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; 7205 :>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; 659 :>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; 61 :>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; 21 :>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; 26 :>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; 33 :>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; 3837 :>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; 62965 :>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; 7 :>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; 4353 :>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; 3637241:>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; 23010329:>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; 52636 :>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; 7235208:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 27 :>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; 10 :>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; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 14 :>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; 17 :>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; 2254 :>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; 227506:>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; 2 :>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; 29341 :>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; 6869 :>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; 66523 :>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; 19 :>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; 11663 :>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; 48 :>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=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; 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; 1641640:>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; 1348059:>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; 1143 :>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; 41419399:>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; 24835444:>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; 1354 :>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; 172380:>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; 289 :>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; 326 :>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; 4 :>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; 1992 :>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; 436 :>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; 5397272:>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; 5587677:>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; 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=2; 14899 :>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; 3065881:>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; 357949:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1907 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 422 :>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; 284774:>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; 2 :>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; 51478 :>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; 202833:>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; 5627022:>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; 393 :>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; 2362143:>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; 179 :>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; 82 :>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; 6 :>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; 99 :>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; 526 :>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; 4211309:>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; 1 :>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=2; 832902:>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; 388 :>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; 46967 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 22218 :>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; 5090 :>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; 1118515:>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; 29585 :>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; 549617:>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; 7952198:>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; 1 :>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; 118904:>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; 705 :>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; 20 :>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; 11 :>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; 12822 :>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; 26389009:>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; 243341:>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; 11606 :>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; 98518 :>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; 2176 :>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; 263 :>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; 1860 :>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; 136 :>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; 16046 :>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; 17786 :>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; 936 :>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; 54204 :>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; 405 :>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; 23208 :>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; 623 :>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; 322 :>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; 804 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 1027 :>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; 81466 :>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; 72637 :>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; 38 :>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; 552441:>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; 36670 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 5 :>0:EAX=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; 809 :>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; 582174:>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; 558469:>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; 611 :>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; 106125:>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; 17041 :>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; 40 :>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=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; 4521 :>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; 1660 :>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; 43 :>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; 253 :>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; 6 :>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; 6531 :>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; 9 :>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; 89081 :>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; 20732 :>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; 1 :>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; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 223 :>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; 39537 :>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; 3153 :>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; 174 :>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; 68 :>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; 110 :>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; 83 :>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; 627289:>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; 7599 :>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; 31 :>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; 19 :>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; 17 :>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: 381374735, Negative: 18625265 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 91.62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (146 states) 3 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 56615 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 36 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3397225:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 46484779:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1000 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1270 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 10765472:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 5562795:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 219 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 11382 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1274 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 39 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 371069:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 17093896:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 227 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 125 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 3167864:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 286896:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 19 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 5701 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 60 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 8 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 2552991:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 4310066:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2742 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 37768150:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 230619:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 504 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1573 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 7 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 14003 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 75 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1080873:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 2816229:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 3520 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 29600787:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 97072 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 2984259:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 5542595:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 14111325:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 5343007:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 131 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 1017 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 325 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 67 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 663712:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 5419476:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 6302822:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1938607:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 115118:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 1628 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 9885378:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 1577 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 11 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 747 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 13837 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 67098 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 3650784:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 27619 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 8961 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 259 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 105438:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 5972227:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 189 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 22230 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 183611:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 41 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1805 :>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=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 669 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 336475:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1537810:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 28 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 127 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 6637 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 12728 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1039801:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 6725459:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 3130338:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 10605317:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1661 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 10775 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 867 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1019 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 11772531:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 35866164:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 18862644:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 18692120:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 12842 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 14719966:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 16649 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 3635 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 11 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 204141:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 22006129:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 58 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 476504:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 4982 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 79095 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 3004545:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 543909:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1651 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 585252:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 6122519:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 6208827:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 16824 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1113 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 41324 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 7083 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 503 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 54547 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 75440 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 575767:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 3175 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 17 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 10100 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 454 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 589 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 366261:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 26 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 472 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 1633575:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 163 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 57026 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 2091336:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 6 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 25 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 713 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 22025 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 62 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 100 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 996584:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 2692278:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 614553:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 90828 :>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: 373392405, Negative: 26607595 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 89.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (218 states) 314 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 234 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 50973 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 137394:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 5670 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 15638 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 29581 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 65061 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 166533:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 4433 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 31919843:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 51882909:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 328721:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 337553:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1089321:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3559858:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 13378 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 969 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 43707 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 5721 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 386794:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 249080:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 65468 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 38618 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 771776:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1007 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3451397:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 59340 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1688187:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 369274:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1048239:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 269610:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 24 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 3566 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 4004 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 2823 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 28622 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 487 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 4868374:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 3632101:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 78073 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 485523:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 641219:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 2019014:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 28920 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 309451:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 3703 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 10197 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 141241:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 607 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 688995:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 104847:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 624416:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1301674:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 458881:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 969036:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 66277 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 48262 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 7263797:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 14185019:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 873050:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1662014:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 3520592:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 9141502:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 221872:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 18945 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1427161:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 513051:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 6004574:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 7836889:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 5968596:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 7868335:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 146 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 98 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 87 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 1588 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 35478 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 20629 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 67 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 38 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 29757 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 49502 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 7716 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 66028 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 252 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 32862 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 293 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 101113:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 1154 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 299921:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 15378 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 3799168:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2184 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 471972:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 18222 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2317416:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1613 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 118443:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 15 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 6232 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 1304 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 52040 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 221 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 13324 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 78 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 179838:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 87 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 299493:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 25889 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3452838:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 4320 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 4161074:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 21350 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 24295322:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3429 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 2742314:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 19 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 147706:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 9660 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 4704144:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 2219 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 2259314:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 53765 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 2503381:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 57744 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 849791:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 341369:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 5215726:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 95783 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1524217:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 18413 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 486270:>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; 18574 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 173 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 855910:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2889 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 4794637:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 1179 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 4662912:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 305 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 3569758:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 537 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 77 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 16622 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 1253 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=2; 762757:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 62255 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 646343:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 169583:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 97850 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 112 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2057013:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 34240 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 17386333:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1690 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 12798667:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 127635:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2283 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=2; 720 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=2; 122788:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 41620 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 772735:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 428613:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 783936:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 306021:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 3282835:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 17714 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 14322310:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1385346:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 607300:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 147463:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 2218646:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 637075:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 1739942:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 20981 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 37843747:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 5833104:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1290 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 939 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 389065:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 44612 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 5737 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 479 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 5491780:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 510426:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 11 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=2; 21557 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=2; 34 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 12315 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 758 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 262805:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 127 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 44917 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 532 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 29550 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 14 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=2; 118410:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=2; 98 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 25809 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 6949 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 4509821:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 4765 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 1901395:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 38388 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 6076047:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 381 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 20429 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 44906 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 502314:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 128947:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 1390883:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 18541 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 3282 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 2869649:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 22578 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; 14912826:>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: 383567963, Negative: 16432037 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 90.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (396 states) 1933 :>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; 3954 :>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; 4 :>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; 15 :>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; 1776 :>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; 5354 :>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; 1678174:>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; 3714241:>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; 231 :>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; 558 :>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; 764654:>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; 751855:>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; 72 :>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; 34 :>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; 33 :>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; 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; 7 :>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; 157811:>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; 27019 :>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; 46 :>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; 3 :>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; 41449 :>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; 5250 :>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; 28 :>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; 3222 :>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; 278 :>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; 15 :>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; 2023 :>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; 48351 :>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; 1014347:>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; 441 :>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; 23514 :>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; 962635:>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; 227 :>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; 130 :>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; 6 :>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; 1968 :>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; 323443:>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; 94 :>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; 275 :>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; 322132:>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; 781 :>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; 1035 :>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; 5 :>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; 16 :>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; 27 :>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; 3 :>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; 897707:>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; 1023729:>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; 269 :>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; 164 :>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; 524815:>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; 391465:>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; 9187 :>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; 492 :>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; 25 :>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; 9349 :>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; 594 :>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; 348 :>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; 1 :>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; 11225307:>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; 852765:>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; 8725 :>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; 37 :>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; 13904508:>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; 196788:>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; 4 :>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; 2 :>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; 6596 :>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; 80143 :>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; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 108 :>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; 3489 :>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; 391255:>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; 23 :>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; 393 :>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; 10 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 752 :>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; 144003:>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; 569803:>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; 3 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 31 :>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; 43475 :>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; 1417049:>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; 22 :>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; 55 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 12822829:>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; 25376305:>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; 16646653:>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; 7263660:>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; 15 :>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; 4 :>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; 168673:>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; 14177 :>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; 51455 :>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; 2810 :>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; 13 :>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; 6 :>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; 14720 :>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; 2364659:>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; 18664 :>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; 3710563:>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; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 324 :>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; 55363 :>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; 52 :>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; 88590 :>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; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 300956:>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; 130368:>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; 369197:>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; 96270 :>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; 298 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 752 :>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; 7 :>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; 10946453:>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; 107532:>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; 12906499:>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; 24856 :>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; 327 :>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; 6804 :>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; 432 :>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; 38007 :>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; 82 :>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; 6601 :>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; 6036 :>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; 3902 :>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; 45695 :>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=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 857 :>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; 37886 :>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; 2 :>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; 53 :>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; 18114 :>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; 270719:>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; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 635 :>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; 112 :>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; 4 :>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; 3 :>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; 19856 :>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; 13369 :>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; 15 :>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; 854 :>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; 1106 :>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; 130104:>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; 3 :>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; 1719 :>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; 30330 :>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; 10329938:>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; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 1340 :>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; 36 :>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; 70085 :>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; 108 :>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; 522 :>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; 505165:>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=2; 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=2; z=1; 2432 :>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; 54556 :>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; 22 :>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; 148 :>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; 53638 :>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; 456063:>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; 231 :>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; 14 :>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=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 3471 :>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; 830 :>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; 132177:>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; 10763 :>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; 2228 :>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; 145 :>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; 8430932:>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; 796191:>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; 53 :>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; 772 :>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; 130131:>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; 6 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 3815 :>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; 24544 :>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; 13178725:>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; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=2; z=1; 49 :>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; 9 :>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; 28 :>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; 15517 :>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; 1575 :>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; 190436:>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; 6 :>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; 1954 :>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; 42264 :>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; 19519387:>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; 53572 :>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; 1105294:>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; 1674076:>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; 6062828:>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 3755 :>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; 232 :>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; 68355 :>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; 15561 :>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; 29 :>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; 7972 :>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; 855032:>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; 117344:>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; 19818852:>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; 3 :>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; 32 :>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; 30045 :>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; 211 :>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; 266615:>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; 10236 :>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; 54848 :>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; 141357:>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; 343438:>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=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 879 :>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; 11 :>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; 314543:>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; 8284 :>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; 9201851:>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; 679457:>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; 463 :>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; 34057 :>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; 7056 :>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; 3118744:>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=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=2; y=2; z=1; 1183 :>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; 398 :>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; 11803 :>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; 16187 :>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; 4289249:>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; 34 :>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; 36 :>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; 2494059:>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; 11346112:>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; 5 :>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; 25 :>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; 2802 :>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; 23519 :>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; 4 :>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; 551381:>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; 293561:>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; 8 :>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; 13711 :>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; 4335 :>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; 6 :>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; 523157:>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; 7777350:>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; 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=2; 151 :>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; 1267 :>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; 148329:>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; 14345 :>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; 491292:>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; 6 :>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; 205 :>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; 155350:>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; 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=2; 4723306:>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; 13442109:>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; 8 :>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; 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=2; 9944 :>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; 58037 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 63 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=2; 45364462:>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; 17712003:>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; 2164 :>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; 38 :>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; 5242846:>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; 275836:>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; 99388 :>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; 1184969:>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; 9 :>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; 508 :>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; 84872 :>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; 1074586:>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; 10537284:>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; 11 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=2; 33 :>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; 17038 :>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; 1575303:>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; 10872 :>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; 50503 :>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; 149 :>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; 1428 :>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; 7270 :>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; 1615 :>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; 1646 :>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; 90 :>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; 370 :>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; 11905 :>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; 13 :>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; 2839 :>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; 8 :>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; 7730 :>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; 5397 :>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; 7839 :>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; 5755 :>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; 340 :>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; 455 :>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; 333154:>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; 2887 :>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; 369863:>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; 2325 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 15 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 249 :>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; 592 :>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; 129 :>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; 3869 :>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; 40 :>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; 13099 :>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=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 147 :>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; 63 :>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; 489 :>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; 585 :>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; 42 :>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; 4015 :>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; 293 :>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; 65 :>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; 19422 :>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; 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=2; 114 :>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; 428 :>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; 1648811:>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; 16 :>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; 7046 :>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; 32 :>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; 100 :>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; 213941:>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; 339 :>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; 2823 :>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; 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; 1066 :>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; 10166 :>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; 465674:>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; 12165 :>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; 186 :>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; 16 :>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; 4367406:>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; 144818:>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; 178 :>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; 28878 :>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; 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=2; 1350 :>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; 2207487:>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; 803 :>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; 601677:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 712 :>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; 7924 :>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; 25349076:>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; 26 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 95 :>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; 25 :>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; 2 :>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; 581 :>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; 23 :>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; 3 :>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; 440 :>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; 11 :>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; 36310 :>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; 128 :>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; 4 :>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; 4187 :>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; 19 :>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; 231 :>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; 78 :>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; 748 :>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; 8953 :>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; 558 :>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; 362654:>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; 8122 :>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; 7 :>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; 717 :>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; 53 :>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; 24042 :>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; 20 :>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; 4830 :>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; 74 :>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; 406662:>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: 393270548, Negative: 6729452 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 104.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (85 states) 2130 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 5201 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 12750 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 17984 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 7439429:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 10195601:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 35912609:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 27982730:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 308 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 877 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 13028 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1088 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 91455 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 808050:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 15410627:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 194713:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 209 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1988 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 142425:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 594 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 7227057:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 8200 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 19672 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 29 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 409 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 16785299:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 861 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 31 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1754 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 43 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 103 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 6400797:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 54889841:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 9334492:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 7106576:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 705 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 19695 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 4874 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 750 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1160112:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 11860639:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 17415943:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1136259:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 692 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 51 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 335274:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2347 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 1083 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 211 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 2714050:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1911 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 9980843:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 16636059:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 24747769:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 23233098:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 2815576:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 2908469:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 24054205:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1993820:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 195590:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 294 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 3026689:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 4959 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 25597 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 264 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 15788339:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 5423 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 42502 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 15060398:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 893645:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 429695:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 209074:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 15217847:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 6717513:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 978671:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 99 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 369800:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 176 :>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: 371490584, Negative: 28509416 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 87.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 40831 :>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; 4870373:>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; 780930:>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; 93510951:>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; 23380249:>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; 18231686:>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; 16624818:>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; 112498643:>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; 53432006:>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; 16175469:>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; 14695068:>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; 30570615:>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; 10084 :>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; 20673565:>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; 525 :>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; 75552005:>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; 1818632:>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; 4308705:>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; 53887 :>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; 4478605:>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; 4740500:>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; 2994233:>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; 41801 :>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; 515819:>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: 452419671, Negative: 47580329 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 99.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (60 states) 2992654:>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; 477642:>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; 8290632:>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; 34744748:>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; 1645269:>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; 5543 :>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; 30130102:>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; 74442796:>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; 21991694:>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; 479864:>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; 9314998:>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; 6057237:>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; 12111576:>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; 11440 :>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; 5524892:>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; 2533818:>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; 3502822:>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; 6424379:>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; 357747:>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; 28874021:>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; 170051:>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; 9471 :>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; 25015 :>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; 377984:>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; 93116555:>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; 25216864:>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; 5964752:>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; 31559981:>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; 6840460:>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; 34838 :>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; 383542:>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; 288145:>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; 61 :>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; 46787 :>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; 5054 :>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; 2228995:>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; 17 :>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; 7 :>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; 6473 :>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; 4777269:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; 6 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 10829 :>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; 127 :>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; 32652 :>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; 8 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 4233 :>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; 1132 :>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; 3159252:>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; 1182 :>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; 36870846:>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; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 53 :>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; 4 :>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; 34284 :>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; 2668 :>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; 13400473:>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; 391 :>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; 25513335:>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; 39 :>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; 2290 :>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: 472864723, Negative: 27135277 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 124.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9202015:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 46310876:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 33364532:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 53282779:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 64042 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 62598 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 46956416:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 29686421:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 16797432:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 56496102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 4934752:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 5565638:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 746759:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 454172:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13564309:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 1706263:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 970 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 613539:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 24525 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 1141891:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 19180 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 33712073:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1086426:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 23529 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 381 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 74324 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 1352 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 32435986:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 278519:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 110902106:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 490056:>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: 433737499, Negative: 66262501 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 104.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 379725:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 13535890:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2657857:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 77075838:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 144223:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 28007 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 783927:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1675554:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 217506:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 4454468:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 1651048:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 19516977:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 130085151:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 692567:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 84096731:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 45274531:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 283785:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 32304499:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 25179 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 62322822:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 108733:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 30097 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2790 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 10170 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 143683:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2400808:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 9783 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 833943:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 18634616:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 275619:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 280271:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 63202 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 480027864, Negative: 19972136 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 79.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (119 states) 371 :>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; 61 :>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; 101727:>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; 247980:>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; 940 :>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; 17 :>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; 1313540:>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; 1462172:>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; 127 :>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; 10392 :>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; 3 :>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; 680 :>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; 396035:>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; 386 :>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; 56314 :>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; 147 :>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; 326782:>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; 234118:>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; 98346 :>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; 24 :>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; 3571479:>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; 954119:>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; 362760:>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; 51525 :>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; 4 :>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; 1958899:>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; 1978002:>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; 275 :>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; 5490 :>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; 58242 :>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; 89387 :>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; 1262128:>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; 374 :>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; 652 :>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; 134295:>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; 552266:>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; 25 :>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; 759 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 142 :>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; 20255 :>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; 56 :>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; 8167614:>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; 11062184:>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; 21297104:>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; 70299349:>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; 1892268:>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; 66140 :>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; 25226692:>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; 9867900:>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; 21362731:>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; 283 :>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; 3471626:>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; 948 :>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; 25359894:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 51 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=0; 14235933:>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; 3302 :>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; 99061 :>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; 11983 :>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; 249286:>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; 567963:>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; 3373730:>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; 191765:>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; 16489384:>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; 17418400:>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; 13714 :>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; 13652 :>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; 9 :>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; 1103737:>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; 76 :>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; 2489206:>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; 5611 :>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; 452355:>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; 6951 :>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; 560129:>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; 358520:>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; 7139068:>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; 87221 :>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; 20886977:>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; 5047506:>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; 765814:>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; 14074 :>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; 2 :>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; 7883061:>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; 28 :>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; 2840411:>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; 1639 :>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; 69679 :>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; 507251:>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; 392957:>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; 4225111:>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; 135101:>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; 61240 :>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; 854995:>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; 3242570:>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; 18 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 5 :>0:EAX=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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 27970 :>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; 7 :>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; 39748 :>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; 188 :>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; 4217457:>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; 11244755:>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; 2038212:>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; 14522826:>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; 3115862:>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; 307894:>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; 6281735:>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; 7393747:>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; 10852728:>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; 177 :>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; 27593 :>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; 34 :>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; 13909523:>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; 151 :>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; 890598:>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; 3218 :>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: 394776437, Negative: 5223563 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 73.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 54948 :>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; 27494 :>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; 306552:>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; 560292:>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; 24422 :>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; 5222 :>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; 201159:>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; 245617:>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; 84270 :>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; 26044 :>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; 2559667:>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; 10983186:>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; 38846 :>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; 2669 :>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; 2251311:>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; 11364839:>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; 111296:>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; 217098:>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; 533394:>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; 1358753:>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; 25919 :>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; 15711 :>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; 157917:>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; 115520:>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; 965680:>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; 375835:>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; 14836318:>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; 18991802:>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; 186609:>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; 12661 :>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; 5371327:>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; 2628546:>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; 524462:>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; 25233 :>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; 14975 :>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; 15309 :>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; 117855:>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; 1785 :>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; 4869 :>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; 2112 :>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; 1014908:>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; 31877 :>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; 144451:>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; 233077:>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; 440337:>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; 1376 :>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; 80689 :>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; 42105 :>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; 1560465:>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; 281875:>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; 27936 :>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; 98555 :>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; 127552:>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; 11489 :>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; 5242 :>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; 3614 :>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; 26548939:>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; 1034358:>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; 1023276:>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; 946750:>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; 3580946:>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; 14718 :>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; 301305:>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; 38505 :>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; 1501240:>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; 4813859:>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; 83035 :>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; 9337556:>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; 4206958:>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; 5919757:>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; 600566:>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; 20924813:>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; 20674 :>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; 16704 :>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; 4323 :>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; 92942 :>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; 13102 :>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; 5502 :>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; 16615 :>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; 238113:>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; 187325:>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; 1269662:>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; 2114 :>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; 1648366:>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; 108043:>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; 382854:>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; 5752 :>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; 683573:>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; 159586:>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; 241919:>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; 1961 :>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; 647638:>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; 40108 :>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; 27869 :>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; 3573 :>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; 232130:>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; 7698555:>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; 5276264:>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; 24927 :>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; 3041334:>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; 18626380:>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; 6968662:>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; 135549:>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; 2631336:>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; 632226:>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; 73748 :>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; 1508 :>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; 20272 :>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; 451789:>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; 10342 :>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; 3266 :>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; 19896 :>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; 17274662:>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; 3406439:>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; 3441 :>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; 1626548:>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; 5318270:>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; 652550:>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; 4177 :>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; 266588:>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; 22072766:>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; 2505851:>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; 4272 :>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; 618630:>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; 2068349:>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; 57304 :>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; 2791 :>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; 36481 :>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; 39 :>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; 8353 :>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; 433 :>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; 168077:>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; 7 :>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; 40 :>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; 43 :>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; 36980 :>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; 11 :>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; 11770 :>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; 5261 :>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; 2822340:>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; 16 :>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; 573 :>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; 931491:>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; 290 :>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; 1020007:>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; 1974 :>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; 2702765:>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; 94 :>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; 34 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 13397 :>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; 714 :>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; 3670476:>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; 61431 :>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; 35739870:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 1 :>0:EAX=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; 36 :>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; 817 :>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; 696745:>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; 8 :>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; 2304 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 2071 :>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; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 62 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 1 :>0:EAX=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=2; 1180 :>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; 18 :>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; 7822 :>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; 179 :>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; 928 :>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; 772067:>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; 153 :>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; 329983:>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; 16 :>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; 61 :>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; 3502 :>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; 3714025:>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; 1687 :>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; 2643472:>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; 9 :>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; 10 :>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; 1086 :>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; 16269 :>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; 996143:>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; 633 :>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; 4097289:>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; 11887 :>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; 477867:>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; 905 :>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; 3300903:>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; 12 :>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; 20868 :>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; 13 :>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; 69256 :>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; 16 :>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; 10 :>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; 11273 :>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; 2095 :>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; 7254126:>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; 149 :>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; 6864234:>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; 863 :>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; 125128:>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; 73 :>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; 418502:>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; 313 :>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; 4878899:>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; 62 :>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; 4757118:>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; 10 :>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; 214 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 33692 :>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; 19431 :>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; 977293:>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; 67 :>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; 584770:>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; 18812 :>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; 650622:>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; 92 :>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; 726775:>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=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=2; 2474 :>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; 3109 :>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; 313 :>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; 11144 :>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; 15245828:>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; 468 :>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; 8058413:>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; 2467 :>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; 232984:>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; 78 :>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; 229774:>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; 2233 :>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; 13248973:>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; 317 :>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; 3350136:>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; 10 :>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; 719 :>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; 5 :>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; 3851 :>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: 330492279, Negative: 69507721 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 87.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (96 states) 17364 :>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; 25938 :>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; 2520346:>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; 25914635:>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; 2390578:>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; 1977638:>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; 6387114:>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; 16864215:>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; 162268:>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; 171854:>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; 136367:>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; 1037019:>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; 22758845:>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; 11800907:>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; 17275675:>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; 5836391:>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; 367894:>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; 113807:>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; 4826745:>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; 36671874:>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; 664205:>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; 55841 :>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; 622964:>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; 270803:>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; 4299350:>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; 1052463:>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; 2265998:>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; 2600931:>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; 20362968:>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; 717578:>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; 5934140:>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; 324887:>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; 8926 :>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; 73731 :>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; 214436:>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; 4261308:>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; 180871:>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; 594697:>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; 10751 :>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; 231605:>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; 393652:>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; 2924502:>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; 26440 :>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; 569722:>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; 10795595:>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; 22086022:>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; 146063:>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; 253256:>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; 106311:>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; 140121:>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; 511730:>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; 7662841:>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; 175579:>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; 108662:>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; 6147 :>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; 3801 :>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; 4886815:>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; 18510748:>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; 101121:>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; 1451791:>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; 20747581:>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; 9586957:>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; 107520:>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; 51018 :>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; 2692 :>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; 101 :>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; 286696:>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; 516757:>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; 529308:>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; 5863 :>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; 1902749:>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; 85290 :>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; 1071 :>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; 1 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 4366 :>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; 5118 :>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; 1785605:>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; 295 :>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; 3289691:>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; 2927 :>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; 1557238:>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; 94 :>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; 10553816:>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; 10718630:>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; 3340449:>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; 54 :>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; 3390319:>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; 8627 :>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; 2988526:>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; 3 :>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; 7504226:>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; 152027:>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; 21250730:>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; 7 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; 26744712:>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; 12090 :>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: 383287462, Negative: 16712538 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 87.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 283849:>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; 1598687:>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; 21 :>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; 3206 :>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; 312667:>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; 1280960:>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; 83 :>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; 11897 :>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; 1029992:>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; 502145:>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; 2 :>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; 1919 :>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; 88285014:>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; 13297530:>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; 41059 :>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; 383670:>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; 684679:>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; 23993149:>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; 89 :>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; 207970:>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; 592646:>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; 12841200:>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; 306 :>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; 361687:>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; 4452964:>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; 3565000:>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; 22167 :>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; 26479774:>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; 9086558:>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; 879 :>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; 287069:>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; 17 :>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; 90 :>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; 8 :>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; 578 :>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; 3156 :>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; 510 :>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; 29532 :>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; 622 :>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; 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=1; 9 :>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; 3308867:>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; 138984:>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; 17562 :>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; 27859 :>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; 16498 :>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; 747728:>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; 9 :>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; 42745 :>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; 6665 :>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; 142036:>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; 205 :>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; 55595 :>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; 448356:>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; 188237:>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; 11915 :>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; 4361998:>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; 591820:>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; 1751 :>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; 105267:>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; 26830 :>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; 270397:>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; 35186 :>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; 1489402:>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; 198558:>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; 927275:>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; 253806:>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; 5669213:>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; 2750 :>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; 17360 :>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; 1377 :>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; 56221 :>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; 9191789:>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; 6723951:>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; 11677846:>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; 24785014:>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; 105353:>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; 6565710:>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; 23198 :>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; 9592293:>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; 309367:>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; 9170930:>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; 71564 :>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; 10270493:>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; 5457 :>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; 292803:>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; 29 :>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; 141193:>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; 610562:>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; 2423889:>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; 1447993:>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; 3614247:>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; 33 :>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; 65 :>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; 45 :>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; 209 :>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; 32561 :>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; 35638 :>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; 928663:>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; 2249859:>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; 40 :>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; 19 :>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; 15 :>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; 36 :>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; 3000349:>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; 1014495:>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; 32384423:>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; 18079096:>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; 21517 :>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; 649952:>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; 5801 :>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; 1125376:>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; 90302 :>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; 919966:>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; 1235207:>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; 9573821:>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; 653 :>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; 31111 :>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; 14929 :>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; 785748:>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; 1238054:>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; 12060480:>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; 8691952:>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: 394683408, Negative: 5316592 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 85.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (239 states) 436881:>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; 531501:>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; 6037083:>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; 18017995:>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; 290277:>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; 281614:>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; 5842564:>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; 6950064:>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; 38181 :>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; 23220 :>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; 322112:>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; 365562:>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; 24020 :>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; 17548 :>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; 409470:>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; 206205:>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; 4657927:>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; 26224944:>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; 71069 :>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; 232769:>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; 217112:>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; 941571:>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; 136689:>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; 263181:>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; 5018351:>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; 9889648:>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; 101585:>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; 54248 :>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; 433845:>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; 771980:>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; 448917:>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; 130321:>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; 795 :>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; 86603 :>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; 6777 :>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; 1093127:>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; 1733 :>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; 271536:>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; 10466 :>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; 1965991:>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; 22 :>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; 1060 :>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; 13 :>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; 1601 :>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; 35 :>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; 7315 :>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; 54 :>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; 16818 :>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; 26184 :>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; 3402001:>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; 54 :>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; 29772 :>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; 2570 :>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; 601455:>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; 177 :>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; 100791:>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; 8946 :>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; 878927:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 2 :>0:EAX=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; 1299 :>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; 1033 :>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; 268241:>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; 55 :>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; 23626 :>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; 22668 :>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; 1449 :>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; 20537 :>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; 191 :>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; 23402 :>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; 2974 :>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; 66937 :>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; 1479 :>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; 634819:>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; 1497 :>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; 578742:>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; 863 :>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; 923651:>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; 3004 :>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; 3291258:>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; 5309 :>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; 1384448:>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; 619316:>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; 6421 :>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; 297 :>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; 109656:>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; 50371 :>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; 50974 :>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; 4311 :>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; 31899589:>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; 11430534:>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; 901962:>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; 4064 :>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; 8547099:>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; 1123267:>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; 5684996:>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; 63863 :>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; 5 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 106 :>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; 5 :>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; 1595 :>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; 149 :>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; 41 :>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; 3 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 507 :>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; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 78 :>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; 2704 :>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; 44988 :>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; 345 :>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; 16049 :>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; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 231 :>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; 12228 :>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; 943033:>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; 3864 :>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; 323413:>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=1; 8 :>0:EAX=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; 778 :>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; 43894 :>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; 94238 :>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; 326334:>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; 1015457:>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; 726676:>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; 578445:>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; 16480324:>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; 13129805:>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; 31619 :>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; 11693 :>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; 45157 :>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; 66480 :>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; 114207:>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; 113026:>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; 1611959:>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; 816161:>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; 243939:>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; 347698:>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; 6067 :>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; 1667 :>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; 116398:>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; 655963:>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; 119384:>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; 131107:>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; 605061:>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; 352068:>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; 29762 :>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; 1598 :>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; 673984:>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; 1040090:>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; 942303:>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; 282823:>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; 706 :>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; 99916 :>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; 5108 :>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; 942082:>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; 8105 :>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; 4045066:>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; 146333:>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; 38907328:>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; 43 :>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; 5457 :>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; 59 :>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; 8584 :>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; 925 :>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; 1408568:>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; 5808 :>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; 7658435:>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; 5978 :>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; 1149848:>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; 20 :>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; 15188 :>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; 2603 :>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; 6557967:>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; 720 :>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; 3519763:>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; 2906 :>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; 272975:>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; 1625 :>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; 2394 :>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; 10070017:>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; 1128 :>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; 6971070:>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; 19072 :>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; 1611 :>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; 4538 :>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; 32 :>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; 60961 :>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; 37395 :>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; 192399:>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; 21088 :>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; 597366:>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; 2789 :>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; 206895:>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; 409 :>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; 5107151:>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; 103180:>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; 24461337:>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; 212933:>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; 180328:>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; 58320 :>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; 948 :>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; 15 :>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; 96955 :>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; 50973 :>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; 67770 :>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; 7727 :>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; 5379820:>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; 973028:>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; 195756:>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; 605 :>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; 14851330:>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; 1657548:>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; 16623088:>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; 474646:>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; 6 :>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; 1690 :>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; 731 :>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; 773800:>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; 266 :>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; 729190:>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; 15 :>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; 1352 :>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; 6870 :>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; 2096292:>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; 4269 :>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; 3855869:>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; 1220 :>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; 17475 :>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; 768 :>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; 775009:>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; 25 :>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; 383636:>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; 5486 :>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; 327774:>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; 23910 :>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; 18213391:>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; 2184 :>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; 11551032:>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: 367001513, Negative: 32998487 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 102.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 31307021:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 48156079:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 38730216:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 42260709:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 18215330:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 7153318:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 9015603:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1269025:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 961228:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 20166514:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 221327:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 11300005:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 82972 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 1118700:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 522 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 195300:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 3436477:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 27868 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 3970380:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 40902 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 21341121:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 51931 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 9920338:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 5954 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 551973:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 3275545:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 5255560:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 12888321:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 621350:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1419740:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1807719:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1104755:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 140591:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 35855416:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 495427:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 52161001:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 41798 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 8739148:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 8651 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 4175874:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 2255 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 12 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 221972:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 4698 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 380537:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 769 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1895021:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 3027 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; No Witnesses Positive: 397493244, Negative: 2506756 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 84.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 93369150:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2565091:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 24866172:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 61733123:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 63167208:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 54997 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 1411413:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 243708:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 3936003:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 110969:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 885425:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 8220423:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 27628842:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 96347 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 1342161:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 899299:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 507193:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 111402:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 753885:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 63502032:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 930 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 232 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 1367 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 188254:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 89560 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 33262 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 158644:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 130434783:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 8326 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 4390 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 21831 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; 13653578:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; No Witnesses Positive: 494262006, Negative: 5737994 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 98.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3495738:>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; 211768:>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; 17776579:>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; 18441951:>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; 1145925:>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; 78 :>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; 3072870:>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; 8634 :>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; 7120229:>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; 61939 :>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; 20408400:>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; 5040495:>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; 7503789:>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; 48 :>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; 3109264:>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; 2250 :>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; 187959:>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; 113355:>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; 1003893:>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; 3644592:>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; 33313 :>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; 12 :>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; 49761 :>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; 170 :>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; 6107009:>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; 1170435:>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; 8181811:>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; 9679657:>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; 22702173:>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; 257 :>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; 1419780:>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; 3242 :>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; 551 :>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; 1899187:>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; 2524253:>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; 649 :>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; 501452:>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; 648 :>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; 76455 :>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; 1 :>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; 4405868:>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; 1496509:>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; 1354418:>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; 1827918:>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; 357 :>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; 272 :>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; 45 :>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; 244417:>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; 915871:>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; 138 :>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; 25673 :>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; 80 :>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; 2957829:>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; 15608 :>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; 29563576:>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; 17985161:>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; 26486002:>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; 49 :>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; 12339966:>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; 4340 :>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; 30335 :>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; 1433 :>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; 27058 :>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; 50262 :>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; 5649 :>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; 6943 :>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; 4 :>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; 107179:>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; 1288 :>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; 44534 :>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; 30206 :>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; 186561:>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; 5056 :>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; 54177 :>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; 360815:>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; 256149:>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; 3254472:>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; 3 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 2446107:>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; 13963607:>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; 2104460:>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; 17802518:>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; 4657100:>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; 128 :>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; 12417 :>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; 32 :>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; 59 :>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; 33 :>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; 11172 :>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; 100814:>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; 38 :>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; 1864 :>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; 17505 :>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; 113 :>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; 35292 :>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; 77001 :>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; 73806 :>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; 6416 :>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; 1575 :>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; 14215 :>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; 47702 :>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; 638195:>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; 5 :>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; 293 :>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; 6619024:>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; 9396500:>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; 14139632:>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; 55792825:>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; 18941125:>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; 275 :>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; 2350486:>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; 869 :>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: 398727145, Negative: 1272855 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 87.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (186 states) 1788728:>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; 2794807:>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; 666355:>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; 10260712:>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; 1790017:>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; 1090820:>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; 600733:>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; 13668070:>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; 1551408:>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; 1533102:>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; 1985368:>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; 5294472:>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; 326979:>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; 108140:>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; 1035889:>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; 602352:>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; 11711256:>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; 2570455:>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; 45862 :>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; 3063067:>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; 6995732:>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; 810594:>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; 81912 :>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; 766561:>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; 34396196:>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; 4267849:>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; 53447 :>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; 1381147:>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; 3597784:>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; 103679:>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; 25989 :>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; 43329 :>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; 7943 :>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; 571264:>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; 1442 :>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; 3669696:>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; 1525 :>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; 8200 :>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; 574 :>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; 1313017:>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; 2113 :>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; 11982215:>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; 6293 :>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; 20150547:>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; 51 :>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; 937 :>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; 169 :>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; 95982 :>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; 6151 :>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; 254260:>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; 94 :>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; 353712:>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; 958 :>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; 13890 :>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; 42 :>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; 71461 :>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; 10111 :>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; 18683028:>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; 856 :>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; 7017300:>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; 98 :>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; 1858 :>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; 30 :>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; 9396 :>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; 507767:>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; 67442 :>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; 4244104:>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; 13873219:>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; 132190:>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; 2345 :>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; 2433363:>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; 8777793:>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; 1848418:>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; 354299:>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; 14936047:>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; 15054969:>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; 305119:>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; 3041 :>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; 6617006:>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; 1713619:>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; 3675764:>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; 46353 :>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; 60898 :>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; 97090 :>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; 1015483:>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; 1398 :>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; 32263 :>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; 23871 :>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; 19482320:>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; 619186:>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; 231176:>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; 324975:>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; 3652949:>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; 1580 :>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; 103293:>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; 15716 :>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; 19 :>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; 58810 :>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; 5403 :>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; 3780144:>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=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 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; 351 :>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; 433201:>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; 650 :>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; 3567919:>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; 48999 :>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; 31024076:>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; 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=2; z=1; 1078 :>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; 302590:>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; 8 :>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; 16817 :>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; 8 :>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; 11073 :>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; 291 :>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; 1793 :>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; 2364060:>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; 513 :>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; 1100219:>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; 11 :>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; 497 :>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; 300400:>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; 3570238:>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; 7095 :>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; 2083677:>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; 2310058:>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; 5855799:>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; 261132:>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; 10256767:>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; 22854 :>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; 877859:>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; 2656 :>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; 524296:>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; 29752 :>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; 123945:>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; 4101 :>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; 67081 :>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; 1292335:>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; 1378509:>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; 1349 :>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; 598782:>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; 12006319:>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; 6047479:>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; 111063:>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; 3287260:>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; 1776261:>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; 506786:>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; 119 :>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; 145559:>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; 1175299:>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; 144481:>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; 388 :>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; 36788 :>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; 6946 :>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; 832451:>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; 99 :>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; 1006104:>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; 10585 :>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; 626207:>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; 572 :>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; 2633927:>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; 539 :>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; 6088107:>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; 22 :>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; 3191098:>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; 180 :>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; 42205 :>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; 17 :>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; 100956:>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; 11804 :>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; 456128:>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; 20 :>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; 227169:>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; 15945 :>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; 548988:>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; 138 :>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; 859653:>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; 1557 :>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; 4713719:>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; 4 :>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; 1506571:>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; 545 :>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; 36972 :>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; 30 :>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; 52636 :>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: 323862220, Negative: 76137780 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 101.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2981116:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 41805575:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 17765684:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 9336895:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 325223:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 28744977:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 2500058:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1600923:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 908535:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 4246745:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 34665753:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 625305:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1098310:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 3788538:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 34935037:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 412575:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1360294:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2334643:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 12629931:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 5642053:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 652719:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3743833:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 9835928:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 2467496:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 93205 :>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; 6614922:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 1419 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 31560 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 49124 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 7729287:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 32509 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 47134 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 4257281:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 24867 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 416438:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 582948:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1571235:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 34336 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 73962 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 895289:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 3153520:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 4672597:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 12422525:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 9731317:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 20744691:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 31535507:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 25672007:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2329 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 3590828:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 29875 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 11737 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 25487 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 22676093:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 264764:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 157777:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 9366 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 1618700:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 699304:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 55255 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 71311 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 4624374:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 6235679:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 288523:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 169 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 13321 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 776 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 128 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 20577 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 38317 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 188143:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 21438 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 21 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 1039 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 762 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 340 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 81930 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 134 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 86 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 248506:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 11 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 18537 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 1337025:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 409 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 1842 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 212 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 2227 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 22 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 37 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 280845:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1761744:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 456396:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 367037:>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: 380735281, Negative: 19264719 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 99.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (114 states) 25917407:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 225395:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 13388313:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 412143:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 4328881:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 27273 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 12089713:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 298146:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1265161:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 71328 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 149372:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 46282 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 409445:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 20215 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 1634618:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 189094:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 1953705:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 5703 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1562276:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 12891 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 631896:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 3591 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 22757213:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 439568:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 20 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 889 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 5900 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 6620159:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 9310182:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 9391646:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 10180186:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 278445:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 137648:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 3101366:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 4600671:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1001841:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1159110:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1201646:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 11235118:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 50479 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 23480 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 3486987:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 26211828:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 386399:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1666494:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1418225:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 5705988:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 25254 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 49171 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 11346148:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 24100072:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 6189 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 1092074:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 89707 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 15620960:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 76538 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 41 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 93518 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 264 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 4805448:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 31394392:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 411 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 1121 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 1948 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 145 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 458706:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 5813114:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 1117 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 86049 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 87051 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 42 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 521804:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 67986715:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 26026 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 106 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 22 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 258 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1462564:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 9536 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 6777 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 8622 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 41100 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 27898 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 3315 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 510747:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 285719:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 5041 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 3365 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 26256 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 542100:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 364 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1371819:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 5270297:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1184 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 2800 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 30601 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 32783 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 762 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 59 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 7313685:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 7203025:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 45 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 10660 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 288541:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 1872798:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 24968750:>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: 398614375, Negative: 1385625 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 99.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3397388:>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; 21434965:>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; 977669:>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; 1001065:>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; 2715580:>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; 3726298:>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; 551213:>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; 175281:>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; 8128 :>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; 1408525:>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; 1837 :>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; 494920:>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; 2058 :>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; 77795 :>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; 126 :>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; 25727 :>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; 701671:>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; 155516:>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; 244593:>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; 13859 :>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; 12957955:>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; 981087:>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; 8516361:>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; 92781 :>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; 126 :>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; 580 :>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; 4 :>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; 791 :>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; 227 :>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; 3971 :>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; 17 :>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; 1769 :>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; 7119607:>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; 19799448:>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; 4291790:>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; 5152388:>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; 145185:>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; 142667:>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; 96082 :>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; 68227 :>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; 5556 :>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; 843350:>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; 5414 :>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; 1061956:>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; 5 :>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; 678 :>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; 19 :>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; 2199 :>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; 72962 :>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; 262 :>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; 56041 :>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; 224 :>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; 910440:>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; 837 :>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; 1307205:>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; 1290 :>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; 2 :>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; 8 :>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; 440502:>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; 908938:>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; 3663329:>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; 3203884:>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; 623823:>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; 329604:>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; 1110968:>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; 876389:>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; 5953 :>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; 1755322:>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; 13344 :>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; 21996412:>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; 2511 :>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; 228778:>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; 1787 :>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; 12487868:>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; 471326:>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; 73823 :>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; 687830:>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; 95719 :>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; 7367263:>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; 834969:>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; 37503368:>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; 1265083:>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; 572 :>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; 17852 :>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; 1311 :>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; 2676556:>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; 1457 :>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; 52718 :>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; 11783 :>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; 21609327:>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; 737045:>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; 1482237:>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; 20284490:>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; 10657824:>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; 42113 :>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; 23296 :>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; 399934:>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; 212870:>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; 5309 :>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; 1315858:>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; 98119 :>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; 32880752:>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; 30 :>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; 13852 :>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; 1507 :>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; 3469365:>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; 75587 :>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; 1794 :>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; 460386:>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; 18928 :>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; 1209809:>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; 2373 :>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; 19132997:>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; 113652:>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; 3 :>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; 3424 :>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; 204 :>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; 988383:>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; 3 :>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; 1305 :>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; 1434 :>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; 2986283:>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; 1528255:>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; 14602498:>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; 35741 :>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; 90649 :>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; 2404515:>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; 7536724:>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; 49542 :>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; 77004 :>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; 17710 :>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; 2824424:>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; 618 :>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; 187711:>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; 7797 :>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; 773067:>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; 218 :>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; 57558 :>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; 1029338:>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; 674188:>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; 38739 :>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; 14341 :>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; 18855432:>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; 9448568:>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; 2131582:>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; 206385:>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; 3423 :>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; 56783 :>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=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=1; y=1; z=2; 8261 :>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; 9584 :>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; 589358:>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; 896 :>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; 59680 :>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; 8077 :>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; 34573 :>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; 12343 :>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; 172143:>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; 13320 :>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; 19104 :>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; 5883 :>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; 49339 :>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; 1355 :>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; 179298:>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; 503 :>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; 2407053:>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; 928 :>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; 68491 :>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; 270 :>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; 1957530:>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; 55834 :>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; 28245 :>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; 20133 :>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; 63283 :>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; 785952:>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; 198355:>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; 1717518:>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; 589547:>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; 1364 :>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; 28245 :>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; 816 :>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; 970541:>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; 3334 :>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; 229045:>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; 9567 :>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; 9352039:>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: 380073473, Negative: 19926527 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 114.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7081857:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 29778392:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1022965:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 3628732:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1939227:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 2642683:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 527008:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 57007 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 6361019:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 494560:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 24345560:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 847244:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 2336796:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 32754 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 34773151:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 38876 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 4358490:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 43437690:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 276639:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 637817:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1887185:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 33007145:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 99509 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 19979 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 3023340:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 463629:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 2217965:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 379067:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 1545068:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 36630 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 18314067:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 39089 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4054169:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 25269774:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 477510:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 1491841:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 7783406:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 21703324:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 2158841:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 885223:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1758435:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 209236:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 10478584:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 369457:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 8393831:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 438379:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 51435908:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 345767:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 22911 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 4191059:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 27 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 59 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 228331:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 28387721:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 5872 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 6395 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 29 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 125 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 143444:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 12142 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 4084831:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 12229 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 349082310, Negative: 50917690 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 79.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1063545:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 7590881:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 4828442:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 66147937:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 570426:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 436523:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2067781:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 6477139:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2356123:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 3364494:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 6664211:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 16226750:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 101452888:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 3100028:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 43291727:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 24779045:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 654941:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 69164462:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 76741 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 79513291:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 328833:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 1809573:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 5028 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 320690:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 1375927:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2607587:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 170 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 9645 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 50385875:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 3323089:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 224 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 5984 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; No Witnesses Positive: 471980428, Negative: 28019572 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 66.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (128 states) 26253 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 9382 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2071228:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 4091296:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 43263 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5355 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5462463:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 6714982:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 15991 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 813 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1108334:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 28515 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 54739 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1656 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 6383073:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 474833:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 820250:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 19629 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4821721:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2328656:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 683336:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 8402 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3244813:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 745387:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 7054356:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 42190 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4544050:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 141895:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 10235891:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 26878 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9856265:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 146607:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 24159 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 199255:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 603792:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 6749830:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3942 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1241 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 291450:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 134981:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1923 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 38 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 7576 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 90 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1780 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 17272 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 63 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 4058754:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9866043:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 18288539:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 43339442:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 418590:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 35984 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2882193:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 252248:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 22817061:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 517386:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6446214:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 73697 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3849111:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 11003 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5135740:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10098 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 649071:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 662671:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 524764:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2146476:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 12421741:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4724981:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 15960367:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 23521265:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 245912:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 82172 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 43899 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 73664 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 18783285:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 958167:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 7084697:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5261034:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3984880:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 299056:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 315800:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 344509:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2523840:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 171206:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 422634:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 226634:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 18035481:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 168423:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 52672 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 36702 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 14068321:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 186903:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 259591:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 91545 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 461532:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6672908:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 289599:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 16142357:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 94408 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 75668 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 126637:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 259564:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1658 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 114 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 8 :>0:EAX=0; 0:EBX=1; 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; 1208 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 47 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 87 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2667041:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 19617157:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 238604:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 5682739:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 107394:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 115824:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 22498 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 46001 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 14741646:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 707577:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1024 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1183 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 326548:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 12345 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1579 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 659 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; No Witnesses Positive: 391886645, Negative: 8113355 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 58.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (237 states) 165368:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 101858:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 400815:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2473977:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 55949 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 13779 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 970313:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1991189:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 637310:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 174224:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 10769191:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 23173579:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 105821:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 9230 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 5278859:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 10989840:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 76268 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 88920 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 45143 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1090178:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 255 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 131 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 119 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5119 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 920434:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 245073:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 9697282:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 10465861:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5605 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 195 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 184506:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 49514 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 7646819:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 877346:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 162191:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1773623:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 4811846:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 213113:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 232955:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 117123:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 7249014:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 620486:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 391218:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 321597:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1998946:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 30421 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 248609:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 42088 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 9243726:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1443681:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 79951 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1443405:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 325380:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 10909 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 937 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 659 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 12282755:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1444821:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 464878:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 567723:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 380922:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3436 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 8142 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1967 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 730724:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 494585:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 38522 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2263484:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 3293796:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2760120:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 617238:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 26536867:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 334332:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 87902 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 9635 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 311792:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 19078 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4712 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 17561 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 286478:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 105194:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 43022 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 74 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 202116:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 544 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 108 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 323126:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 65870 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 63 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 71754 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 429 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 61 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 38 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 16925424:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5307099:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 53862 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4039905:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 22263052:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 13558180:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 624466:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 17609910:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2704047:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 780384:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5646 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 194552:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 155939:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 20447 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2763 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 22217 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 8428706:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3288540:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 988 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3976157:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 25043 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4788 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 492 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5259151:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1178921:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 226 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 267782:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3052 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 377 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 834 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 653 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 504187:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 4170 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1752864:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 158 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 670 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1313 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 419845:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 366 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 348359:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 24098 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 8469294:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 25 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 146 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 3996 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1630672:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1528 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1944001:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2295 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 6326289:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 211 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1831 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2679570:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 67068 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 18615088:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 38 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2791 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 306 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 241135:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 162 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 580668:>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; 179 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 2519 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 14243 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 25762 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 79 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 7156 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3917616:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1385 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 7415498:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 82 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2071 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2077365:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 502 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2103513:>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; 26 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 7671 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 2098076:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1180 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 2737756:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 19017 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 366942:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 4306 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 6060936:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 465 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 189664:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 536 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 279821:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 44 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 129 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 26940 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 645 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 3255029:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 290 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2546595:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 280 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 169 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1258818:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 59 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 697485:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 59 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 4197 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1440112:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 106 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1246418:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 10035 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1045842:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 347 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2625657:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 41 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 20130 :>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; 25966 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 65 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 219 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 10480 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 15562912:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 774 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 16752977:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 394 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1002 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 226 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2085940:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 25 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 472375:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 144 :>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: 375570345, Negative: 24429655 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 76.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3033 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 7103 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 151089:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 2551916:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 148486:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 277212:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 2377569:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 6906530:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 28267 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 117960:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 1841 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 785 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 5666984:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2469885:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 7478220:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 782384:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 73727 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 34817 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 801941:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 8633005:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 41745 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 6116 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 384007:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 700160:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 180509:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 312430:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 63084 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 2865 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1698522:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 168459:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 737617:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 7764 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 33657 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 141046:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 1330284:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 20996133:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 480253:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 1197326:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 2355924:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 17758927:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 1069393:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 5010224:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 7585 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 40274 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 22350236:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 35603752:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1847731:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 3377703:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 74004 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 208756:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 2526554:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 23235990:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 27178 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 10171 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 237255:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 292722:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 6381324:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 16264719:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 79696 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 122250:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 25757383:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 6083243:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 492481:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 34539 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 8424 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 4310 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 1533717:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 10674490:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 662933:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 253842:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 11695216:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 8458334:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 12474 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 18355 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 1932 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 239 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 4379356:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 454995:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 8318599:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 201504:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 926836:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 14398 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 16285237:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 17130735:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1221540:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 3466 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 18067541:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 835945:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 759723:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 55100 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1101923:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1319 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 30304735:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 54085 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 26800122:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 3774 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 170 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 157 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 6442 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 121809:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 5078 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 7446 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 16627 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 26807 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 983 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 1346 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 105 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 31 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 75295 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 21670 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 78055 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 5329 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 2750 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 483 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 130557:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 781168:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 1704 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 82 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 52581 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 18041 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 5856 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 4226 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 12036 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 126 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 44788 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 1463 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 86716 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 129 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; No Witnesses Positive: 383928941, Negative: 16071059 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 73.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 200240:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 583090:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1704401:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1619664:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 15199 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 4981 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 7958875:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 686269:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 511307:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 4832485:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 854754:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 510889:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 10010 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 21 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 298090:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1535 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 7380178:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 6928516:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 5432980:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1506873:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 11134703:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 36291 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 68836951:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 716044:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 4930098:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 43507349:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1086126:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 888748:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 20368456:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 8029 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 19595552:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 5220 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1362 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 2379 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 74052 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 117693:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 280 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 22 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 227814:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 40030 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 301126:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 2203120:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 380107:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 288502:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 630 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 24 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 128509:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 9709 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 3427 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 7648 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 37090 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 143879:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 55136 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 169 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 1085866:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 90367 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 499414:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 4130718:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 109687:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 124930:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 3026201:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1358 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 4213328:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 53276 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 2536462:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 7054559:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 10143384:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 4813142:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 26466 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 6490 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 12032253:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 976381:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 722896:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 14744983:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 1801925:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 883833:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 3456 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 164 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 2345636:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 40212 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 6191 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 14285 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 131276:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 73678 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 2558 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 131 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 250745:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 2689 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 9760 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 284069:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 26517 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 74276 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 58 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 3027 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 207 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 9051 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 30630 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 10424191:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 7599298:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 2576 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 344 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 24791222:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 2093635:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 927476:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 16494741:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 18812779:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 15044571:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 2893 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 221 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 14601339:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 241632:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 468 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 1430 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 8321 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 41086 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 546 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 45 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 83915 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 23591 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 15241 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 132296:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 16618 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 35748 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 1624 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 52 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 29937 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 8988 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; No Witnesses Positive: 394360518, Negative: 5639482 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 79.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3822718:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 6268614:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 7424484:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 10344147:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 8294046:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 8880717:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1706920:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 40759 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 3257882:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 26145711:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 1858611:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 23552936:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 4231601:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 10484629:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 606106:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 1549996:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 12082844:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 502540:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 29394950:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 993038:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 65529503:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 771322:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 33704884:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 14833 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 77759 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 16844 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 17799 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 24124 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 173107:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 44172 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 1070 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 137 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 181208:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 273427:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 1996249:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 3892425:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 365412:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 377584:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 444659:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 160208:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 213026:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 15401312:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 2589096:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 48614255:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 619205:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 28775425:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 503006:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 14151940:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 10707 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 541 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 3449138:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 277864:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 3535269:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 5732 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 12255220:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 16999 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 268 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 210 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 31109 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 32296 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 402 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 222 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 5841 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; 942 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; No Witnesses Positive: 385621446, Negative: 14378554 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 72.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 20512322:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 20238844:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 3597929:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 1336997:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 4149930:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 1432997:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 319621:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 21522 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 12595502:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 24463388:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 367837:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 79890 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 36679614:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 23115896:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 8517 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 2432 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 332589:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 16289047:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 258823:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 2058947:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 1945796:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 6912225:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 714165:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 1602842:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 60025 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 11636429:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 1829 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 100161:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 10645758:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 42695843:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 4471 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 137449:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 6912938:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 1646391:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 39095577:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 5123481:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 1910355:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 592350:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 19564553:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 24630 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 37653 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 60477 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 52085 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 17548 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 143470:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 26143 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 21662 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 334 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 492898:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 5820546:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 9117281:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 19547499:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 1847211:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 5095950:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 27710599:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 10464957:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 501 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 106499:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 421 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 31936 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 8627 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 170799:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 1425 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 33567 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; No Witnesses Positive: 375064917, Negative: 24935083 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 74.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (127 states) 367449:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 2707908:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 3752969:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 1433515:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 13944 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 4026814:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 458628:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 179521:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1545049:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 22969300:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 53462570:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 4139843:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 67675 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 3948028:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 29774119:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 210809:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 36829 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 485696:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 1994026:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 1483206:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 26843 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 456949:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 283872:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 498591:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 166159:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 622347:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 10580448:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 392736:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 29276 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 521429:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 9814638:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 276223:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 374082:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 18126118:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 1077852:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 1105844:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 31599 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 2930025:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 860668:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 298366:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 723 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 27668 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 11027 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 70550 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 453 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 49691 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 9447 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 2795 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 585180:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 9701061:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 5589991:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 17586375:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 2724087:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 31924162:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 30023291:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 27372425:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 2633 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 6537 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 69604 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 70808 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 4089 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 42229 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 18181 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 39184 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 591 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 1377727:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 81 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 9 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 9555 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 11517297:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 4701 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 1447 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 67977 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 23444275:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 2673451:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 45940 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 136752:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 20978130:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 10168621:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 154695:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 15 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 35094 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 244 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=2; 3 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=2; 690 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 17500 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 3300 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 1509 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 747 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 197840:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 3565 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=2; 873 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=2; 2758 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 119423:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 311385:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 4586 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1354 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 8961090:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 40 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 23 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 16177 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 8656793:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 3835 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 1888 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 79 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 47378 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 1473 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 64 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 493 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 165372:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 1892 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 318 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 710 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 116693:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 146 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 70 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 346584:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 2763002:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 106486:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 59012 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 812 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=2; 4 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=2; 4 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=2; 54 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 2927 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 162 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 130 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; No Witnesses Positive: 389802839, Negative: 10197161 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 85.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (123 states) 5206900:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 926884:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 325 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 33742 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 45389871:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 1216108:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 84450 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 393879:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 2244387:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 462761:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 71 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 63528 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 6297928:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 235626:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 7157 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 181467:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 965100:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 2330221:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 7351 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 730506:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 9074075:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 3528301:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 234938:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 2603140:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 1 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 1324 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 540 :>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; 815 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=1; 1 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 1040 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 20210393:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 2285027:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 3383 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 1228074:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 222235:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 95118 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 219 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 6902 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 15197720:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 24059726:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 1557 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 2409659:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 256795:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 71083 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 194 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 38652 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 11389177:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 12063876:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 75995 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 2205881:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 18744 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 100196:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 1670 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 123159:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 154 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 5637312:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 2 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 2591045:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 740 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=1; 1156 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 24841 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 289712:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 6763 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 410951:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 450759:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 571424:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 21866893:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 29250745:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 71729 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 252555:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 612 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 279568:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 23113 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 43165 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 3519021:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 8022460:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 20946 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 236736:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 19171 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 7912184:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 5587472:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 2988737:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 6765591:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 54753107:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 5 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 8900 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 68249 :>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; 856 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 1361 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 726151:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 18823 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 460663:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 1086 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 2864349:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 290 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 9563 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 12 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 6682 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 33555 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 10354268:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 1817 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 25697631:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 156 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 7802 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 987 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 60499 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 22768 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 417567:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 8842 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 11377364:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 632 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 14256 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 146 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 136009:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 628 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 1189978:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 115 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 20611841:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 1062 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=2; 5 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; 8508 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; No Witnesses Positive: 399761041, Negative: 238959 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 92.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 73028293:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 188826080:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 89895574:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 61156364:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 77707982:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 309385707:>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 48.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 8493757:>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; 7582992:>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; 4176701:>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; 1792967:>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; 74 :>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; 43908420:>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; 159292336:>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; 1083744:>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; 38828942:>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; 473596:>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; 11152537:>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; 866170:>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; 13660631:>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; 30284703:>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; 19441189:>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; 20674628:>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; 138286613:>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 87.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 367204:>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; 5981517:>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; 12964460:>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; 1781867:>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; 624 :>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; 9778080:>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; 703650:>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; 1427654:>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; 22371107:>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; 71 :>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; 1258019:>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; 73852761:>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; 7996133:>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; 20265419:>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; 1418186:>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; 26202162:>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; 486176:>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; 12236777:>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; 3572209:>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; 29262218:>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; 73372340:>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; 10588092:>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; 184113274:>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 106.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X003-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-F "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV EAX,[y] | MOV [c],$1 ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MFENCE ; MFENCE | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%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) 127329:>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; 1902992:>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; 19485765:>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; 2272188:>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; 470 :>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; 17057744:>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; 42060420:>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; 141025:>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; 13238346:>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; 36 :>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; 1561 :>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; 20215515:>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; 909119:>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; 9682059:>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; 58906 :>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; 8943469:>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; 1525324:>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; 13369823:>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; 131 :>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; 3183284:>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; 48149093:>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; 51195619:>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; 13608875:>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; 232870907:>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 106.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (56 states) 615 :>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; 682 :>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; 58870 :>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; 3 :>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; 4057 :>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; 130619:>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; 140268:>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; 6431 :>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; 76461 :>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; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 342264:>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; 4256 :>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; 1831655:>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; 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=1; 3:EAX=1; 3:EBX=0; 366875:>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; 355464:>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; 885407:>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; 365922:>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; 25206235:>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; 1518762:>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; 256102:>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; 9344028:>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; 64578947:>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; 183 :>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; 7418 :>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; 1189 :>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; 40301 :>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; 4238 :>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; 2763393:>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; 26 :>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; 460800:>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; 249366:>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; 1294174:>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; 4844505:>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; 659 :>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; 14421 :>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; 29118 :>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; 1186561:>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; 1 :>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; 79 :>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; 452364:>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; 6 :>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; 7159005:>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; 249823:>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; 7519275:>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; 171105:>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; 3792713:>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; 351149:>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; 5291498:>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; 107723:>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; 41909399:>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; 13655355:>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; 27622085:>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; 7997410:>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; 167350712:>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 70.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (74 states) 1458 :>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; 854475:>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; 370 :>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; 513738:>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; 1912 :>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; 8228639:>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; 6731 :>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; 3871 :>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; 10470 :>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; 634021:>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; 421697:>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; 1501540:>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; 284023:>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; 12798636:>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; 765442:>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; 1646384:>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; 1144343:>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; 35490306:>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; 84 :>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; 162697:>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; 604 :>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; 1237474:>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; 726 :>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; 17147 :>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; 40846 :>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; 1871928:>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; 889139:>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; 1605431:>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; 130757:>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; 24506506:>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; 765150:>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; 331158:>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; 337321:>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; 21922024:>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; 5143 :>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; 5074514:>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; 3526555:>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; 580178:>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; 12183613:>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; 8595 :>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; 32302094:>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; 722459:>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; 12189524:>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; 68199 :>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; 31077912:>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; 8447645:>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; 23801549:>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; 1622934:>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; 146085779:>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; 332 :>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; 76858 :>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; 7572 :>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; 1560 :>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; 135414:>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; 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; 3:ECX=1; 3:EDX=0; c=2; 450 :>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; 3648 :>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; 2632 :>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; 3407 :>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; 7908 :>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; 73180 :>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; 28168 :>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; 1385 :>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; 9203 :>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; 327 :>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; 265821:>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; 815763:>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; 112574:>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; 609854:>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; 117968:>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; 1638087:>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; 3497 :>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; 260649:>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 85.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (80 states) 4747 :>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; 171587:>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; 17 :>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; 13746 :>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; 2100966:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2 :>0:EAX=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; 353 :>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; 6472 :>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; 6638 :>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; 5545221:>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; 91956 :>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; 8067850:>0:EAX=2; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 5032158:>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; 229749:>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; 47576228:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1 :>0:EAX=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; 5814 :>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; 3936954:>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; 43 :>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; 1440 :>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; 2273514:>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; 4690 :>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; 113076:>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; 17453 :>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; 164717:>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; 222175:>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; 65941 :>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; 9443713:>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; 67531 :>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; 13588813:>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; 466180:>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; 29842385:>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; 3 :>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; 26991163:>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; 513081:>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; 144705536:>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; 63924 :>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; 179744:>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; 2052 :>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; 14531 :>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; 231485:>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; 5066480:>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; 61 :>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; 5052293:>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; 98216 :>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; 21571 :>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; 28858 :>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; 476452:>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; 1646418:>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; 784960:>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; 12512738:>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; 72 :>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; 8534126:>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; 3520 :>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; 1843 :>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; 329390:>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; 67774 :>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; 72 :>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; 293362:>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; 3 :>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; 763549:>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; 5177 :>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; 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=1; b=1; x=2; 1365310:>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; 76852 :>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; 9 :>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; 2630233:>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; 55734 :>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; 39 :>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; 297974:>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; 10 :>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; 943940:>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; 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=1; b=1; x=2; 3082955:>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; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 5253 :>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; 25752154:>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; 255 :>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; 28338686:>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 86.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (118 states) 3 :>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; 38 :>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; 615 :>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; 199 :>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; 98 :>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; 6 :>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; 259 :>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; 14753 :>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; 10471 :>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; 2 :>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; 24743 :>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; 1614 :>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; 2938 :>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; 87 :>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; 49369 :>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; 47 :>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; 66725 :>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; 156229:>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; 71560 :>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; 1752861:>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; 335368:>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; 390785:>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; 7110663:>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; 6804560:>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; 36668310:>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; 7569486:>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; 1 :>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; 80 :>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; 5 :>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; 78 :>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; 15 :>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; 2 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 122 :>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; 99 :>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; 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=1; 5 :>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; 573 :>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; 152 :>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; 183 :>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; 931 :>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; 898 :>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; 7450 :>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; 1449 :>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; 9 :>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; 5351 :>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; 1390085:>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; 1003456:>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; 28 :>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; 2047978:>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; 196501:>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; 18531 :>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; 1755 :>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; 1767882:>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; 141 :>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; 2322077:>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; 4878712:>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; 320192:>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; 4845864:>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; 1637981:>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; 4548791:>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; 6167686:>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; 7144789:>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; 75407799:>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; 29016296:>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; 372 :>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; 11362 :>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; 35 :>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; 389930:>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; 640771:>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; 49323 :>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; 606 :>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; 27 :>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; 350 :>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; 44873 :>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; 18395 :>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; 5 :>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; 282548:>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; 36857 :>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; 973 :>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; 2955 :>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; 102429:>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; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 753426:>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; 421662:>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; 5814 :>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; 413022:>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; 55151 :>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; 299071:>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; 2883009:>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; 9959987:>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; 16194653:>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; 7021673:>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; 108 :>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; 1771 :>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; 16180 :>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; 19613 :>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; 840474:>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; 24448 :>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; 2884940:>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; 27735001:>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; 21 :>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; 415 :>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; 184 :>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; 6268 :>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; 222530:>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; 1969031:>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; 64050 :>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; 210210:>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; 16412293:>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; 170570:>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; 13514685:>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; 22246193:>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; 16231 :>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; 2833245:>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; 6572 :>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; 6961301:>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; 60488602:>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 86.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (128 states) 1677 :>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; 11768 :>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; 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=0; c=1; d=1; y=1; 2287 :>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; 479492:>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; 832786:>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; 3082 :>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; 2118993:>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; 4 :>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; 627 :>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; 7085 :>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; 10894308:>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; 8393 :>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; 1355414:>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; 76 :>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; 3318 :>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; 255852:>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; 28009904:>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; 1687 :>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; 4004746:>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; 17843 :>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; 6340874:>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; 56 :>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; 8 :>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; 6249039:>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; 26 :>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; 1573 :>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; 219964:>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; 16123381:>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; 46 :>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; 46832 :>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; 1107 :>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; 3051908:>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; 1906 :>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; 4 :>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; 1423988:>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; 408 :>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; 1640159:>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; 10178 :>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; 18465154:>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; 1242254:>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; 648 :>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; 18476 :>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; 30182874:>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; 49 :>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; 3503 :>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; 115465:>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; 508 :>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; 3029977:>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; 30 :>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; 492 :>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; 880554:>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; 57623 :>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; 37063 :>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; 673 :>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; 361411:>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; 756 :>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; 598339:>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; 48347 :>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; 1065769:>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; 5293 :>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; 12 :>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; 1926852:>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; 250147:>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; 302599:>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; 217 :>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; 356976:>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; 867 :>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; 4871357:>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; 42870 :>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; 27526 :>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; 2061 :>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; 3969 :>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; 3410769:>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; 5247892:>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; 580327:>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; 10949633:>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; 3132367:>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; 7047377:>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; 238 :>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; 3000 :>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; 142231:>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; 7085303:>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; 2918 :>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; 10880 :>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; 15359189:>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; 43414228:>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; 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=0; c=2; d=2; y=1; 68 :>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; 23691 :>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; 285 :>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; 1012 :>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; 210221:>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; 253 :>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; 98292 :>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; 123936:>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; 1271668:>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; 1116 :>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; 1155673:>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; 45146 :>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; 12479878:>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; 128511:>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; 22738 :>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; 4044541:>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; 195 :>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; 25676 :>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; 12020 :>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; 157 :>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; 5461468:>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; 566472:>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; 4472402:>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; 12239242:>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; 1443904:>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; 17665547:>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; 3789 :>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; 564664:>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; 265222:>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; 26817057:>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; 1380663:>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; 13098680:>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; 10082 :>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; 1090360:>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; 1213396:>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; 14051374:>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; 2494577:>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; 7276804:>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; 26831254:>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 98.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (55 states) 95 :>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; 375 :>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; 2068051:>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; 2493 :>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; 20812875:>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; 735 :>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; 107 :>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; 23142 :>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; 2397744:>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; 500986:>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; 83550483:>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; 378 :>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; 6 :>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; 2753 :>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; 638337:>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; 11195 :>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; 37365251:>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; 101 :>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; 174 :>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; 14135 :>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; 75818 :>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; 563786:>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; 41254794:>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; 245572:>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; 1220070:>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; 82 :>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; 394 :>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; 4156331:>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; 5378514:>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; 65 :>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; 146 :>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; 4302302:>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; 11923761:>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; 2955 :>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; 6280 :>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; 21584856:>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; 27050197:>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; 681877:>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; 2 :>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; 1165181:>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; 5223538:>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; 254509:>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; 44927223:>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; 3151839:>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; 1308 :>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; 11891477:>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; 4190907:>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; 404094:>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; 53873031:>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; 42824 :>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; 18345 :>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; 66390 :>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; 160681:>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; 4243072:>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; 4548363:>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 83.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 6096752:>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; 1433854:>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; 228818:>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; 6680790:>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; 1082818:>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; 7008984:>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; 121727503:>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; 1127920:>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; 53205125:>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; 1543417:>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; 17016806:>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; 7431 :>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; 1913686:>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; 14688983:>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; 26363972:>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; 603510:>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; 239269631:>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 96.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2728161:>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; 22447478:>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; 324221:>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; 156 :>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; 5888692:>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; 5750769:>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; 20045 :>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; 2107 :>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; 69552914:>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; 507988:>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; 11110645:>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; 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; 2:EDX=1; c=1; 4590893:>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; 11796324:>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; 31777567:>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; 6945467:>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; 203226453:>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; 436990:>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; 5054581:>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; 43643682:>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; 9991376:>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; 21368582:>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; 1035771:>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; 41799060:>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 115.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1799537:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 43510008:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 423 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 1040938:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 166940443:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 22857381:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 20715731:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 4112 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 7558355:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 1324176:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 109110606:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4993326:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 10287019:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1327636:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 3758987:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 49883273:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 54888049:>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 97.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (44 states) 4619049:>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; 1104691:>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; 9377323:>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; 1835515:>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; 250 :>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; 1 :>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; 10629858:>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; 26497472:>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; 253 :>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; 4291973:>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; 17 :>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; 328 :>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; 636105:>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; 4309264:>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; 359 :>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; 2545726:>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; 16241 :>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; 4605 :>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; 7855278:>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; 9518818:>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; 2749 :>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; 18463345:>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; 348 :>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; 1792 :>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; 4909968:>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; 23751192:>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; 1273 :>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; 11415349:>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; 42134 :>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; 12019 :>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; 36136989:>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; 154946184:>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; 3024 :>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; 11293114:>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; 237 :>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; 2506 :>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; 909018:>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; 6430404:>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; 7760 :>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; 19828413:>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; 116167:>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; 99445 :>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; 10863931:>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; 17519513:>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 65.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (188 states) 4 :>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; 279 :>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; 4879 :>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; 1151 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 167 :>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; 14864 :>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; 133375:>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; 38055 :>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; 33 :>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; 5133 :>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; 4691 :>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; 5532 :>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; 111 :>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; 16 :>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; 92 :>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; 5 :>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; 4108 :>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; 755 :>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; 1899 :>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; 226 :>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; 499 :>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; 1148 :>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; 5638 :>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; 3873639:>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; 1453943:>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; 3715699:>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; 158 :>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; 14 :>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; 43 :>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; 4178 :>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; 333 :>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; 1829 :>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; 8 :>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; 48 :>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; 12143 :>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; 59684 :>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; 29971 :>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; 26 :>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; 4883 :>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; 4524 :>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; 6379 :>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; 1316 :>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; 324029:>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; 1647844:>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; 1073606:>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; 1323 :>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; 34715 :>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; 77533 :>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; 61373 :>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; 11950 :>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; 360882:>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; 238551:>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; 284638:>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; 3044 :>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; 68749 :>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; 2584 :>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; 6703 :>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; 54912 :>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; 1848306:>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; 10503076:>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; 5077487:>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; 196749:>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; 7127878:>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; 4166392:>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; 8810812:>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; 113 :>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; 28 :>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; 131 :>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; 92 :>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; 209306:>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; 75504 :>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; 356241:>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=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 103 :>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; 233 :>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; 529 :>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; 501 :>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; 209659:>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; 397849:>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; 728894:>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; 306 :>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; 37 :>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; 240 :>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; 40 :>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; 254967:>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; 7280 :>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; 140369:>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; 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; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 9 :>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; 65 :>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; 11 :>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; 6 :>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; 3 :>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; 13399 :>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; 1176 :>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; 6730 :>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; 1792 :>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; 10588582:>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; 553485:>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; 5548935:>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; 345 :>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; 218052:>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; 1594851:>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; 1477817:>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; 3093 :>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; 607930:>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; 557885:>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; 1349955:>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; 25 :>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; 16025 :>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; 623978:>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; 229874:>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; 1264 :>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; 237219:>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; 591067:>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; 873067:>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; 189 :>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; 34543 :>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; 30209 :>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; 41362 :>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; 12 :>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; 54367 :>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; 10467460:>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; 9962008:>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; 17176490:>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; 21626 :>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; 6651013:>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; 709938:>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; 4893709:>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; 3549 :>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; 228094:>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; 104504:>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; 121712:>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; 6 :>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; 5588 :>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; 35 :>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; 51 :>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; 888067:>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; 28345978:>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; 22448050:>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; 36283677:>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; 725108:>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; 45886358:>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; 4402550:>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; 41475546:>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; 40 :>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; 1452 :>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; 123 :>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; 6561 :>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; 116 :>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; 176369:>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; 234 :>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; 2283316:>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; 12 :>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; 36 :>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; 30285 :>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; 34 :>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; 262705:>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; 17432 :>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; 1113988:>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; 352587:>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; 1182318:>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; 1304406:>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; 88 :>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; 82304 :>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; 41 :>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; 65659 :>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; 2834 :>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; 423 :>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; 404959:>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; 379 :>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; 149136:>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; 11451 :>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; 9687937:>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; 35837 :>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; 45764 :>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; 252 :>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; 2707 :>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; 659709:>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; 108871:>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; 9473739:>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; 6091738:>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; 4206039:>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; 1110380:>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; 22826587:>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; 28485625:>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 91.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (72 states) 3882 :>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; 8952 :>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; 17974 :>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; 38199 :>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; 1179721:>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; 1142143:>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; 52 :>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; 2063 :>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; 2 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 133 :>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; 107964:>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; 132191:>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; 116714:>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; 3137929:>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; 2201 :>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; 38 :>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; 50659 :>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; 3329 :>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; 132018:>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; 4941531:>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; 2286315:>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; 22902110:>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; 79484 :>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; 451256:>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; 912585:>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; 49822 :>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; 2084637:>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; 1282123:>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; 2909 :>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; 7746 :>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; 617 :>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; 511756:>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; 417 :>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; 43 :>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; 18799 :>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; 7411 :>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; 9276 :>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; 335089:>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; 28835 :>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; 3421790:>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; 852773:>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; 820447:>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; 1019314:>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; 16374459:>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; 25499 :>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; 1873 :>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; 1244409:>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; 336912:>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; 1192649:>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; 12499764:>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; 14470042:>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; 94109577:>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; 15794 :>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; 177433:>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; 7116350:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=2; 1 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=2; 5570 :>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; 33 :>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; 2158683:>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; 15852653:>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; 79647 :>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; 3268690:>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; 5034450:>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; 26371525:>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; 2585 :>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; 65 :>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; 192853:>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; 988299:>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; 134831:>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; 1728 :>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; 60534266:>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; 89706111:>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 85.74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 85577 :>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; 170183:>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; 16311816:>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; 3371858:>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; 284323:>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; 3341050:>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; 11708932:>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; 4488148:>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; 7168167:>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; 198168:>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; 75 :>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; 24721560:>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; 3224282:>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; 28938850:>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; 15 :>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; 5106936:>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; 2381425:>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; 51541228:>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; 37000712:>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; 23682197:>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; 105954114:>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; 1297574:>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; 169022810:>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 94.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 (53 states) 1068 :>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; 332 :>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; 120210:>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; 7 :>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; 9810 :>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; 1641 :>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; 102500:>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; 953478:>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; 5328 :>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; 94450 :>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; 34 :>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; 267417:>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; 1103 :>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; 2526587:>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; 424756:>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; 166403:>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; 1163088:>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; 285238:>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; 27218831:>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; 666096:>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; 427795:>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; 3630110:>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; 62650217:>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; 49 :>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; 16298 :>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; 792 :>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; 2024 :>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; 2292 :>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; 3742265:>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; 45 :>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; 923270:>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; 463197:>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; 271583:>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; 16150915:>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; 73 :>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; 12876 :>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; 527 :>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; 1305215:>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; 61 :>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; 775 :>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; 5818933:>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; 7318 :>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; 8855580:>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; 1528 :>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; 4426571:>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; 152149:>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; 2885826:>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; 122518:>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; 46114052:>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; 3910386:>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; 6648094:>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; 5475185:>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; 191973104:>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 65.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (120 states) 6 :>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; 1983 :>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; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1661 :>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; 61162 :>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; 12 :>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>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; 29060 :>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; 1541 :>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; 103 :>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; 381780:>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; 18 :>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; 3881 :>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; 13101 :>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; 12504148:>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; 262 :>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; 851 :>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; 19 :>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; 437 :>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; 4767 :>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; 4155 :>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; 1646 :>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; 1552 :>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; 250 :>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; 303445:>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; 420 :>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; 8935 :>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; 2976176:>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; 128547:>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; 156771:>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; 10471976:>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; 470 :>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; 758216:>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; 3820908:>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; 23987930:>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; 344221:>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; 9762968:>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; 6 :>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; 312 :>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; 309 :>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; 399257:>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; 93 :>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; 313 :>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; 2773 :>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; 402279:>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; 91 :>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; 1601 :>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; 1168935:>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; 1019 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 218232:>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; 118 :>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; 36068 :>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; 1737 :>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; 26264996:>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; 84088 :>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; 975902:>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; 1070 :>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; 189550:>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; 96866 :>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; 247728:>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; 3552 :>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; 56165 :>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; 8381 :>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; 2581559:>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; 29453 :>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; 772089:>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; 57221111:>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; 14 :>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; 9605009:>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; 63112 :>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; 19294567:>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; 2 :>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; 2810528:>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; 7463854:>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; 143873723:>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; 34827 :>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; 47372689:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 34 :>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; 147 :>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; 833 :>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; 29 :>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; 94241 :>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; 10 :>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; 23189 :>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; 6311 :>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; 178 :>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; 374 :>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; 198 :>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; 103526:>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; 55186 :>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; 7488 :>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; 14240 :>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; 18 :>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; 15391 :>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; 600 :>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; 5 :>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; 8084 :>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; 75 :>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; 62557 :>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; 336 :>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; 309851:>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; 385 :>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; 1236369:>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; 2642 :>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; 1073 :>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; 35 :>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; 43 :>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; 980231:>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; 163814:>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; 1377090:>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; 1186115:>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; 1930868:>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; 1016859:>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; 1121201:>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; 3263001:>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 85.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (54 states) 47936 :>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; 39958 :>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; 5144272:>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; 45 :>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; 1861705:>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; 1388094:>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; 8673398:>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; 44519293:>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; 12679 :>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; 6352733:>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; 1039768:>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; 23667217:>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; 84897 :>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; 225277:>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; 386120:>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; 5142448:>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; 17232980:>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; 13562268:>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; 80605775:>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; 162058938:>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; 23196 :>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; 47070 :>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; 1830 :>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; 18264 :>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; 172736:>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; 1726089:>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; 15689 :>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; 3517936:>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; 214134:>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; 47532 :>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; 2738 :>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; 179454:>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; 950318:>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; 456220:>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; 5742239:>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; 8163 :>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; 5832566:>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; 89 :>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; 28893 :>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; 27658 :>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; 1791 :>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; 46483 :>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; 637 :>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; 96341 :>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; 217066:>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; 1828763:>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; 549681:>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; 1024 :>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; 39165 :>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; 825 :>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; 83702 :>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; 6006578:>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; 69326 :>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 80.49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 447 :>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; 58671 :>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; 4 :>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; 399512:>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; 2676 :>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; 49970 :>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; 48 :>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; 145045:>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; 2118109:>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; 310559:>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; 15356654:>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; 40536934:>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; 21532 :>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; 3970162:>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; 21 :>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; 8846734:>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; 14880 :>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; 1813004:>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; 91 :>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; 6853912:>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; 8353213:>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; 5027702:>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; 21832938:>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; 109610596:>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; 149 :>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; 21556 :>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; 8 :>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; 2441089:>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; 226854:>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; 769 :>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; 62678 :>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; 8 :>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; 1338791:>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; 488 :>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; 104479:>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; 678047:>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; 439143:>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; 279742:>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; 15939476:>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; 22451966:>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; 26650 :>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; 1977515:>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; 1416356:>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; 19851697:>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; 201384:>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; 4574689:>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; 128337:>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; 5858980:>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; 139082:>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; 13673539:>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; 26240444:>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; 9237 :>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; 4812590:>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; 6073391:>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; 45707451:>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 82.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (122 states) 3 :>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; 2200 :>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; 1396 :>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; 37918 :>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; 18521 :>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; 19169 :>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; 5116049:>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; 4 :>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; 531 :>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; 188 :>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; 1046 :>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; 44373 :>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; 14432 :>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; 1099289:>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; 185 :>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; 253571:>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; 1419 :>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; 260064:>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; 279886:>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; 261 :>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; 6590929:>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; 71 :>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; 29625 :>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; 125 :>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; 12628 :>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; 252116:>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; 48 :>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; 692493:>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; 124 :>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; 1847 :>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; 6390 :>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; 832836:>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; 86 :>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; 203 :>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; 8948 :>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; 143436:>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; 78201 :>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; 92416 :>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; 320140:>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; 4266663:>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; 21685 :>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; 4790 :>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; 190070:>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; 730410:>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; 3 :>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; 79 :>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; 617 :>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; 1388 :>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; 1496 :>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; 1604 :>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; 2330643:>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; 458 :>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; 3248 :>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; 10972 :>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; 5612 :>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; 47370 :>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; 1920695:>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; 7872646:>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; 35345245:>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; 160 :>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; 163954:>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; 1850 :>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; 152031:>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; 479832:>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; 409 :>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; 8226189:>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; 128793:>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; 1059658:>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; 123140:>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; 277382:>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; 1935120:>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; 40267375:>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; 11939862:>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; 94358442:>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; 8021 :>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; 83168 :>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; 105436:>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; 299 :>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; 313 :>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; 3103 :>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; 1598144:>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; 46134 :>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; 2135 :>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; 5690048:>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; 8949119:>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; 1321 :>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; 840470:>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; 171 :>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; 380 :>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; 150914:>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; 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=1; y=2; 82311 :>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; 269 :>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; 26349 :>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; 364 :>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; 2061856:>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; 237 :>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; 246434:>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; 24074 :>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; 2108674:>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; 5596 :>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; 385691:>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; 298 :>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; 664374:>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; 1833 :>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; 596117:>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; 3985516:>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; 20602037:>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; 3 :>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; 362417:>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; 95618 :>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; 2537884:>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; 2206941:>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; 18013401:>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; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 433185:>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; 1383584:>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; 12202325:>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; 1483 :>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; 2594557:>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; 17486423:>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; 66327913:>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 97.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 73 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 23 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1188961:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2739 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 870 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 32275741:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2846 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1763 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 33991170:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 7840 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2985 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 81233181:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 3772097:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 20675608:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 20374198:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 22302104:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 2623 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 20841 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 116765:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 571747:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 2346516:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 8034117:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 12079575:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 34662098:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 17 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 26 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 246 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 3077275:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 32 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1025388:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 48 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 711 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 15445634:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 257165:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 17052225:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 22222174:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 64336017:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 3958 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 7744 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 41994 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 301165:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 652849:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 1908850:>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 78.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 (99 states) 26 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 6965 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 42 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 38685 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3736 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 7039 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 20170082:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 275 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 24562 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 19328 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1412 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 74743525:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 82 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 140 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 7811 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 20 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 294 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 6061 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 343 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 110732:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 31455 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 19485222:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 2522 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 5325 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 525337:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 835 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 10420587:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1261 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1949 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1277 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 7990105:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1971 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 132 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1229933:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 7 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 4463 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 301 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 5715 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 8313639:>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; 191 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 583 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 409936:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 5942 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 6009638:>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; 13072 :>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; 330 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 52099382:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 77 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 8005 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 19657 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 15364704:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 794 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6735 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 85118 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 797 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 12713921:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 3196355:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 558 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 587025:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 1103 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 5072732:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 343 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 158 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 304835:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 216 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 25526 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 7658737:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 99 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 65138021:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 2952 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 7711 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 5658527:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 14361443:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 871 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 17 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 285031:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 122 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 1347 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 138936:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 153048:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 69 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 46218683:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 1435437:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 20 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 19533927:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 203234:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 125 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 110648:>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 82.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (112 states) 4 :>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; 14 :>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; 43 :>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; 10 :>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; 31756 :>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; 1329444:>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; 1325007:>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; 5 :>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; 35 :>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; 204 :>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; 147 :>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; 248484:>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; 3584675:>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; 8 :>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; 1946 :>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; 5582441:>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; 21164763:>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; 249 :>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; 465 :>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; 1555 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 2 :>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; 3876 :>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; 1274 :>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; 3461 :>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; 110469:>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; 3278316:>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; 3241138:>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; 17 :>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; 199 :>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; 10 :>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; 1409 :>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; 2150 :>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; 623816:>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; 16553488:>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; 363 :>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; 124994:>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; 11374149:>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; 86516617:>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; 232887:>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; 323022:>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; 4297 :>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; 70132 :>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; 191044:>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; 2356166:>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; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 10 :>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; 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=2; x=1; z=1; 58 :>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; 116 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 1187591:>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; 1465789:>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; 25914 :>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; 657100:>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; 1608155:>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; 16654931:>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; 29 :>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; 42 :>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; 7106395:>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; 409 :>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; 12 :>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; 11151886:>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; 1 :>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; 2861 :>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; 2051 :>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; 760 :>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; 28022121:>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; 2262 :>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; 32 :>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; 40806465:>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; 767171:>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; 17007 :>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; 4293391:>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; 816 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=2; z=1; 1797 :>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; 22276161:>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; 156645:>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; 101348746:>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; 790 :>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; 4804 :>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; 10724 :>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; 23 :>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; 828 :>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; 7 :>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; 44 :>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; 89735 :>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; 347856:>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; 707713:>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; 8 :>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; 10 :>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; 7249 :>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; 226233:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 7 :>1:EAX=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; 1499 :>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; 137567:>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; 1017677:>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; 1167 :>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; 294 :>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; 180 :>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; 4451 :>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; 5779 :>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; 25544 :>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; 8755 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 4 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 1050709:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=2; 83695 :>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; 120209:>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; 2557 :>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; 302585:>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 98.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 381935:>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; 875837:>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; 3085009:>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; 7931492:>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; 328099:>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; 532717:>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; 25216350:>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; 611830:>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; 7788361:>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; 53305 :>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; 67101 :>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; 31097 :>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; 82 :>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; 4853102:>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; 190778:>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; 144 :>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; 30497913:>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; 232 :>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; 57366 :>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; 91558332:>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; 490663:>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; 720389:>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; 5031553:>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; 2 :>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; 31789417:>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; 35325 :>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; 2572259:>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; 62 :>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; 116 :>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; 31043058:>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; 7019725:>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; 741749:>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; 4 :>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; 2258994:>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; 19087365:>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; 6605358:>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; 15496918:>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; 756307:>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; 41924 :>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; 25379261:>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; 73751656:>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; 12413364:>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; 852749:>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; 10577709:>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; 17763710:>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; 1510280:>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; 3289726:>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; 56709275:>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 113.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 20 :>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; 11 :>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; 6020 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 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=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 4 :>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; 2624 :>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; 2106 :>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; 3353 :>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; 22520 :>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; 7 :>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; 18 :>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; 34 :>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; 25458 :>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; 467 :>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; 1483 :>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; 4807 :>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; 3816455:>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; 10 :>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; 86 :>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; 161 :>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; 31 :>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; 5333 :>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; 59 :>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; 1491840:>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; 608760:>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; 456371:>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; 17459698:>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; 2237 :>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; 36 :>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; 9665 :>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; 7671 :>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; 113304:>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; 40729 :>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; 161832:>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; 9156 :>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; 1587574:>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; 17212 :>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; 29312 :>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; 31818 :>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; 38514 :>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; 402634:>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; 96 :>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; 137590:>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; 5 :>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; 9248 :>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; 538 :>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; 1429315:>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; 835 :>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; 5229535:>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; 1997 :>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; 5686620:>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; 1385761:>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; 5680543:>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; 256883:>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; 61202606:>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; 639 :>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; 1351635:>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; 3252405:>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; 3503102:>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; 1436561:>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; 73045978:>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; 2 :>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; 8579 :>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; 2601 :>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; 313546:>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; 6 :>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; 4 :>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; 9 :>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; 123 :>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; 362 :>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; 25 :>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; 32291 :>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; 13772 :>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; 690498:>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; 1945345:>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; 60895 :>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; 1961 :>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; 468854:>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; 943876:>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; 3003021:>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; 672183:>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; 778883:>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; 3145668:>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; 80822822:>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; 989536:>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; 403828:>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; 175996:>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; 5075400:>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; 42069858:>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; 589 :>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=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=2; 225 :>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; 361074:>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; 3852 :>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; 168733:>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; 1087 :>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; 2252490:>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; 53 :>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; 23451 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 18 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; d=1; y=2; 6795 :>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; 3612790:>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; 51012 :>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; 3562890:>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; 10780 :>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; 15274506:>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; 22018 :>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; 24 :>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; 3543 :>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; 7573413:>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; 186656:>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; 2361056:>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; 244224:>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; 32687450:>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 85.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (191 states) 1 :>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; 774 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 872 :>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=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 189 :>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; 915 :>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; 3539 :>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; 18386 :>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; 2060036:>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; 69 :>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; 11 :>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; 8 :>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; 2257 :>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; 2692 :>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; 755556:>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; 187 :>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; 68585 :>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; 4205 :>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; 48044313:>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; 378 :>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; 663 :>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=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; 59 :>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=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 2 :>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; 2 :>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; 3267 :>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; 53 :>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; 302 :>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; 20485 :>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; 1432 :>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; 16 :>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; 9 :>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; 4 :>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; 3 :>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; 491710:>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; 779640:>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; 11520 :>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; 192740:>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; 3 :>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; 357 :>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; 339 :>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; 501 :>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; 2349 :>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; 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=1; 1694 :>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; 13273 :>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; 17419503:>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; 1502080:>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; 7943513:>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; 80835788:>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; 160697:>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; 33395950:>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; 4 :>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; 63 :>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; 581 :>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; 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; 7174 :>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; 68 :>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; 176 :>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; 978 :>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; 1029759:>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; 1037 :>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; 2468502:>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; 605 :>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; 127 :>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; 183 :>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; 979 :>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; 940 :>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; 862 :>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; 4 :>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; 53 :>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; 28 :>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; 1324399:>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; 916341:>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; 364613:>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; 1711462:>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=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=2; z=1; 8 :>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; 8 :>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; 9 :>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; 11803 :>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; 215738:>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; 928 :>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; 485 :>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; 700859:>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; 37 :>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; 1725 :>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; 33806 :>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; 9629991:>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=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 35 :>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; 1 :>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; 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; 176 :>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; 8 :>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; 9247 :>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; 13251 :>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; 4235 :>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; 5050 :>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; 14835 :>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; 1501519:>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; 592 :>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; 338499:>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; 1307439:>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; 2326974:>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; 793185:>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; 10488738:>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=1; 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=1; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 160 :>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; 28 :>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; 119771:>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; 1 :>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; 22308 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 8540 :>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; 10260 :>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; 99 :>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; 1286 :>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; 42 :>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; 6702 :>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; 5650 :>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; 5236467:>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; 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; 5 :>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; 714 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 8913 :>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; 32 :>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; 4001346:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 38 :>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; 3033568:>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; 21915138:>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; 19099 :>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; 3594883:>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=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; 5 :>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; 30 :>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; 106 :>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; 86 :>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; 199 :>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; 2954 :>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; 2143829:>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; 21769 :>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; 3408204:>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; 93306107:>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; 1860 :>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; 23568299:>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; 86 :>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; 165633:>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; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 54 :>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; 34179 :>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; 769 :>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; 896000:>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; 48769 :>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; 105076:>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; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 2 :>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; 7 :>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; 554333:>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; 182522:>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; 2068438:>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; 6309474:>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; 73 :>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; 3770 :>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; 6 :>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; 11 :>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; 31983 :>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; 184 :>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; 608 :>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; 18 :>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; 180 :>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; 25 :>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; 13347 :>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; 155 :>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; 1959 :>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; 156716:>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; 18 :>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; 14590 :>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; 9 :>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; 268 :>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; 1902 :>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; 902 :>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; 141 :>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; 79 :>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; 69 :>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 99.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (102 states) 107 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 77012 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4743135:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1458133:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 9430268:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 516584:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 32975471:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 160 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3748 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 27 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1010 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 69 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 6385 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 535063:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 22629250:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 5618471:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 16957348:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2486910:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 106757539:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 10 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 38163 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 267253:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 28729 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1521291:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1979672:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 94 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 11 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 177 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 5063 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 215100:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 560689:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 37467 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 4483082:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 7222380:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 40910 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 729466:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 5518520:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 20 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 78 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 371 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 100901:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 8742939:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 41701511:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 206847:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 80332 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 7 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 418600:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 75632 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 6 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 50504 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 1209004:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 49616 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 61594 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 134 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 520 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 8 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 590902:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 3652362:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 582177:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 832639:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 186082:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 26549 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1858952:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 410 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 10 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 2116 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 2099897:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 1023552:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 104567110:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 26006 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 21 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 2629 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 2576280:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 7582 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 18113 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 59046 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 631324:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1637 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 94 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 597 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 312238:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 5031 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 6 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 78089 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 325371:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2998 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 53949 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 151146:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 6095 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 22 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 2022 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 2370 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 287428:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 599 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 568 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 54363 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 14225 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 413986:>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 92.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (119 states) 8 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 6164 :>1:EAX=1; 2:EAX=2; 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=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 23141 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 8136 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 4232467:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3033 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 29 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 8759721:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1507 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 18 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 5867 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 9282 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 97201 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 869600:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 6190 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 189013:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 165754:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 5769 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1509900:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 5961653:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 5925116:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 35333850:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1059627:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 44875542:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 242 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 295 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 28896 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 307 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1780910:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 67 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 84272 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 3 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 9454 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 8616 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 14 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 124423:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 755960:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 436822:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 13228275:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 64477 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 11948379:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1004 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 135730:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 143 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 28 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 958673:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 12862 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 395 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 72523 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 444241:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1358818:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 46644840:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 210815:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 23031017:>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; 744 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 92 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 385890:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 9 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 90840 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 886 :>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=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 30604 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 178549:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 667 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 3211186:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 109593:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 67123 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 993659:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1884796:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 11544 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 4690 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 436 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 6275271:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1307672:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 319679:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 19478836:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 18991959:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 79360 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 926 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4613488:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 18706461:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 14602917:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 18 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 350847:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 28479323:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 8410066:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 134 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 3 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 350423:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 536122:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 30277 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 24 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 3633810:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 3233691:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 22078 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 582167:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 675 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 506503:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 11057956:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2594 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 32 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 4559700:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 12928898:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 65552 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 4917820:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 4817 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 32534 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 491115:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 2254001:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 2272972:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 13536847:>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 95.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (214 states) 474 :>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; 132 :>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 709 :>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; 3828 :>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; 1650569:>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; 11 :>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; 1773 :>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; 2076 :>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; 12142006:>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; 13 :>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; 200 :>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; 197 :>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; 41235 :>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; 76 :>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; 1581 :>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; 700538:>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; 108 :>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; 1038 :>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; 33 :>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; 199670:>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; 444 :>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; 6600667:>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; 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; 194 :>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; 29516 :>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; 38 :>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; 557550:>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; 357 :>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; 173 :>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; 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; 5817 :>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; 1007317:>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; 4 :>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; 1059 :>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; 828 :>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; 15555915:>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; 917 :>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; 721 :>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; 6 :>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; 1205 :>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; 9911 :>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; 37 :>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; 11 :>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; 1381874:>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; 947003:>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; 3020 :>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; 5354 :>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; 16666777:>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; 47749716:>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; 25 :>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; 3852 :>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; 176 :>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; 1338261:>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; 17 :>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; 2595 :>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; 15973 :>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; 168 :>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; 3519422:>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=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 3 :>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; 2685 :>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; 227399:>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; 15611 :>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; 4470743:>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=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 194 :>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; 3164 :>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; 12119 :>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; 509653:>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; 1 :>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; 3 :>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; 12805 :>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; 469240:>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; 2 :>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; 648 :>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; 25575 :>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; 1722 :>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; 12906 :>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; 3843 :>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; 823229:>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; 2 :>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; 21 :>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; 156 :>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; 21071 :>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; 21037 :>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; 3865503:>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; 9381363:>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; 9126 :>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; 15 :>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; 10162 :>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; 27 :>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; 19 :>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; 265499:>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; 39 :>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; 10 :>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; 3 :>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; 59790 :>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; 461 :>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; 485 :>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; 6084252:>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; 26 :>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; 224 :>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; 630505:>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; 217 :>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; 92 :>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; 897672:>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; 2 :>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; 144 :>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; 1945 :>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; 133 :>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; 2506 :>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; 908794:>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; 19126385:>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; 12 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 993 :>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; 5292303:>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; 2 :>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; 12713 :>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; 3991 :>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; 55613409:>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; 4055 :>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; 1171875:>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; 781 :>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; 120735:>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; 4 :>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; 2784027:>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; 1 :>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; 148184:>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; 1854 :>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; 814138:>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; 69 :>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; 765071:>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; 6153391:>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; 577360:>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; 119 :>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; 1863233:>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; 1356 :>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; 2742779:>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 30 :>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; 568251:>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; 129 :>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; 356489:>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; 4 :>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; 4 :>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; 378080:>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; 1146967:>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; 11 :>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; 1765146:>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; 306485:>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; 3 :>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; 418456:>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; 1960 :>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; 3044052:>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; 40 :>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; 1104827:>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; 1 :>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; 5606893:>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; 34510603:>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; 109 :>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; 227 :>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; 9587319:>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; 58124048:>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; 101085:>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; 139472:>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; 1260376:>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; 10 :>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; 8494890:>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; 21 :>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; 5557 :>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; 19640 :>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; 2 :>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; 154 :>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; 3829 :>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; 525 :>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; 9333 :>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; 174 :>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; 4913 :>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; 18 :>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; 105 :>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; 6 :>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; 4873 :>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; 544 :>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; 1232 :>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; 8037 :>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; 123298:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 2 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 7667 :>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; 4 :>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; 2403 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=2; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=2; 413458:>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; 8 :>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; 42604 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 9 :>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; 81860 :>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; 5016254:>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; 77182 :>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; 259 :>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; 30950067:>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; 70 :>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; 1180 :>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; 240 :>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; 216 :>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; 51614 :>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; 151760:>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 106.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (55 states) 303 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 32119 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 463542:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 225111:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 62113621:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 38 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 156 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 23547 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 3263 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 1467873:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 37669349:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 174 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1296 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 2082174:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 821910:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 2650 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 13549 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 11105823:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 5924041:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 461 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 423 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3872711:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 49099 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 27126449:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 798 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 17116 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2503287:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 352535:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 86039890:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 2398 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 3011 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 56 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 758 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 753367:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1209715:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1820526:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 8762 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 44343195:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 240598:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 321092:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 64965188:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 862583:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 635002:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 5394087:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 9575170:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 215028:>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; 291909:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 2373637:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 3634 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 24968926:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 16224 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 81792 :>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 91.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1250081:>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; 35 :>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; 124874493:>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; 6202587:>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; 3665188:>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; 8894089:>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; 242722208:>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; 1099 :>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; 2651950:>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; 1861630:>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; 58699319:>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; 73510 :>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; 8420995:>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; 10390 :>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; 40672426:>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 114.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 46 :>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; 7494 :>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; 8830086:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; 15 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; 1474 :>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; 50229 :>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; 63770 :>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; 34 :>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; 7242444:>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; 48249456:>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; 68216 :>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; 1219804:>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; 3694476:>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; 19580475:>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; 3333322:>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; 186769929:>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; 6282820:>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; 128954:>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; 4748361:>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; 100830100:>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=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; 2421644:>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; 580 :>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; 351470:>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; 1428593:>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; 7235735:>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; 3118865:>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; 77391488:>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; 93 :>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; 16949985:>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 140.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 207693:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 15403174:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 17 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 150049:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 66444300:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 19362127:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 13002147:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 663 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 11657971:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2897212:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 181036450:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2222543:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 10920430:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 989154:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1937350:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 63456078:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 110312642:>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 112.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3854627:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1752 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 14681229:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 18174153:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 480863:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 52982530:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 263137294:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3173 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2913170:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 903 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 528158:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 33927459:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7964326:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 15885960:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1823244:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 83641150:>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 95.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (63 states) 2 :>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; 105993:>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; 1045 :>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; 9519 :>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; 33 :>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; 32889 :>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; 2 :>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; 39882 :>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; 14387 :>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; 4461 :>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; 218828:>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; 3 :>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; 3024 :>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; 3480 :>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; 1857 :>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; 10164044:>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; 10630 :>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; 45800127:>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; 4450 :>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; 2326 :>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; 363484:>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; 2557083:>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; 1921 :>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; 1 :>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; 8766149:>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; 6752330:>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; 174 :>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; 23 :>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; 1219426:>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; 57 :>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; 12 :>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; 13028 :>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; 168153:>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; 114 :>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; 1086 :>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; 990833:>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; 1503 :>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; 58 :>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; 901587:>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; 830116:>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; 44 :>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; 4386 :>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; 1352 :>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; 1116925:>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; 3 :>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; 14 :>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; 9029 :>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 28494 :>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; 904 :>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; 20940359:>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; 20 :>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; 17170 :>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; 64471 :>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; 195089241:>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; 15889 :>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; 25768 :>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; 457512:>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; 2408317:>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; 50778 :>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; 11083 :>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; 43805259:>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; 56968861:>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 81.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (93 states) 2433 :>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; 18978 :>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; 455 :>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; 3781 :>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; 4205408:>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 11 :>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; 17403 :>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; 4471896:>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; 200 :>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; 126 :>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; 1711 :>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; 1367 :>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; 15174 :>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; 130132:>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; 37884 :>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; 4755570:>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; 17403 :>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; 24400 :>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; 95703 :>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; 2274686:>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; 88 :>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; 250 :>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; 423684:>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; 18 :>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; 153 :>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; 11587 :>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; 1785826:>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; 17 :>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; 750 :>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; 1058 :>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; 749366:>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; 6793 :>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; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 8960732:>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; 22616 :>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; 612 :>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; 63485786:>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; 3174 :>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; 225906:>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; 899 :>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; 549024:>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; 15031 :>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; 100574:>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; 17529 :>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; 704523:>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; 151 :>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; 111270:>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; 25593 :>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; 3191 :>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; 2825627:>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; 3 :>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; 3551481:>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; 39198 :>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; 13580954:>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; 17208 :>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; 28055271:>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; 217359:>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; 21585184:>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; 117991:>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; 78134505:>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; 1833 :>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; 66 :>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; 6644455:>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; 1376506:>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; 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; e=2; 26094 :>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; 664791:>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; 2 :>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; 31958 :>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; 2 :>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; 89214 :>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; 231269:>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; 260 :>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; 139095:>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; 245 :>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; 1225380:>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; 7357 :>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; 30006329:>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; 518 :>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; 27793598:>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; 4181 :>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; 25966 :>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; 12383 :>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; 2041378:>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; 2051648:>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; 620548:>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; 4270605:>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; 10658344:>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; 48625375:>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; 510314:>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; 21534572:>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 98.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (54 states) 10935 :>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; 2708 :>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; 706637:>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; 1 :>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; 1336 :>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; 263220:>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; 860656:>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; 376110:>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; 18392055:>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; 72 :>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; 3879310:>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; 69151 :>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; 13121421:>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; 10343 :>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; 16455 :>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; 28546 :>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; 10594091:>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; 8497203:>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; 18138493:>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; 47152338:>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; 260051939:>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; 2457 :>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; 6706 :>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; 303 :>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; 14214 :>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; 17442 :>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; 500986:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 9 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=2; x=1; 1768305:>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; 23684 :>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; 3273 :>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; 429 :>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; 21853 :>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; 755557:>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; 75451 :>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; 3686613:>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; 14 :>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; 6631337:>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; 40 :>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; 531 :>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; 7125 :>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; 648 :>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; 7702 :>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; 1260 :>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; 1937 :>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; 118843:>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; 78247 :>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; 277227:>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; 314 :>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; 8968 :>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; 69897 :>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; 64690 :>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; 3370055:>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; 310863:>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 88.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (65 states) 1539 :>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; 1790 :>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; 1199 :>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; 6646 :>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; 2954 :>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; 6930 :>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; 130 :>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; 10481204:>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; 8662913:>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; 6298414:>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; 16783441:>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; 223337:>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; 259703:>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; 57046 :>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; 317689:>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; 2410 :>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; 509620:>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; 230125:>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; 18952593:>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; 55446381:>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; 2258019:>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; 73143297:>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; 74684 :>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; 9 :>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; 210864:>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; 13534 :>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; 572 :>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; 457 :>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; 617 :>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; 2317 :>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; 71 :>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; 18505 :>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; 8043 :>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; 455508:>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; 1303293:>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; 891107:>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; 4162668:>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; 4423 :>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; 4 :>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; 215555:>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; 175 :>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; 1727 :>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; 864 :>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; 6013607:>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; 31939216:>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; 11 :>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; 213663:>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; 113 :>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; 2069925:>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; 3605 :>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; 125 :>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; 3715 :>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; 834456:>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; 55595203:>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; 16749 :>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; 5 :>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; 12059419:>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; 15317626:>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; 455 :>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; 332518:>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; 195 :>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; 11 :>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; 13 :>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; 6551329:>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; 68035664:>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 90.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (88 states) 1125 :>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; 14145 :>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; 3578 :>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; 817442:>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; 2933 :>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; 6619 :>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; 45839 :>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; 710547:>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; 37 :>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; 31355 :>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; 2423 :>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; 419353:>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; 22069 :>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; 291 :>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; 7751834:>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; 685 :>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; 318797:>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; 25757 :>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; 2102439:>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; 44 :>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; 770960:>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; 69138 :>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; 44854842:>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; 1092 :>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; 81304 :>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; 5 :>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; 10650 :>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; 7259 :>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; 121211:>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; 79903 :>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; 2860526:>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; 18576 :>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; 27754 :>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; 847325:>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; 3943186:>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; 1232 :>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; 311 :>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; 51302 :>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; 18169 :>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; 25 :>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; 4 :>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; 42 :>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; 32 :>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; 1976 :>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; 79053 :>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; 1155810:>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; 280653:>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; 708205:>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; 331809:>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; 6497710:>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; 3977614:>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; 34680506:>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; 9 :>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; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 5558 :>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; 1753940:>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; 182902:>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; 4853 :>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; 2644068:>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; 89904 :>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; 6741289:>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; 8 :>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; 13 :>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; 4115266:>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; 166900:>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; 108625:>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; 42182499:>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; 1804975:>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; 2162184:>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; 15915 :>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; 5930841:>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; 2263437:>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; 46906430:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=2; 12 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 456803:>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; 1078402:>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; 3 :>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; 524 :>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; 302649:>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; 3431916:>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; 10184335:>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; 79687290:>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; 40 :>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; 881762:>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; 31 :>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; 650 :>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; 17254401:>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; 55886069:>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 111.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 87 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 8875744:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1910 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 82318915:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1525 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 24171983:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 4917 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 67516413:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 16085761:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 16248820:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 6810004:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 4177072:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 3100 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 9856 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 65365 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 552929:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1065911:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 2094745:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 7157034:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 35301140:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 733 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 15 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 10514326:>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; 49612 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 12 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 15502239:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 9436721:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 40800642:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 12632159:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 37408236:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 2333 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 4661 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 547 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 3556 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 246164:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 934812:>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 89.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 5096902:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 3263 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 16410462:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 140490374:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 3087395:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 996 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 33799951:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 49364071:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 686 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 3659313:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 543505:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 15 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 4872270:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 8659618:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 81569816:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 1735790:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 122902459:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 27803114:>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 106.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (66 states) 178 :>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; 32 :>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; 1140787:>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; 29 :>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; 9 :>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; 19681 :>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; 112793:>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; 1 :>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; 186 :>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; 1902 :>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; 1312941:>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; 1440 :>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; 48 :>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; 1225939:>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; 642101:>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; 1396 :>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; 1223110:>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; 4 :>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; 4 :>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; 1969 :>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; 39 :>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; 21159 :>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; 47407 :>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; 130057241:>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; 48396 :>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; 11511 :>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; 26130082:>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; 34298759:>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; 3 :>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; 393176:>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; 5413 :>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; 71744 :>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; 182 :>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; 272074:>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; 9 :>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; 199811:>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; 70115 :>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; 570210:>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; 2 :>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; 2355 :>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; 8 :>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; 37652 :>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; 131387624:>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; 5340 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=1; 28166216:>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; 25067152:>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; 18 :>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; 1436 :>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; 2 :>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; 14732 :>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; 152 :>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; 2049848:>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; 10021 :>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; 10924 :>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; 68259 :>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; 246503:>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; 4739 :>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=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; 6890 :>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; 1207 :>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; 12317629:>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; 13285 :>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; 7268 :>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; 592484:>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; 2106365:>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 92.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (97 states) 8 :>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; 170 :>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; 5143 :>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; 434111:>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; 5062 :>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; 2 :>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; 3300512:>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; 17413 :>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; 121 :>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; 24985158:>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; 10728 :>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; 36580 :>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; 9830 :>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; 234253:>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; 12226 :>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; 9930203:>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; 3691 :>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; 13299169:>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; 114747:>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; 13512316:>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; 33371 :>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; 44956965:>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; 61507 :>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; 5125 :>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; 13723907:>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; 56 :>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; 13746065:>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; 1300 :>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; 5982249:>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; 38712088:>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; 8876 :>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; 9841584:>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; 4 :>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; 25 :>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; 11264 :>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; 434888:>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; 1153 :>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; 20569 :>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; 10631724:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1 :>0:EAX=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; 1110 :>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; 44626 :>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; 43787891:>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; 1227 :>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; 2018 :>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; 4771 :>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; 24551 :>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; 19917 :>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; 1918090:>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; 47031 :>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; 16535695:>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; 49512 :>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; 564976:>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; 139751:>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; 14379490:>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; 39166 :>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; 755 :>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; 25052509:>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; 6 :>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; 15045107:>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; 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; 453644:>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; 7236989:>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; 5 :>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; 261308:>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; 4 :>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; 298 :>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; 1821 :>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; 1571174:>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; 256 :>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; 16581 :>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; 8420 :>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; 7 :>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; 8740128:>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; 20290 :>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; 554468:>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; 5120 :>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; 1424836:>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; 344 :>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; 360890:>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; 81126 :>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; 27821 :>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; 8514072:>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; 104 :>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; 20094438:>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; 7 :>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; 314790:>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; 1614 :>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; 1014897:>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; 754 :>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; 8522019:>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; 3872 :>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; 49178 :>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; 1797111:>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; 3047308:>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; 487940:>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; 13643953:>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 112.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (54 states) 710004:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 239639:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 14546696:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 5339253:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 5960288:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 141062706:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 2469 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 291418:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 931349:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 2223 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 2736064:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 7644371:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 6657 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 629781:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2095459:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 81456 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 15102998:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 52553921:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 87036 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 39741 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 600203:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 146083:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 274592:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 53233 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 2740267:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 3038382:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 14673 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 12821 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 368485:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 311291:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 4599358:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 101129640:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 89908 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 10339 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 3458752:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 32683 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 26343167:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1619 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 156 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 11820 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 12927 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 85492 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1947151:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 4423 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 75164 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 667304:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 3452 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 447 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 4773 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 868029:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 543564:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 102738:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 32774 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 2350761:>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 100.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (65 states) 221070:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 244649:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 49882 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 292660:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 716573:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 319161:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 36194891:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 53174940:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1466 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1005 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1221 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 3486 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 26432 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 11499 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 2120259:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 5985888:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 2683 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 2903 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1476 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 5077 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 15799 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 609 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 33157416:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 31496279:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1081 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 319199:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 11 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 185292:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 54 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1305136:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 4333 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 2651 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 28278158:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 706 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 436168:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 200 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 9 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 43893172:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 17918 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 774056:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 938 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1791 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 67298333:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 52977 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 41274796:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 400 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 1652262:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 101536:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 41 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 394301:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 89673 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 2607 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 15028163:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 4027294:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 247155:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 811526:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 19 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 150831:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1531731:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1348 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 9497582:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 18569223:>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 101.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (92 states) 1068 :>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; 135859:>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; 113 :>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; 2174543:>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; 9481 :>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; 712739:>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; 21769 :>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; 24655631:>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; 36925 :>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; 1203424:>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; 5826 :>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; 1505951:>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; 4 :>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; 715 :>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; 279517:>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; 198094:>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; 5266016:>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; 17445518:>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; 8657 :>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; 5606 :>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; 264754:>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; 13952 :>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; 11033876:>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; 12448 :>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; 234966:>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; 92848 :>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; 17593794:>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; 31384 :>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; 1440068:>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; 721 :>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; 337083:>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; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 19853 :>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; 13524 :>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; 888746:>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; 826831:>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; 24 :>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; 3 :>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; 982256:>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; 12926 :>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; 13607028:>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; 3981097:>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; 34830384:>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; 263 :>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; 6912050:>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; 50731393:>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; 617 :>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; 31151224:>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; 15538 :>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; 12970592:>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; 153248:>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; 26007484:>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; 15782684:>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; 24289393:>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; 17 :>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; 9350377:>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; 14527173:>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; 155 :>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; 9251462:>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; 241 :>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; 237814:>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; 2 :>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; 434553:>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; 5458 :>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; 1520674:>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; 582 :>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; 7139494:>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; 62744 :>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; 987201:>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; 49332 :>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; 3501206:>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; 47 :>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; 1371 :>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; 771960:>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; 2072385:>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; 2214735:>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; 20372181:>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; 4 :>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; 3960 :>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; 1003962:>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; 208 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 262976:>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; 121787:>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; 4504478:>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; 36 :>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; 178763:>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; 2253929:>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; 218 :>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; 11268000:>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 117.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (41 states) 5342758:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 272 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 10974163:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 4408937:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 776 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 34465324:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 8 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 253744:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 3611777:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 251 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 12349938:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 50010594:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 3023559:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 2 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3520402:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 32132555:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 16 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 53970778:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 11091 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 48659 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 168 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3302341:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 18623109:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3452082:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 4 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 3509798:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 15457006:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1012 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 47006013:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 65935 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1327133:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 456 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 14626577:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 52117123:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 36634 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 11 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 16308643:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 8958225:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 5 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 96096 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 986025:>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 82.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 12299766:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 371 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 64 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 47703793:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 1697723:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 5516782:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 1617613:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 64745265:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 1384421:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 56014367:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 62 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 7652 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 17309967:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 165948850:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 3485819:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 52247251:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 8851 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 70011383:>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 77.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (80 states) 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 17161 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 20605 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 9757 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 74 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 342404:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 668 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 62 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 24038 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5975521:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1031719:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1228 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 11304 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 27 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 51 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 431 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 474 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1769224:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3564 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4102711:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 342991:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2929 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6568442:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1500017:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 495745:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 35 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 53823670:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9167184:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 47 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 69 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 135237:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 25 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 17 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 62761 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 129659:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 82 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 278 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1062 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2386915:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 160 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 62 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1276 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1263 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1100713:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 24659 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 22031314:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 9790566:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 26 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2763 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 149 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 86 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 201753:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 503 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 68 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 23508 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 167 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 11096952:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 237 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7899 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 39977 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 41632305:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4180904:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1460601:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6323363:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 10244789:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 9501763:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 562663:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 138883944:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 54957320:>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 70.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (116 states) 123 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 600 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 200975:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 257 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 79969 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 180 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 78157 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 37 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 16 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 69 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1495 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 25001 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1245 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 98210 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1612626:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 120 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 196 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 81 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1453 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 385 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1098734:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 709624:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1060691:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 12925959:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 181823:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 24488 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 865841:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 8634069:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 19 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 30720 :>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; 259 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 291 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 483464:>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; 286 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 107575:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 66869 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 453 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 457 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 150481:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 228623:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 26930 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 7464254:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1088 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1804 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 339 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 53481 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1207214:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 733487:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 458837:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 40131762:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 228696:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3741619:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 31952 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2017753:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 71963 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 679834:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 54690 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2602610:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6740855:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 26652418:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1001282:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 83469215:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2001270:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2216583:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2601441:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 35669544:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 42 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 123045:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 607261:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 124394:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 77 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 50207 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1975 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 72 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 31822 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 9060526:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 242373:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 42558 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 329 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 849798:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 3496 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 3747 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 775547:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 162357:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 35 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 231 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1841 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 727133:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4212 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 31 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3652039:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1381628:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 17241913:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 9720 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 7184743:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1172261:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 91746546:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 312 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 16264796:>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 84.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (63 states) 14686 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 14 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 2062213:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 18180 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 547 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 583885:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 11637812:>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; 2662048:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 219 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 7418253:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 353 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 9 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 5019 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 374104:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 265450:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 2727 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 30134362:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 112898991:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 56238 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 1283427:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 1053 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 29490 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 384208:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1646054:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 344780:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 33507872:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1614406:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 2807099:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 1372 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 12899 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 622 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 3114814:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 6479966:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 14617353:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 6457839:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 129498630:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 885 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 2343 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 765369:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1700 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 233902:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1028638:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 8300 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 714289:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 68516 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 4150043:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 137 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 4833 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 65773 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 72689 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 13751753:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 9193303:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 24 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 172 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 22 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 9 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 10 :>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; 69 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 215 :>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 77.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 155 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 12 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 7236 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 5571771:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 3747390:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 54886 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 1629 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 2773406:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 3759303:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 8845056:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1928 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 78 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 59297 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 8558 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 1672 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 22461924:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 3153989:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 12 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 429436:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 7988 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 10323321:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 41096 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 119550:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 104612883:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 38996638:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 22959 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 94 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 94 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 576 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 329990:>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; 1503008:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 827222:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 103861:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 97 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 1377 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 269 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 237527:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1084 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1939 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 5955881:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 3734401:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1446 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 5920 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 3032439:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 5 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 28518257:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 10790888:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 120051:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 6772 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 11154324:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 16 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 9719542:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 13464419:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 6647 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 273636:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 255642:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 138 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 18 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 257277:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 90621 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 544399:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 517 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 512502:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 32244967:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 4685024:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 208 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 3851 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 3825398:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 46275555:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 15824016:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 2574 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 25 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 22 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 9 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 82984 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 6 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 119392:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 480883:>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 86.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (43 states) 13 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 134613:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 1482 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 10508893:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 1163 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 12232589:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 3001 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 33582268:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 2633229:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 23545125:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 14327753:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 40748406:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 4200 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 221936:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 261532:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 5536370:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 3313478:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 11222812:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 32292321:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 89502574:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 259 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 7433 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 39865 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 108132:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 1 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 23 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 1128671:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 5400 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 39 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 4807652:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 267828:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 8639562:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 12852687:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 83772489:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 10245 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 59213 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 8697 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 24552 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 1221073:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 6950040:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 2305 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 28 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 20048 :>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 73.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 180717:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 10711450:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1273052:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 35913051:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 3590322:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 25710791:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 17690115:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 35549912:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 1677 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7250234:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 475 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 1048356:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3836027:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 65136515:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 982743:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 1820113:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 1 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 3908928:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 161 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 20977608:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 248491:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 9587228:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 2459754:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 50796054:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 6809965:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 789018:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 798701:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 52691744:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 372857:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 1574880:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 1743337:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 8175483:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 7542435:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 1987359:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 4 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 19 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 12 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 311 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 36221 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 7655733:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 3586350:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 7561738:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 5 :>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; 52 :>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 78.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 84222 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 209 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 1979920:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 2503998:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 30 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 23030609:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1256871:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 1880599:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 34320209:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 4329782:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 9575074:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 130599639:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 5 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 25833 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 492608:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 49 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 45057 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 4773638:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 578577:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 1980480:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 5659942:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 14467038:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1008774:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 5124085:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 7758092:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 24100680:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 368 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 54458 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 46070 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 373970:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 42360 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 39239 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 2503833:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 1308720:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 1155020:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 114711238:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 2107 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 43592 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 1221 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 300808:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 438 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 222727:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 2 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 9245 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 12168 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 120 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 1783 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 1573589:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 13500 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 1133490:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 8 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 49 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 754 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 2654 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 3737 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 2923 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 746575:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 14948 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 5 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 16838 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 4314 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 37135 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 1232 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 42715 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 27 :>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 86.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 58898 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 2725947:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 5 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 305241:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 341526:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 6354255:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 18682 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 1609941:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 36 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 251894:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 78509 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1810 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 290534:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 207 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 101778:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 698 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 22573 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 85472 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 7393 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 112812:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 747 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 1650444:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 2 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 35 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 84 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 113897:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 12260834:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 5 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 5481285:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 164 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 273288:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 2 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 203705:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 164 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 3542807:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 1974391:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 29 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 110690:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 2 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 100645:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 2676 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 485387:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 8 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 3845107:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 8 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 2975 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 3 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 74864 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 40598 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 73760 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 73 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 529821:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 3602345:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 1775 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 2864781:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 217560:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 62932136:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 117906:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 2140929:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 16 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 56383 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 11897 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 12454315:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 2645 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 14955482:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 76 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 71734 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 38521 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 108879780:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 1 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 209857:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 2968713:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 665330:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 10191386:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 41640 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 356379:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 1521341:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 44995669:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 8054 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 581482:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 17327 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 31192982:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 576 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 384940:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 1779 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 55343169:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 34383 :>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 94.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 171894166:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 221625499:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 185035533:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 102632440:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 1263377:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 117548985:>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 43.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 41613701:>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; 18141582:>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; 4542223:>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; 68437974:>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; 423155:>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; 50072296:>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; 85842028:>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; 31084480:>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; 90928535:>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; 4494796:>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; 4460937:>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; 1046952:>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; 4698977:>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; 39515593:>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; 28138111:>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; 2116364:>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; 24442296:>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 74.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 20728827:>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; 55235069:>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; 50666964:>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; 37180663:>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; 142428:>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; 957893:>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; 108383:>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; 29494796:>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; 38273216:>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; 294638:>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; 5747423:>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; 26235238:>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; 28977043:>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; 8459540:>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; 2823243:>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; 10122392:>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; 28602768:>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; 15029168:>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; 6828064:>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; 92060234:>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; 20102428:>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; 2473962:>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; 19455620:>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 93.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 37825783:>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; 45345402:>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; 74495391:>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; 50633568:>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; 895425:>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; 10000995:>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; 4286632:>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; 40894429:>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; 19119211:>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; 417401:>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; 212249:>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; 14605765:>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; 32766878:>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; 28277325:>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; 1179315:>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; 7094529:>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; 20943380:>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; 21075298:>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; 118600:>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; 5911625:>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; 35075369:>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; 15893694:>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; 4785854:>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; 28145882:>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 96.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 479596:>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; 3780591:>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; 5075236:>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; 18127 :>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; 199681:>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; 56 :>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; 6060171:>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; 1409018:>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; 4925838:>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; 4760474:>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; 2425233:>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; 867726:>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; 14151457:>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; 300454:>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; 7988306:>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; 187 :>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; 1856777:>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; 7144757:>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; 1650104:>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; 16255771:>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; 23552173:>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; 3339920:>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; 155517:>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; 29324817:>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; 28401573:>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; 1674737:>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; 9369940:>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; 9549512:>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; 8480920:>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; 17751921:>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; 33593034:>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; 2478 :>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; 26138 :>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; 2767135:>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; 323785:>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; 5223233:>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; 1640382:>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; 1284183:>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; 6076358:>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; 2259780:>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; 7077035:>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; 190932:>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; 1173875:>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; 129803:>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; 4454749:>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; 691581:>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; 17652718:>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; 3845234:>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; 6943912:>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; 198148:>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; 891152:>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; 4942341:>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; 10098524:>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; 2004982:>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; 15243453:>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; 9945927:>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; 8208767:>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; 13868317:>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; 28291454:>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 68.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13776059:>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; 40274985:>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; 2047514:>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; 20041006:>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; 2489674:>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; 26569586:>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; 1224554:>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; 149355:>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; 2747520:>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; 4966534:>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; 4096104:>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; 8329387:>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; 1262804:>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; 12065205:>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; 3763804:>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; 2385788:>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; 2186024:>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; 15300221:>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; 302019:>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; 44899838:>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; 143219:>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; 6141719:>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; 465928:>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; 3243963:>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; 434869:>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; 868 :>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; 5684806:>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; 11376714:>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; 12657783:>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; 1532878:>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; 33395976:>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; 2495188:>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; 683339:>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; 1582907:>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; 7638172:>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; 830491:>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; 7653356:>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; 1217 :>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; 4616857:>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; 1270814:>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; 5362009:>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; 5029 :>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; 9719874:>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; 796110:>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; 1320603:>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; 180384:>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; 9527554:>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; 6511785:>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; 4345408:>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; 546122:>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; 23815659:>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; 25494 :>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; 3949912:>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; 91854 :>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; 292150:>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; 2083575:>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; 279 :>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; 7079 :>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; 3333417:>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; 50666 :>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; 1399871:>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; 1277632:>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; 1177594:>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; 661117:>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; 200971:>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; 712557:>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; 148 :>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; 6683 :>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; 1499205:>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; 3513746:>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; 145000:>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; 593474:>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; 250899:>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; 5435264:>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; 24555 :>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; 407275:>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 81.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X006-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-A "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV ECX,$2 | MOV EBX,$1 | MOV ESI,$1 | XCHG [z],ECX ; XCHG [b],ECX | XCHG [d],EBX | XCHG [c],ESI | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[b] | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%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 (82 states) 4279016:>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; 10982390:>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; 5587815:>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; 2815931:>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; 16536315:>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; 1393 :>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; 2101 :>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; 55966 :>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; 88660 :>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; 389335:>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; 11719568:>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; 2690661:>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; 3669400:>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; 50077 :>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; 17055844:>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; 4177408:>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; 19788773:>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; 3753043:>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; 4977008:>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; 42147297:>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; 8692797:>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; 171172:>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; 7937252:>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; 225154:>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; 1802030:>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; 291144:>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; 190381:>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; 3855 :>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; 4409668:>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; 1455236:>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; 9791138:>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; 1086072:>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; 13334710:>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; 1222371:>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; 1212877:>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; 277295:>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; 22330283:>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; 2823835:>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; 21006547:>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; 14207218:>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; 7063761:>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; 172530:>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; 373244:>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; 5129373:>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; 13561872:>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; 226273:>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; 7087181:>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; 8603502:>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; 172195:>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; 1563344:>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; 5049429:>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; 6482 :>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; 6694111:>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; 7821297:>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; 10214043:>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; 491521:>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; 4979475:>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; 151906:>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; 2812457:>0:EAX=2; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 631688:>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; 23 :>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; 508465:>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; 2774 :>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; 1672774:>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 169393:>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; 6522042:>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; 3218403:>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; 15948159:>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; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 502733:>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; 469462:>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; 124 :>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; 3113759:>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; 139780:>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; 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=1; b=1; x=2; 5852627:>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; 1803 :>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; 15578000:>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; 8 :>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; 254946:>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 83.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 157 :>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; 196 :>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; 228 :>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; 132507:>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; 34 :>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; 9 :>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; 20910 :>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; 100453:>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; 29215 :>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; 13191 :>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; 403 :>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; 344151:>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; 1735777:>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; 3059251:>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; 2855 :>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; 40500 :>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; 1202530:>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; 1120414:>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; 1756368:>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; 1238 :>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; 1269492:>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; 426760:>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; 730707:>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; 3091664:>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; 206270:>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; 20270895:>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; 1245062:>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; 3645046:>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; 1498003:>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; 12711060:>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; 19964318:>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; 17323509:>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; 4195 :>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; 1691355:>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; 1919386:>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; 1874102:>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; 22 :>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; 1870 :>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; 54013 :>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; 88109 :>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; 1862523:>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; 2087 :>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; 1952293:>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; 221878:>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; 496282:>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; 1275758:>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; 559 :>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; 2314436:>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; 2910 :>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; 96810 :>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; 81262 :>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; 1698285:>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; 603730:>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; 987114:>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; 9699 :>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; 9167807:>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; 18550770:>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; 20693229:>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; 510 :>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; 16669 :>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; 679677:>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; 1037096:>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; 8177169:>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; 4490 :>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; 7171995:>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; 1235430:>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; 2402239:>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; 4884200:>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; 1733 :>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; 9219524:>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; 30068 :>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; 1105604:>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; 82648 :>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; 5652279:>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; 4222791:>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; 8156162:>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; 264 :>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; 318 :>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; 2711 :>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; 301043:>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; 83 :>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; 35 :>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; 222546:>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; 928359:>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; 181264:>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; 33076 :>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; 384398:>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; 1753620:>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; 2199155:>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; 1550527:>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; 434 :>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; 2272 :>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; 158707:>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; 292634:>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; 2285252:>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; 231204:>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; 2359351:>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; 158250:>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; 1117721:>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; 1457721:>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; 3444 :>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; 5447398:>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; 33558 :>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; 172238:>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; 458130:>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; 11091024:>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; 1946335:>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; 2779830:>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; 38182 :>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; 258538:>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; 281426:>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; 4148922:>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; 6521339:>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; 182132:>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; 6086978:>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; 20179309:>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; 1270347:>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; 363229:>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; 28730 :>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; 453339:>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; 1129066:>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; 15478897:>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; 2718996:>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; 661129:>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; 1592923:>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; 6693514:>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; 1411892:>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; 20057966:>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; 11410501:>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; 2366980:>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; 9305865:>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; 251559:>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; 14216654:>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; 23664744:>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 82.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (134 states) 65058 :>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; 74311 :>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; 1034 :>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; 3011 :>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; 2508941:>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; 4032706:>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; 3673735:>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; 26135540:>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; 678 :>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; 3707 :>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; 12474193:>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; 18895812:>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; 552886:>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; 1394231:>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; 795 :>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; 2468 :>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; 3615718:>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; 9694036:>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; 1184511:>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; 8936752:>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; 661085:>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; 2153639:>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; 1095 :>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; 21817 :>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; 2976587:>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; 191 :>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; 2610 :>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; 1922723:>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; 14313711:>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; 313649:>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; 20730537:>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; 111963:>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; 3787311:>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; 11 :>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; 63953 :>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; 9 :>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; 6708 :>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; 698590:>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; 1608706:>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; 33857165:>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; 610082:>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; 3675125:>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; 1091 :>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; 3252648:>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; 6 :>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; 708 :>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; 331163:>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; 6269622:>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; 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=2; d=1; y=1; 7228 :>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; 2595792:>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; 1098 :>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; 5138698:>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; 1133 :>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; 467 :>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; 326239:>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; 419980:>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; 6769 :>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; 12039 :>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; 904267:>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; 1401 :>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; 319918:>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; 4093625:>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; 688562:>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; 2442 :>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; 1155508:>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; 652 :>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; 1152544:>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; 2600977:>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; 80684 :>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; 39634 :>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; 2255988:>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; 4316 :>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; 943786:>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; 197512:>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; 136018:>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; 1416 :>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; 3157 :>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; 2748876:>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; 2684164:>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; 9030609:>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; 8785748:>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; 1787341:>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; 844087:>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; 265 :>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; 1289 :>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; 668323:>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; 3534636:>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; 1438 :>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; 2559 :>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; 4780455:>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; 6629156:>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; 26 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 9434 :>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; 132204:>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; 108 :>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; 2753 :>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; 349079:>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; 123 :>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; 33893 :>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; 1258874:>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; 3646193:>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; 3316798:>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; 10404913:>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; 1208888:>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; 6688524:>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; 1878 :>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; 2353457:>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; 327369:>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; 6265098:>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; 12917 :>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; 27764 :>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; 1265465:>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; 11559 :>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; 1846083:>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; 1048419:>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; 18043454:>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; 9836330:>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; 12295064:>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; 11249957:>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; 2055832:>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; 1202986:>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; 12350518:>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; 10880599:>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; 1960945:>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; 6476194:>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; 283863:>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; 3576880:>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; 480369:>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; 1731687:>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; 2324012:>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; 7725321:>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; 2100513:>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 95.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 34935 :>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; 10702 :>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; 23580 :>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; 11948510:>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; 32661563:>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; 26209980:>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; 562188:>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; 4318508:>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; 1887171:>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; 5290001:>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; 42223807:>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; 17022580:>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; 19621 :>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; 241646:>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; 98192 :>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; 2053407:>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; 14859556:>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; 7853543:>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; 4990 :>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; 2039385:>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; 198635:>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; 47655 :>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; 8344922:>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; 852032:>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; 5173206:>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; 15476 :>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; 1245397:>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; 4806 :>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; 14255619:>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; 92196 :>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; 147300:>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; 72 :>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; 32012006:>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; 89809 :>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; 6983549:>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; 2704 :>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; 30846046:>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; 17108 :>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; 2808072:>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; 599760:>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; 992854:>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; 13499570:>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; 17536150:>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; 18525006:>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; 6559401:>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; 11129385:>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; 11077605:>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; 3651670:>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; 18407438:>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; 9995652:>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; 3391506:>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; 31748 :>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; 326606:>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; 201 :>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; 11766737:>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; 8236 :>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 79.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 48464898:>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; 9076153:>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; 38135117:>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; 47984390:>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; 10604405:>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; 28576914:>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; 94670961:>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; 23720177:>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; 101466095:>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; 342057:>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; 1838894:>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; 3666069:>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; 9537145:>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; 17997353:>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; 35192569:>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; 321697:>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; 28405106:>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 86.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 34255446:>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; 132179224:>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; 30180640:>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; 4237501:>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; 2836704:>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; 8605486:>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; 12834169:>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; 190100:>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; 47111859:>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; 13200292:>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; 30664698:>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; 23875 :>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; 12472701:>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; 29271615:>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; 25145679:>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; 1235205:>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; 40013561:>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; 6363295:>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; 32949315:>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; 13674529:>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; 13321305:>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; 7514533:>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; 75123 :>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; 1643145:>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 108.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 36531034:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 45540663:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 281409:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 95544679:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 74629405:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 20248812:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1128696:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 11374027:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 9563768:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 54350197:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 23622698:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 18676751:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 32401 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 14125829:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 4585 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 94317586:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 27460 :>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 90.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 16454099:>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; 1070389:>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; 6709955:>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; 23713 :>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; 5255277:>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; 9868764:>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; 37393 :>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; 48252649:>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; 18535452:>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; 2423115:>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; 28003120:>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; 22387 :>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; 139539:>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; 438047:>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; 2101064:>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; 712496:>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; 5525748:>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; 9280668:>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; 1002834:>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; 5686539:>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; 2710253:>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; 1297050:>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; 49253564:>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; 36444 :>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; 149002:>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; 2317780:>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; 12508848:>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; 1148713:>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; 10424576:>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; 23513151:>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; 1240763:>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; 42391444:>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; 25749438:>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; 10541921:>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; 30496076:>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; 51097 :>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; 394947:>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; 1532505:>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; 1117452:>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; 2691619:>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; 2536651:>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; 10594411:>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; 1809433:>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; 2702870:>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; 1246744:>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 56.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (211 states) 11 :>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; 37 :>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; 95 :>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; 8440 :>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; 21228 :>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; 35818 :>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; 43328 :>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; 46516 :>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; 83584 :>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; 3693371:>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; 7797117:>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; 16686654:>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; 1708 :>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; 1464 :>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; 12256 :>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; 211 :>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; 27374 :>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; 10979 :>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; 86005 :>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; 96 :>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; 17334 :>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; 63968 :>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; 111997:>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; 81566 :>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; 1051309:>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; 1021012:>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; 1032346:>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; 49 :>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; 140678:>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; 561035:>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; 863123:>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; 315879:>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; 7585293:>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; 8765841:>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; 19026396:>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; 25013 :>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; 13493 :>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; 92 :>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; 3345 :>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; 60711 :>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; 11394 :>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; 1271791:>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; 110961:>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; 20970 :>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; 100898:>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; 1754347:>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; 275455:>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; 99 :>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; 72391 :>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; 90670 :>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; 344348:>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; 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=1; 3:ECX=0; c=1; 1322 :>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; 13 :>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; 2057 :>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; 332 :>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; 213198:>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; 406104:>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; 1799278:>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; 5181 :>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; 562989:>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; 109285:>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; 294309:>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; 13531 :>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; 1044320:>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; 7851802:>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; 6902021:>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; 93177 :>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; 983184:>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; 912581:>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; 583882:>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; 7091 :>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; 659152:>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; 21995145:>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; 6478644:>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; 184990:>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; 3223816:>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; 6164516:>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; 4352926:>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; 213 :>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; 261006:>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; 221163:>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; 709946:>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; 24165 :>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; 4470245:>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; 2887853:>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; 7938176:>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; 79 :>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; 57578 :>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; 152560:>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; 274756:>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; 28064 :>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; 1492775:>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; 1409361:>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; 3443703:>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; 22 :>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; 39574 :>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; 21292 :>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; 241453:>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; 348 :>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; 207629:>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; 6372 :>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; 577470:>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; 106 :>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; 4250 :>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; 2315 :>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; 8908 :>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; 349 :>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; 13836 :>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; 1473 :>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; 1378 :>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; 421 :>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; 103268:>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; 141270:>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; 1334507:>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; 18993 :>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; 1211595:>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; 240850:>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; 1596321:>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; 137266:>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; 1645273:>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; 15430579:>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; 5178387:>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; 505282:>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; 9107516:>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; 4281275:>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; 2438231:>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; 1565 :>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; 72014 :>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; 2470718:>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; 727269:>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; 42975 :>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; 486979:>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; 1067272:>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; 534880:>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; 3544 :>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; 817659:>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; 1240682:>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; 4074805:>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; 30 :>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; 10126 :>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; 98 :>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; 9490 :>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; 48359 :>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; 4108282:>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; 9764927:>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; 15716773:>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; 67594 :>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; 2916157:>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; 131645:>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; 1336769:>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; 7706 :>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; 333852:>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; 1155682:>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; 1237916:>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; 2971 :>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; 98831 :>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; 3234 :>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; 16666 :>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; 32053 :>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; 1415926:>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; 9375987:>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; 6928629:>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; 104093:>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; 3061161:>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; 527306:>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; 1354344:>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; 4570 :>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; 1703326:>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; 659 :>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; 24013 :>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; 10852 :>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; 313966:>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; 90990 :>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; 5505724:>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; 144614:>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; 11069797:>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; 136 :>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; 4126 :>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; 324593:>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; 17830 :>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; 608120:>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; 615904:>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; 3566476:>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; 885719:>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; 1611001:>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; 1758002:>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; 626821:>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; 6947281:>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; 70748 :>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; 1349093:>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; 36938 :>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; 108972:>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; 502234:>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; 2063468:>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; 243642:>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; 1141501:>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; 771056:>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; 4254722:>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; 9637350:>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; 5136528:>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; 66287 :>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; 104019:>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; 8636136:>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; 413764:>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; 30712300:>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; 3912299:>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; 5879837:>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; 613167:>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; 8726273:>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; 2413779:>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 84.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1580321:>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; 578734:>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; 4444588:>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; 2302807:>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; 2766567:>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; 13658772:>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; 69892 :>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; 243779:>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; 3607 :>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; 25768 :>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; 9743969:>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; 8333216:>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; 3577495:>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; 18061340:>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; 105804:>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; 11875 :>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; 948649:>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; 137689:>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; 1668624:>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; 5087103:>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; 7280098:>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; 27864786:>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; 3070053:>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; 1242172:>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; 7194441:>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; 384904:>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; 480299:>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; 2142128:>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; 2287637:>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; 3413807:>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; 788076:>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; 15466858:>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; 165714:>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; 18986 :>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; 769061:>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; 159129:>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; 174647:>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; 1474887:>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; 917308:>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; 8164355:>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; 10459817:>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; 7993008:>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; 4250857:>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; 26177517:>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; 1040162:>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; 179699:>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; 4279456:>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; 939562:>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; 1931410:>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; 4379153:>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; 8222783:>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; 23600376:>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; 791413:>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; 1123501:>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; 9872771:>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; 1139 :>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; 633836:>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; 25016 :>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; 14110970:>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; 13920893:>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; 3530728:>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; 10752585:>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; 7895460:>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; 7094978:>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; 916821:>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; 19713 :>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; 2917204:>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; 3535229:>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; 6028271:>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; 152688:>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; 45236465:>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; 21176574:>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 81.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 41543705:>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; 26435388:>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; 103321583:>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; 28148072:>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; 10472145:>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; 909408:>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; 3643462:>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; 26632668:>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; 13544554:>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; 4547979:>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; 101682:>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; 34887216:>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; 25418928:>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; 9278589:>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; 126595:>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; 3352256:>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; 14330289:>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; 38991185:>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; 9369406:>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; 26524586:>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; 38936152:>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; 189197:>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; 39294955:>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 83.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1714951:>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; 770441:>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; 16339008:>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; 122140:>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; 2392299:>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; 357107:>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; 11933238:>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; 20716099:>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; 6907042:>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; 2596585:>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; 1536878:>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; 3245398:>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; 524441:>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; 14127509:>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; 151 :>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; 1398346:>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; 7204744:>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; 4430798:>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; 7939034:>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; 28925409:>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; 1829960:>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; 832305:>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; 2274427:>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; 24197038:>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; 5484969:>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; 19187880:>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; 10914369:>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; 14113311:>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; 3451660:>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; 53226571:>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; 78101 :>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; 169272:>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; 5908317:>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; 5471697:>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; 1563677:>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; 13428091:>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; 1733257:>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; 6874175:>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; 237995:>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; 1777256:>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; 260790:>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; 1323276:>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; 691506:>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; 4478543:>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; 4473364:>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; 7534931:>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; 132950:>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; 1043151:>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; 3424855:>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; 12409976:>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; 340654:>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; 13783562:>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; 7742316:>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; 9995065:>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; 817032:>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; 25612083:>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 61.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 47 :>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; 222 :>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; 1173 :>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; 32042 :>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; 70864 :>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; 193989:>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; 1589403:>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; 16379466:>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; 100 :>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; 3820 :>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; 116 :>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; 11325 :>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; 484 :>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; 205520:>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; 151753:>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; 459947:>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; 1531687:>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; 12857359:>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; 527405:>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; 1545033:>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; 5869065:>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; 29013805:>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; 21449 :>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; 49520 :>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; 5442 :>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; 107088:>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; 1314169:>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; 583056:>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; 596290:>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; 1664696:>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; 80156 :>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; 427289:>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; 27339 :>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; 281452:>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; 2018155:>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; 3675 :>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; 1884911:>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; 8615807:>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; 14136725:>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; 776194:>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; 4251399:>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; 12352662:>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; 13306772:>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; 2384516:>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; 8043099:>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; 59650 :>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; 1203075:>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; 125367:>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; 9589141:>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; 124943:>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; 879772:>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; 210758:>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; 4468207:>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; 2208 :>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; 4425 :>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; 2914 :>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; 278130:>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; 455 :>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; 952761:>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; 1989 :>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; 427962:>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; 1243 :>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; 418619:>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; 40732 :>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; 1983762:>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; 20296 :>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; 3324196:>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; 11765615:>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; 25242188:>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; 115109:>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; 8140682:>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; 1996660:>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; 2594062:>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; 129733:>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; 1355145:>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; 1126508:>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; 7930743:>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; 227767:>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; 7180443:>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; 34179597:>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; 852 :>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; 4618066:>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; 1210269:>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; 5447909:>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; 1030 :>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; 563377:>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; 5252433:>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; 16626423:>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; 16059 :>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; 3148670:>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; 7710 :>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; 4279936:>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; 4722 :>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; 89054 :>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; 7439 :>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; 269168:>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; 138937:>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; 8564848:>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; 123959:>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; 3998159:>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; 1008 :>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; 11666 :>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; 468857:>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; 181984:>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; 111732:>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; 342476:>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; 2536609:>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; 1889458:>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; 183998:>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; 627385:>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; 843800:>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; 10504079:>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; 132122:>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; 2221992:>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; 168564:>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; 413882:>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; 347527:>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; 2432935:>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; 360784:>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; 2083055:>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; 177702:>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; 1698280:>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; 7689537:>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; 2512808:>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; 110809:>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; 139967:>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; 13211343:>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; 1019219:>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; 10725535:>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; 2289531:>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; 6525169:>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; 1247891:>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; 2225282:>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; 712651:>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 79.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 4260625:>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; 10535190:>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; 33961217:>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; 1085 :>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; 8768 :>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; 10021537:>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; 3713215:>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; 23432143:>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; 20632750:>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; 4992459:>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; 30815139:>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; 21441869:>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; 34063106:>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; 1776829:>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; 372163:>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; 2231918:>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; 5217465:>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; 10291083:>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; 1464819:>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; 29841844:>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; 25589687:>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; 4466428:>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; 12056066:>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; 151505:>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; 107812:>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; 4413116:>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; 9840540:>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; 612111:>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; 7014500:>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; 8532309:>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; 2944566:>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; 1539144:>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; 4979823:>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; 87990 :>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; 6282176:>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; 6518738:>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; 9632437:>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; 767761:>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; 8097275:>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; 29907 :>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; 2005040:>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; 160875:>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; 103387:>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; 821812:>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; 2263 :>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; 3768155:>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; 701606:>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; 18578799:>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; 206279:>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; 189787:>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; 377926:>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; 96 :>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; 1742665:>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; 8600233:>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; 1962 :>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 79.78 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 786876:>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; 11232659:>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; 190707:>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; 23753022:>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; 1312408:>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; 910712:>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; 257743:>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; 1189734:>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; 19885244:>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; 3496155:>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; 20095332:>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; 23773274:>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; 16749552:>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; 62058690:>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; 156123:>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; 12297329:>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; 5303279:>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; 1300955:>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; 1116376:>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; 2807045:>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; 8064315:>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; 1176780:>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; 7277592:>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; 15509592:>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; 666067:>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; 318860:>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; 15 :>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; 2888068:>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; 312410:>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; 5553442:>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; 7613301:>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; 47287 :>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; 5727521:>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; 1571984:>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; 226401:>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; 230100:>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; 665524:>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; 4165083:>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; 99936 :>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; 11657327:>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; 9159120:>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; 2279853:>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; 7009194:>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; 3235141:>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; 3780315:>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; 5027781:>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; 3132276:>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; 1121631:>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; 2892707:>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; 7611682:>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; 19118305:>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; 5029876:>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; 1891137:>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; 12868885:>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; 13457827:>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; 19939450:>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 77.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (134 states) 829 :>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; 21287 :>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; 1398104:>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; 14959008:>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; 1644 :>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; 60539 :>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; 7100593:>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; 19176117:>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; 3671 :>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; 16437 :>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; 359461:>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; 271236:>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; 26197 :>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; 949368:>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; 3952615:>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; 6294090:>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; 160937:>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; 14669170:>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; 291448:>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; 4922698:>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; 472 :>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; 999597:>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; 286214:>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; 2180043:>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; 303390:>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; 6639663:>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; 124436:>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; 536562:>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; 2276 :>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; 1559079:>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; 197687:>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; 2235262:>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; 4923 :>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; 1898665:>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; 70841 :>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; 8442464:>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; 522 :>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; 17244 :>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; 191912:>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; 886974:>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; 4026542:>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; 1057654:>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; 1232024:>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; 2325525:>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; 4294036:>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; 101667:>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; 1826022:>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; 1390669:>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; 48 :>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; 340 :>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; 28899 :>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; 164114:>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; 133 :>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; 3721 :>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; 166394:>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; 1051920:>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; 7427 :>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; 11626 :>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; 301249:>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; 227674:>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; 183095:>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; 750777:>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; 10123922:>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; 14081251:>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; 79226 :>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; 1120050:>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; 63878 :>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; 349508:>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; 1869 :>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; 147375:>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; 71283 :>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; 655261:>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; 11526689:>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; 23611126:>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; 1265040:>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; 1407733:>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; 5158432:>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; 17968355:>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; 5192575:>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; 14629070:>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; 5905 :>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; 162708:>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; 144873:>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; 374922:>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; 278392:>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; 66858 :>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; 254364:>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; 256937:>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; 3918737:>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; 74947 :>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; 5640395:>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; 1913435:>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; 15 :>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; 2356215:>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; 9592351:>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; 12350 :>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; 1644288:>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; 4590425:>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; 127 :>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; 4849 :>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; 152755:>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; 102577:>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; 2772 :>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; 362558:>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; 211151:>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; 22784279:>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; 404542:>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; 3500323:>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; 1363996:>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; 3139214:>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; 2419954:>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; 2830087:>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; 1 :>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; 63197 :>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; 279283:>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; 20300 :>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; 295452:>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; 6307659:>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; 21085982:>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; 36 :>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; 1466 :>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; 125731:>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; 500602:>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; 6330854:>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; 952412:>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; 5028307:>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; 16275 :>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; 723756:>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; 932186:>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; 10293390:>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; 497960:>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; 1355862:>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; 30702676:>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; 18101438:>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 93.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3342169:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2403405:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 10542737:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 17139006:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 4622295:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 28503057:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 24046604:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5844857:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 28530612:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 30768468:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1564850:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 14507336:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 16216969:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 22456605:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 14614037:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 6358319:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 134349:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1020 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 3076414:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 13674 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 13029183:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 7777 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 26838647:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 11650 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 476 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1494 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 3086930:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 924382:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 7012024:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 270091:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 282835:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1576616:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 5545299:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 844748:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 7029239:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1453258:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 31598403:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 28458209:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 28317581:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 802891:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 3387 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 328308:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 253 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 7885357:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 4179 :>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 77.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 21385 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 62717 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 226373:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 17945 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 13306 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 227424:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 89544 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 36824 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 799298:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 47725 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 684168:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 4294427:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 9581443:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 16922 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 939806:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 798301:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 8119628:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 33376 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2118653:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2385547:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 20361964:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 50437 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 360563:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 192263:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 914321:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 25391 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 203111:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 22493 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 88236 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 34529 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 690011:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 40397 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 568394:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 236378:>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1181470:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 851132:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4434027:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 87765 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 395698:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 46636 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 86635 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 121873:>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 727092:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 77888 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 588503:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 256065:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 27931 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 63487 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 295077:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 22671413:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 48240 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1568013:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 82987 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 3649543:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1197202:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 6114775:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 44784 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 50330 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 79714 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 92688 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 7845779:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 35074382:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 263036:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 154004:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 442592:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 264943:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 49246 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2387701:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 8977220:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 41495 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 467393:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 6520683:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 217617:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1400872:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 15972912:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 126894:>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 904024:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1110231:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6868049:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 57143 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 462287:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 75022 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 468858:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 76863 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1207321:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 165420:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2543275:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 10259163:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 935289:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2301484:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2631806:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 31197561:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 109252:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 170221:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 190004:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 348416:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1078321:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 31854 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2467202:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 54361 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 29029273:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 2040689:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 39503514:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 12135 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 4970093:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 40521 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 2259716:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 47918 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 5730491:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 52510 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 2101775:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 62890 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 119555:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 3583507:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 18394 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 35071 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 92528 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 191996:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 3670686:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 1012098:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 31498884:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 28676 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 9572274:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 142023:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 16971646:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1900837:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 49293 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 196543:>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 80.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 256200:>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; 175954:>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; 576391:>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; 13968 :>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; 148695:>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; 58941 :>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; 191782:>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; 1203478:>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; 1815800:>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; 4348779:>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; 2407615:>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; 1506691:>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; 7496 :>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; 33481 :>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; 397606:>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; 1185110:>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; 5912364:>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; 13163111:>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; 15102 :>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; 55150 :>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; 4081655:>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; 13158788:>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; 281062:>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; 183335:>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; 609596:>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; 43555 :>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; 23716 :>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; 239 :>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; 1805 :>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; 4847 :>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; 12114 :>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; 1446552:>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; 4804827:>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; 4464 :>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; 31351 :>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; 533638:>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; 1857280:>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; 740933:>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; 681986:>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; 2917763:>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; 2597734:>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; 2562707:>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; 17291 :>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; 106045:>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; 227303:>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; 1118022:>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; 10236759:>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; 32545231:>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; 67061 :>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; 376310:>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; 3992320:>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; 16297947:>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; 8029918:>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; 2997133:>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; 85692 :>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; 573945:>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; 1612659:>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; 4510184:>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; 473159:>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; 58484 :>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; 15444 :>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; 86814 :>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; 16680 :>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; 57611 :>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; 6229994:>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; 2199759:>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; 213368:>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; 892844:>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; 703448:>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; 2929062:>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; 934475:>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; 153379:>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; 259715:>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; 16210673:>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; 23820 :>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; 3002288:>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; 49309 :>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; 16297038:>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; 6430 :>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; 1291624:>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; 844 :>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; 20084 :>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; 14955 :>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; 901395:>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; 137542:>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; 7266729:>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; 70034 :>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; 1507587:>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; 240434:>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; 12720548:>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; 1650907:>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; 639845:>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; 24030337:>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; 1538832:>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; 772954:>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; 1893109:>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; 21717579:>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; 9987536:>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; 65964225:>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; 1323376:>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; 743555:>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; 2587434:>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; 14807 :>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; 134108:>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; 39842 :>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; 145497:>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; 4543208:>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; 1469770:>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; 6230624:>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; 36539 :>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; 5546 :>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; 261 :>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; 2133 :>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; 2456 :>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; 6756 :>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; 2358566:>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; 4727528:>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; 8488 :>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; 55265 :>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; 362786:>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; 1611651:>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; 350184:>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; 11242 :>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; 13307 :>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; 64581 :>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; 7725 :>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; 16789 :>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; 3799819:>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; 104786:>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; 9977 :>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; 8387115:>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; 1035 :>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; 21132 :>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; 29500 :>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; 892547:>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; 1392364:>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; 869863:>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; 1589463:>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 93.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 9805 :>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; 19750 :>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; 1319232:>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; 2184510:>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; 33718831:>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; 23465462:>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; 92724798:>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; 4293085:>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; 6319957:>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; 628194:>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; 733904:>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; 259219:>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; 4965 :>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; 1289876:>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; 2651483:>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; 27251 :>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; 25889593:>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; 152931:>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; 478729:>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; 15000257:>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; 4967468:>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; 3809316:>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; 8583424:>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; 46704 :>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; 17329307:>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; 1284206:>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; 5418134:>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; 72179 :>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; 155854:>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; 17603922:>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; 19306837:>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; 8346682:>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; 72218 :>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; 6062359:>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; 18908803:>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; 23719968:>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; 31857490:>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; 712676:>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; 281767:>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; 7279931:>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; 10408904:>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; 12936148:>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; 2843642:>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; 15581371:>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; 8331498:>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; 10536066:>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; 8733352:>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; 43637942:>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 103.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (128 states) 3 :>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; 210911:>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; 115509:>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; 3293237:>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; 10 :>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; 53 :>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; 19 :>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; 29 :>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; 578 :>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; 4181 :>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; 502875:>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; 141054:>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; 343007:>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; 2624703:>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; 27 :>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; 505 :>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; 25 :>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; 477003:>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; 22938116:>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; 13596457:>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; 10945680:>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; 1786822:>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; 50508885:>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; 14 :>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; 215 :>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; 1554 :>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; 853 :>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; 157 :>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; 4123 :>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; 8841 :>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; 102265:>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; 6709575:>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; 2804316:>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; 577794:>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; 7861816:>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; 256111:>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; 225806:>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; 150582:>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; 459170:>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; 31521 :>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; 1728246:>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; 6976103:>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; 5817569:>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; 589762:>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; 20717412:>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; 4700 :>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; 30511 :>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; 268788:>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; 657076:>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; 48439 :>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; 2356473:>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; 16511 :>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; 762736:>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; 6705 :>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; 653230:>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; 21350 :>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; 825002:>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; 77198 :>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; 2220799:>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; 119138:>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; 768957:>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; 2419556:>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; 3343472:>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; 41393 :>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; 5215075:>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; 19272 :>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; 68759 :>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; 378088:>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; 1184667:>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; 17575 :>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; 3491863:>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; 122 :>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; 102 :>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; 2124517:>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; 1140456:>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; 16945707:>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; 116 :>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; 416 :>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; 10 :>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; 2311 :>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; 7547 :>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; 123077:>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; 1156652:>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; 86307 :>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; 9041283:>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; 17506316:>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; 543891:>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; 308563:>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; 2400761:>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; 3569765:>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; 6465 :>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; 2963723:>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; 2596336:>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; 2784355:>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; 3761112:>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; 26900270:>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; 6909 :>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; 1534428:>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; 1163951:>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; 1599162:>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; 1298767:>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; 18724353:>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; 420727:>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; 69499 :>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; 1023845:>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; 5788615:>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; 1667716:>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; 5149855:>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; 227059:>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; 6204136:>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; 83393 :>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; 3437485:>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; 2889 :>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; 439637:>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; 1004164:>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; 3833498:>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; 153471:>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; 618344:>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; 100417:>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; 2150563:>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; 4013832:>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; 515166:>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; 809365:>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; 20039515:>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; 4806634:>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; 4924988:>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; 5966190:>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; 20720420:>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 80.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 16 :>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; 68 :>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; 46 :>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; 3510 :>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; 1566 :>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; 22663 :>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; 1458 :>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; 104274:>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; 108 :>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; 129 :>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; 12 :>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; 2580 :>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; 13 :>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; 9988 :>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; 976 :>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; 1204 :>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; 77 :>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; 31812 :>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; 48026 :>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; 2874 :>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; 6519 :>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; 25840 :>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; 577545:>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; 120172:>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; 897871:>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; 346745:>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; 5202160:>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; 397 :>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; 76920 :>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; 303 :>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; 86295 :>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; 29156 :>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; 266374:>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; 79581 :>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; 918615:>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; 704 :>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; 510664:>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; 625 :>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; 427451:>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; 57701 :>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; 2160016:>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; 108610:>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; 3586097:>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; 2383 :>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; 12702 :>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; 169 :>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; 50080 :>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; 605969:>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; 783735:>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; 2014 :>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; 482486:>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; 56874 :>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; 310036:>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; 11293 :>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; 124399:>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; 749117:>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; 30 :>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; 235471:>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; 242022:>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; 1353530:>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; 29313 :>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; 1294288:>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; 4580175:>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; 15 :>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; 850352:>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; 94684 :>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; 100174:>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; 14234 :>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; 338121:>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; 1932151:>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; 2300377:>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; 452654:>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; 3039712:>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; 367582:>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; 1371170:>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; 546 :>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; 172285:>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; 2584916:>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; 3767091:>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; 163989:>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; 1794262:>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; 540872:>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; 2986910:>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; 1301 :>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; 392944:>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; 4026594:>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; 9921511:>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; 324642:>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; 4474139:>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; 1141 :>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; 11484 :>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; 82586 :>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; 3904 :>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; 12134 :>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; 1974 :>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; 12188 :>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; 50388 :>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; 125206:>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; 34079 :>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; 132518:>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; 204017:>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; 422540:>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; 2491861:>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; 178992:>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; 611927:>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; 22421 :>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; 272636:>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; 1583714:>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; 3813036:>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; 278767:>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; 2099972:>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; 49 :>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; 12278 :>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; 100233:>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; 348050:>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; 32110 :>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; 75252 :>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; 18776 :>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; 2802269:>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; 162746:>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; 802650:>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; 536005:>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; 829 :>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; 57089 :>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; 400102:>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; 758376:>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; 252068:>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; 85602 :>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; 125749:>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; 4842085:>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; 1176641:>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; 615777:>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; 1577768:>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; 16 :>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; 74 :>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; 86 :>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; 5319 :>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; 79 :>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; 128 :>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; 22 :>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; 2538 :>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; 34 :>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; 15351 :>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; 69968 :>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; 51493 :>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; 8986613:>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; 23493637:>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; 20642 :>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; 345553:>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; 174493:>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; 11146534:>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; 204744:>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; 426907:>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; 4589597:>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; 29129751:>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; 3240 :>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; 14780 :>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; 236 :>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; 59593 :>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; 94544 :>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; 558635:>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; 20006 :>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; 95306 :>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; 904309:>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; 53 :>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; 347862:>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; 1491651:>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; 518764:>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; 846572:>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; 2122724:>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; 2232687:>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; 4845271:>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; 71850 :>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; 1355722:>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; 7449219:>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; 5405596:>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; 1617054:>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; 7684382:>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; 1503 :>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; 4749 :>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; 18494 :>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; 1890 :>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; 18442 :>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; 5026135:>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; 298940:>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; 4710325:>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; 34671 :>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; 3333491:>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; 77 :>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; 482869:>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; 43283 :>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; 78428 :>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; 73340 :>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; 1784 :>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; 1035306:>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; 517497:>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; 57251 :>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; 391686:>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; 28 :>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; 196 :>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; 425 :>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; 11371 :>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; 110491:>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; 3151604:>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; 94743 :>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; 6975218:>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; 96 :>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; 60 :>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; 6264 :>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; 73 :>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; 28163 :>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; 1278 :>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; 1464 :>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; 504 :>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; 252911:>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; 88 :>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; 375322:>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; 5920 :>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; 21368 :>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; 708 :>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; 84271 :>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; 14340032:>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; 26442799:>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; 166115:>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; 14422584:>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; 76914 :>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; 421304:>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; 13880 :>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; 155743:>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; 1493288:>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; 358 :>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; 458467:>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; 828553:>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; 4247428:>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; 130146:>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; 5599721:>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; 26116761:>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; 296 :>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; 5572485:>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; 2763 :>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; 3668412:>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; 9781446:>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; 7646 :>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; 24622 :>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; 4739 :>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; 29408 :>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; 135260:>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; 299654:>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; 726640:>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; 2052793:>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; 196 :>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; 2798755:>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; 8931686:>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; 599077:>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; 51792 :>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; 98741 :>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; 68036 :>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; 7385761:>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; 1253515:>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; 7788866:>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; 8452885:>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; 43 :>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; 299 :>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; 1004 :>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; 18268 :>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; 132 :>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; 266 :>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; 78 :>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; 6798 :>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; 185 :>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; 43745 :>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; 6786 :>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; 25165 :>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; 1762 :>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; 116893:>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; 134028:>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; 747341:>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; 26143 :>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; 123250:>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; 1727200:>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; 1198 :>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; 1549545:>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; 4006 :>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; 9726 :>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; 36701 :>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; 5485 :>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; 47268 :>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; 320 :>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; 935265:>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; 66828 :>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; 114779:>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; 56306 :>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 94.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2495413:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 9330 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 72703 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 554826:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 29571628:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1354270:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 6226559:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2901260:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 21162836:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 24127 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 5005752:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 18360 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 56841 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 424520:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1569826:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 278622:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 26179720:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 399000:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 4208384:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1381221:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 16858319:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 64619 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 22039 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 5970 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 734366:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1763941:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 65824 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 9073409:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1789681:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 941769:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 23045 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 3089 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 940503:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 830604:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 3475882:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1370806:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 462710:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 7215811:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 8988799:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 4340915:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 11286333:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 19536928:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 310750:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 664229:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 628718:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 4803948:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 7138561:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 19770525:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 4283780:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 143149:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 117688:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 674 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 2482086:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 86589 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 195655:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 118535:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 3242107:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 491709:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 272868:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 14860 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 317022:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 4390 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 9820 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 189921:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1522146:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 259120:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 193877:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 8016738:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 491027:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 5915328:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1451374:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1154556:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1285435:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 32685043:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 15121476:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 39003177:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 9163908:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 7087 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 64132 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 69295 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 25670404:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 18711 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 25412 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 839539:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1231207:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 338450:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 28317 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 5565 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 4964328:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 17700 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 345 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1870187:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 537068:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 474094:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 707539:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 520815:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 129599:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 76 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 713140:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 72830 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1407432:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 4910 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 15349 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 2440597:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 1394262:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 1190261:>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 92.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (127 states) 133285:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 3039661:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 9 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 409 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 2320 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1461469:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 341 :>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; 18020559:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 63380612:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 229 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 2652 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 72308 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 6207654:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 117662:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 159198:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 114372:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 259099:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1791715:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 9975322:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 21394 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1716589:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 607287:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 498390:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 694180:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1418819:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 786949:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2928638:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 134455:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2938356:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 215927:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 73 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 3623487:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5480687:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 34 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1178 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 28622 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 4028930:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 36061 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 5720267:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 759 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 596276:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 146070:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 173413:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 132523:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 469440:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 189715:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 3728475:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 11688 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1749652:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 26 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 26 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 689985:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 10947461:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 90 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 6096 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 142916:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 19341198:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 116374:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 113847:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 641871:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1091399:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2779296:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 21038814:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2786202:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 17755162:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 16 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 83240 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 411 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 1339016:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 144 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 817616:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 847592:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 192 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 869159:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 2809297:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 344 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 788829:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1531040:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 93072 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 126774:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 12455 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 148 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1626408:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 2681363:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3642 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 13391113:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 19683007:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 1000981:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 4770831:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 618381:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 2235818:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1921 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 7021013:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4941796:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1532735:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1219 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 4095645:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 11377789:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 4873210:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 227619:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 50020 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 5338107:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2796492:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2949679:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 390244:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2833062:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1027053:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1153351:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 6751577:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 750927:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 117217:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2064613:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2233122:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 243514:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 25630 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 18651438:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 13761558:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 699301:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 4289582:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 135663:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 195 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 5999878:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 1392787:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 1834585:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 14838586:>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 91.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (294 states) 32 :>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; 3801 :>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; 1036 :>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; 103547:>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; 1 :>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; 2072 :>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; 8 :>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; 9760 :>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; 15450 :>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; 658133:>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; 176873:>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; 6425144:>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; 121174:>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; 594310:>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; 316577:>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; 2400787:>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; 15 :>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; 225 :>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; 1649 :>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; 146980:>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; 40 :>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; 4076 :>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; 149 :>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; 124775:>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; 5999 :>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; 13795 :>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; 151741:>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; 1246756:>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; 333319:>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; 900467:>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; 946729:>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; 4203588:>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; 873 :>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; 63435 :>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; 6411 :>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; 76232 :>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; 126868:>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; 1386274:>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; 228846:>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; 1464569:>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; 229 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 50616 :>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; 7046 :>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; 111773:>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; 2517 :>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; 161004:>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; 70612 :>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; 687102:>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; 9 :>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; 79 :>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; 1780 :>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; 22887 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 227 :>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; 7 :>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; 3440 :>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; 1702 :>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; 8124 :>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; 85879 :>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; 1170881:>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; 7958 :>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; 42001 :>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; 25947 :>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; 433312:>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; 2321 :>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; 5143 :>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; 455351:>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; 585347:>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; 65325 :>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; 300821:>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; 1178327:>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; 2445459:>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; 36877 :>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; 59626 :>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; 1514299:>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; 2008671:>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; 2183884:>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; 3382416:>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; 3530755:>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; 10533276:>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; 8731 :>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; 2972 :>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; 52841 :>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; 183005:>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; 22354 :>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; 338475:>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; 18914 :>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; 56960 :>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; 485720:>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; 60378 :>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; 114402:>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; 869847:>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; 53 :>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; 5709 :>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; 7 :>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; 4754 :>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; 1376383:>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; 19029552:>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; 13677617:>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; 23088212:>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; 19 :>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; 394 :>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; 15 :>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; 7718 :>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; 36396 :>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; 85167 :>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; 2227994:>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; 4976129:>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; 1199 :>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; 10131 :>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; 2281829:>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; 6069673:>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; 365 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 10605 :>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; 9548 :>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; 237603:>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; 17 :>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; 123 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 10 :>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; 263 :>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; 14648 :>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; 45589 :>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; 57013 :>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; 185952:>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; 2906 :>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; 6060 :>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; 29118 :>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; 301295:>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; 122001:>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; 164982:>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; 4592581:>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; 5011354:>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; 3255 :>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; 35386 :>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; 70996 :>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; 163257:>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; 4 :>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; 49 :>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; 5818 :>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; 69438 :>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; 15192 :>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; 264663:>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; 587 :>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; 4179 :>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; 18088 :>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; 251912:>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; 44515 :>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; 926241:>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; 33884 :>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; 338711:>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; 1017750:>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; 7193522:>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; 7424 :>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; 544216:>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; 845659:>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; 7428157:>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; 30 :>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; 708 :>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; 31621 :>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; 1746 :>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; 143731:>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; 20603 :>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; 337149:>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; 151906:>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; 1832847:>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; 302308:>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; 2357543:>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; 579381:>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; 6035725:>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; 20825 :>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; 266066:>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; 463393:>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; 3499772:>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; 586142:>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; 5798839:>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; 2963569:>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; 13583519:>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; 9 :>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; 1263317:>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; 8540773:>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; 704 :>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; 341982:>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; 1943007:>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; 58670 :>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; 19729905:>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; 1374 :>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; 1027921:>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; 1 :>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; 19753 :>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; 302239:>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; 32042 :>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; 582630:>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; 1818242:>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; 8251836:>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; 24866 :>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; 1408558:>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; 863195:>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; 3998028:>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; 259 :>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; 10940 :>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; 77822 :>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; 13508604:>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; 41 :>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; 9828 :>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; 171 :>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; 680389:>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; 235 :>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; 564 :>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; 159488:>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; 12549765:>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; 540 :>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; 16773 :>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; 2249 :>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; 2727423:>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; 2578 :>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; 4102920:>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; 22219 :>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; 1016147:>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; 579 :>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; 5739992:>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; 17199 :>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; 2942978:>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; 94 :>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; 353 :>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; 171203:>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; 3987549:>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; 59 :>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; 1425 :>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; 469 :>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; 210466:>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; 4833 :>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; 11715 :>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; 12946159:>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; 22577711:>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; 88458 :>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; 926354:>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; 3682587:>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; 19947105:>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; 1574180:>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; 8270 :>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; 509427:>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; 1797537:>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; 106987:>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; 3094715:>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; 462 :>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; 17201 :>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; 60 :>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; 19929 :>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; 44 :>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; 1100 :>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; 117 :>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; 48348 :>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; 3699 :>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; 42372 :>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; 892 :>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; 27503 :>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; 127 :>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; 499 :>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; 29 :>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; 1704 :>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; 5060 :>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; 14004 :>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; 57571 :>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; 1101153:>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; 9962 :>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; 160651:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 99 :>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; 595 :>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; 8943 :>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; 72531 :>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; 1449062:>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; 25963 :>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; 3353266:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 34 :>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; 23721 :>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; 393721:>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; 359510:>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; 5744027:>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; 43626 :>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; 927381:>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; 1067214:>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; 19334201:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 6 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 1122 :>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; 115146:>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; 3275 :>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; 2 :>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; 41264 :>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; 676001:>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; 53072 :>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; 1755851:>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 106.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 284777:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1365141:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 533628:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 7124191:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 58220403:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 16751104:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 11120 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 4748618:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 327499:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1542 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 18580849:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 771360:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 63641 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 227 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5268019:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 72731 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1777955:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1814 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 10114322:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 10819 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 882775:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 825919:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 451822:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 15554405:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 22445745:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 25462326:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1708533:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 6657330:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 4073718:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2499097:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 21714474:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 8736035:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 593977:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 22093 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 51597 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 31 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2193431:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 3824 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 9941516:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 40635524:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 19505401:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1000021:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 30557156:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 5870981:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1953840:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 11968 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 8074759:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 28172 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 3818740:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1898285:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1674500:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 7136526:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 14278418:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 13659405:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 47880 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 16 :>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 89.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 32633611:>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; 4273271:>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; 138340235:>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; 47789935:>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; 14984163:>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; 34247229:>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; 70469615:>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; 9603987:>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; 58365524:>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; 20859532:>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; 42618534:>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; 14151478:>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; 7677669:>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; 460170:>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; 3525047:>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 102.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 21207443:>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; 21912813:>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; 75174619:>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; 16166807:>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; 1737383:>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; 10207892:>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; 51113490:>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; 13689954:>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; 455102:>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; 14359453:>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; 25990939:>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; 22063427:>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; 623210:>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; 29057955:>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; 38317066:>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; 1482128:>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; 104697390:>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; 1637608:>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; 528210:>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; 136612:>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; 3411896:>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; 1938764:>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; 5337710:>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; 81168 :>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; 18201 :>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; 20335161:>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; 61343 :>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; 2740366:>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; 15509372:>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; 151 :>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; 6367 :>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 117.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 33909862:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 40143261:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 581177:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 96537445:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 93917133:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 22974161:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 2499882:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 13509862:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 10504530:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 65004415:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 35286655:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 17861087:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 271114:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 8301488:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 50454 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 58529204:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 118270:>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 98.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 34575327:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 7917877:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1142051:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 25447682:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 53208285:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 5081021:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 77485645:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 137715368:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 29397625:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 57096102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 656528:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2260570:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 11059887:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 9433733:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 17740947:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 12764349:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3418817:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 13598186:>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 84.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 687425:>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; 735292:>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; 143676:>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; 20534 :>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; 1562632:>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; 263964:>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; 186345:>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; 1267839:>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; 14822 :>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; 6487834:>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; 163842:>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; 3857312:>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; 142158:>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; 68732 :>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; 477037:>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; 850395:>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; 9358409:>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; 44106906:>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; 1756 :>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; 972 :>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; 12499326:>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; 17619300:>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; 18159973:>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; 16739 :>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; 22098731:>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; 396175:>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; 6134359:>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; 233 :>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; 31004367:>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; 1334506:>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; 60818 :>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; 155709:>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; 8996073:>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; 14287738:>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; 1279469:>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; 34243 :>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; 5411297:>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; 751302:>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; 112892:>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; 33809 :>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; 8890108:>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; 2419308:>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; 3638094:>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; 8339 :>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; 10357498:>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; 240555:>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; 52429 :>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; 4545019:>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; 6700 :>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; 127903:>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; 525460:>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; 11871676:>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; 105960:>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; 9802 :>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; 755703:>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; 473133:>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; 4062202:>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; 8574257:>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; 9792007:>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; 27737932:>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; 1209062:>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; 812970:>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; 17124123:>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; 24373733:>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; 13238662:>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; 22814 :>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; 4449450:>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; 38048 :>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; 12034884:>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; 86545 :>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; 20270031:>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; 1360652:>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 74.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 21065 :>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; 62655 :>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; 3763355:>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; 3798728:>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; 66079 :>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; 598364:>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; 6434266:>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; 23512651:>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; 4673 :>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; 41090 :>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; 587166:>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; 6130287:>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; 1187779:>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; 183174:>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; 400377:>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; 303670:>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; 9100533:>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; 3387610:>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; 1656445:>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; 4354080:>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; 558596:>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; 209266:>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; 138078:>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; 347984:>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; 26501 :>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; 2691063:>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; 211123:>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; 29043653:>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; 33892 :>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; 241276:>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; 794625:>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; 11341132:>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; 1075000:>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; 9794712:>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; 31 :>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; 945949:>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; 290 :>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; 6753714:>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; 525 :>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; 1944659:>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; 620817:>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; 20190515:>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; 6948 :>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; 1404109:>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; 129644:>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; 15740258:>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; 8378748:>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; 11858606:>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; 372113:>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; 7732510:>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; 2053898:>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; 1012033:>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; 2680711:>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; 3655566:>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; 2419493:>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; 9230916:>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; 3906 :>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; 6373244:>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; 3558618:>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; 5505408:>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; 16937 :>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; 4047465:>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; 15025764:>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; 18627100:>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; 3686672:>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; 23289970:>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; 7944487:>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; 5463290:>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; 1123825:>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; 9240487:>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; 279310:>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; 77181 :>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; 4958011:>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; 9 :>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; 561417:>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; 477684:>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; 537441:>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; 97 :>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; 2937 :>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; 92435 :>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; 10563252:>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; 2518362:>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; 587229:>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; 11937838:>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; 140087:>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; 4840613:>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; 320766:>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; 11677020:>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; 3301 :>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; 4685248:>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; 244127:>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; 474764:>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; 34102 :>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; 5574399:>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; 4308740:>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; 617250:>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; 964012:>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; 3905589:>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; 6145251:>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; 17781 :>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; 313425:>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 90.51 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 2459505:>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; 8755346:>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; 20312061:>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; 1296 :>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; 149093:>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; 11558634:>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; 3211314:>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; 20987089:>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; 18140357:>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; 5957331:>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; 26458756:>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; 18606710:>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; 21822926:>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; 2636696:>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; 447524:>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; 7562201:>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; 13833998:>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; 13766197:>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; 1996569:>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; 41404698:>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; 34579739:>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; 3516041:>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; 10084320:>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; 121584:>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; 771957:>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; 4932875:>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; 10624589:>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; 995334:>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; 10188783:>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; 5946318:>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; 1985757:>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; 2759236:>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; 4299997:>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; 298010:>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; 10478846:>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; 7428336:>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; 8182440:>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; 866144:>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; 10973972:>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; 12062 :>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; 1367478:>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; 71354 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; d=1; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; d=1; x=2; 155170:>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; 818642:>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; 750 :>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; 4211099:>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; 438863:>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; 9838198:>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; 95085 :>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; 272929:>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; 1776734:>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; 18132 :>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; 2161865:>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; 9646391:>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; 12667 :>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 87.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 218960:>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; 113062:>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; 113205:>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; 79823 :>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; 229945:>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; 341386:>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; 43501 :>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; 42084839:>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; 11057909:>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; 3201279:>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; 8222161:>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; 7672634:>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; 4039112:>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; 4443594:>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; 2592898:>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; 1968833:>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; 7316831:>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; 2199946:>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; 24088732:>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; 15081036:>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; 1388035:>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; 9300418:>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; 1292673:>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; 200 :>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; 275878:>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; 8878 :>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; 564056:>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; 236635:>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; 136107:>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; 126498:>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; 503503:>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; 1192176:>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; 408435:>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; 7768130:>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; 1796756:>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; 630892:>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; 1852070:>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; 17758 :>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; 737900:>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; 39597 :>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; 3963321:>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; 1038 :>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; 112193:>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; 577148:>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; 943080:>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; 23744085:>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; 44014012:>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; 555519:>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; 12578497:>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; 760682:>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; 18709325:>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; 51193 :>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; 1360488:>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; 195950:>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; 1193231:>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; 6866388:>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; 29544924:>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; 609508:>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; 11491 :>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; 6 :>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; 27413867:>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; 10463716:>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; 21521 :>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; 510263:>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; 80063 :>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; 8457544:>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; 4445 :>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; 183526:>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; 59935 :>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; 92542 :>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; 20539225:>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; 22994993:>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 88.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 425087:>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; 2033042:>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; 3301834:>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; 4927814:>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; 19956 :>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; 43875 :>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; 224956:>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; 217293:>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; 175737:>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; 27738853:>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; 223181:>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; 13304110:>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; 1744 :>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; 7292855:>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; 535302:>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; 14325785:>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; 527768:>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; 5915143:>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; 505815:>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; 2730007:>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; 64853 :>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; 3617056:>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; 3038024:>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; 7933543:>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; 120777:>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; 1237863:>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; 122 :>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; 4440 :>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; 3754283:>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; 982365:>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; 2971642:>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; 3717645:>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; 453566:>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; 25612 :>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; 957678:>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; 639647:>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; 4923 :>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; 31107 :>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; 41279 :>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; 689585:>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; 87110 :>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; 58786 :>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; 1292432:>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; 1134730:>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; 42536 :>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; 3954361:>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; 21079 :>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; 88841 :>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; 703 :>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; 2543716:>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; 11752 :>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; 1938705:>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; 10551456:>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; 14425993:>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; 880825:>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; 788034:>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; 2859033:>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; 11569833:>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; 6126574:>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; 15275103:>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; 5 :>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; 21 :>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; 105842:>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; 289212:>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; 11947 :>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; 210692:>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; 679536:>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; 32068 :>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; 6601316:>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; 8070016:>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; 609462:>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; 797179:>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; 714237:>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; 646231:>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; 3878726:>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; 8392 :>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; 872794:>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; 3531100:>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; 9289706:>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; 15375799:>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; 2458234:>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; 8982064:>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; 13586315:>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; 8686960:>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; 17074311:>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; 116431:>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; 2854987:>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; 6055984:>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; 7266129:>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; 308747:>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; 2022 :>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; 2140774:>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; 762838:>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; 7390908:>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; 5962456:>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; 30857703:>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; 461908:>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; 3106249:>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; 2198634:>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; 1823192:>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; 20863589:>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; 16907515:>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 103.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 4687403:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 50878543:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 20798575:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 60356275:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 19970284:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 19761287:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 17069131:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 10140004:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 20031535:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 20423505:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 2186243:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 747707:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 34894 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 268 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 2006144:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 18091 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 11196802:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 15445 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 10980780:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 14187 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1685860:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 3084071:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 16449651:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 144812:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 2533175:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 2951841:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 5825202:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 19686603:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 50097917:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 13581488:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 9715083:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 310173:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 3671 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 229390:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 304 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 2380521:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 3135 :>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 84.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 35395631:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2931474:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 33504139:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 86004245:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 56136052:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 728759:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 17439438:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 10651233:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 951228:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 9000030:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 20493109:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 109010:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 11611158:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 8250705:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 69997946:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 2901461:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 105777043:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 28117339:>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 90.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 282150:>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; 51838 :>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; 12955392:>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; 15120276:>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; 1071720:>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; 6122 :>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; 3159217:>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; 76813 :>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; 195793:>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; 10735 :>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; 14347946:>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; 2128228:>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; 3421154:>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; 607 :>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; 12145457:>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; 23630 :>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; 27191 :>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; 35931 :>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; 1323172:>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; 8191834:>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; 9829 :>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; 2016 :>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; 79479 :>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; 38539 :>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; 1080052:>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; 1443230:>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; 23416997:>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; 17579683:>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; 14714902:>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; 11895 :>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; 12485497:>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; 160323:>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; 875637:>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; 1776782:>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; 109775:>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; 2168 :>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; 3351025:>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; 478978:>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; 2842412:>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; 12270448:>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; 4961 :>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; 1075194:>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; 6660916:>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; 14460 :>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; 6236 :>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; 281045:>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; 619857:>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; 22017660:>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; 21887862:>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; 7544640:>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; 208 :>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; 20645920:>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; 135623:>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; 10631 :>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; 2686064:>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; 1350154:>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; 6494748:>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; 5723593:>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; 23382297:>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; 5146264:>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; 897 :>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; 1540099:>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; 1721 :>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; 8729210:>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; 1098377:>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; 4285371:>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; 13585836:>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; 49509649:>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; 11157180:>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; 991 :>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; 17078914:>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; 18549 :>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 88.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 70376 :>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; 657020:>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; 3434464:>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; 13533213:>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; 11784 :>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; 3601834:>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; 1682181:>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; 44940056:>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; 30786 :>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; 5484667:>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; 4547154:>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; 41681604:>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; 2094386:>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; 1194126:>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; 609416:>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; 1794172:>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; 21068788:>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; 22423024:>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; 821045:>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; 15677399:>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; 15556004:>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; 10053322:>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; 1440418:>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; 10885788:>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; 2210012:>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; 609246:>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; 21296192:>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; 14168 :>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; 9339328:>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; 26604 :>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; 6865711:>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; 6340577:>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; 65350 :>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; 1813837:>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; 26883 :>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; 15739 :>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; 1869970:>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; 1419830:>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; 85096 :>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; 241057:>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; 2386447:>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; 13943645:>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; 92812 :>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; 67998 :>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; 4067645:>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; 5033416:>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; 352396:>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; 20289 :>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; 117130:>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; 39142 :>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; 2431788:>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; 858994:>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; 458384:>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; 1174064:>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; 1614114:>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; 82488 :>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; 428922:>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; 194537:>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; 104725:>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; 15439 :>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; 2148628:>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; 279311:>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; 38 :>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; 190810:>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; 189323:>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; 377 :>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; 18438 :>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; 1147195:>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; 101825:>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; 9406428:>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; 746281:>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; 7011054:>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; 38 :>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; 1229118:>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; 248 :>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; 10641375:>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; 4206140:>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; 5334372:>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; 146201:>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; 3014959:>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; 912933:>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; 4435405:>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; 898 :>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; 3081523:>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; 2078483:>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; 6740321:>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; 9011 :>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; 4207080:>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; 14081 :>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; 2509528:>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; 358309:>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; 8996508:>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; 94017 :>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; 6079884:>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; 53366 :>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; 124668:>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; 2353411:>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; 1608143:>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; 574883:>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; 938387:>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 104.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 20384168:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 2165523:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 21596478:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 31878694:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 2078429:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 22889972:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1694192:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 8599088:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 3012346:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 4168786:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 7884576:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 8589885:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 4241342:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 11412428:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 20231319:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 6891437:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 13706752:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 29657592:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3536420:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 334554:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 2894053:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 256052:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 1704119:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 325146:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 1460666:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 441078:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 5974372:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 626881:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 4989026:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 30482650:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 21907697:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 45326977:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 7497093:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 3684 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 1539510:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 21565774:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 511118:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 6027428:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 399846:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 17872 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 70159 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 3719559:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1025095:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 790270:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 620758:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 1728673:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 4070232:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 224202:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 360 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 549970:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 10658 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 1082982:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 182310:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 2334808:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1754219:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 2930722:>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 100.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 5281991:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 60486 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1686967:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 50450 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 6218819:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 18469 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 10115524:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 161696:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 520534:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 26320 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 101069:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 15904 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 501070:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 15922 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 834485:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 115998:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 68058 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 3146 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 128247:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 11242 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 394625:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 2231 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 8721731:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 369693:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 883 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 2813 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 13407411:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 9879452:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 10146772:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 16361109:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1858779:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 432688:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 16297903:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 11298295:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 574366:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 350881:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 733958:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 11287571:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 91801 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 21505 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1561647:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 24047052:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 339361:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 944481:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 643378:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 11424703:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 440435:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 114458:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 23010154:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 34471625:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 2775575:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 30505 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 15886510:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 2013500:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 25151055:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 1891 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 216461:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 4002066:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 37190 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 126072:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 49001911:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 60227 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 500317:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 17946 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 4559559:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 1020924:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 1800058:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 12255108:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 14467197:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 12070548:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 979217:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 27858005:>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 101.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 389681:>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; 8084590:>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; 3517122:>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; 34585873:>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; 194919:>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; 1906920:>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; 1030340:>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; 13650363:>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; 531535:>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; 3745252:>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; 9121 :>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; 857229:>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; 40731 :>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; 99916 :>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; 104253:>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; 6516419:>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; 758147:>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; 506722:>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; 9684718:>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; 18818050:>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; 20066 :>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; 26988 :>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; 96595 :>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; 570958:>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; 1316772:>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; 2936224:>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; 4587 :>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; 13837 :>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; 81523 :>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; 162121:>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; 32440 :>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; 205692:>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; 21 :>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; 569 :>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; 1361 :>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; 863 :>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; 29105 :>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; 35054 :>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; 6930 :>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; 1587 :>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; 132100:>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; 24995 :>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; 4 :>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; 7134252:>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; 13640052:>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; 1564121:>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; 6441562:>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; 32204324:>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; 16781442:>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; 78296 :>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; 8996452:>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; 12829398:>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; 44395696:>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; 3956322:>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; 26908266:>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; 7158824:>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; 8343086:>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; 529397:>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; 933640:>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; 11864251:>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; 1183007:>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; 237967:>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; 1503786:>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; 2295434:>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; 2824752:>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; 221906:>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; 1122228:>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; 72807 :>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; 4350034:>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; 2155 :>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; 8106004:>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; 191076:>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; 1224538:>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; 19157 :>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; 2694425:>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; 585953:>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; 2292590:>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; 107553:>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; 804742:>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; 21483 :>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; 857029:>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; 358 :>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; 1961781:>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; 4602917:>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; 4320979:>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; 3142384:>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; 9040817:>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; 26226 :>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; 210471:>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; 51637 :>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; 466920:>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; 718137:>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; 7074 :>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; 357105:>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; 7818644:>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; 4100996:>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; 191760:>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; 423349:>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; 3455269:>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; 1934652:>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; 11958223:>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 116.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X048-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV EBX,$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EBX,$1 | XCHG [d],EBX | | MOV [a],$1 ; XCHG [c],EBX | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,%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) 46277637:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 7314860:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 13773640:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 26341641:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 5254828:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 7843425:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 4694747:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 13234833:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 7050724:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 10467361:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 26653286:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 16168698:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 10076342:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1019 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 153867:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 13925556:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 116430:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 202574:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 3096 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 5385 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 12032 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 2741073:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2632407:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 436539:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 25373396:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 4220341:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 5584763:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 48456406:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 6030008:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 15404917:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 2058637:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 4755180:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1514617:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 11079259:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 31670531:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 21222499:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 150627:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 26 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 5250261:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 20081 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 23897 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 805124:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 865391:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 132039:>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 79.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 53776078:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 539102:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 3087303:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 41041791:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 59294120:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 28367003:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 29896713:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 82174479:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 32125117:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 59594744:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 62053 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 169555:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 22903349:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 14969698:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 25778538:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 37494835:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 78159 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 8647363:>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 67.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 37643 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5981006:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2828069:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 926536:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 108560:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 387696:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1171109:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5865477:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4697129:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 355647:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 231 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2453016:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 141332:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3378079:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1499 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 30493229:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1274231:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1573285:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 436088:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1278760:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 19978 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 4661 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1617316:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4195389:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4321855:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 47184611:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 181537:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 16320 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6441522:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9491786:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 10418828:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 251592:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 13501495:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3869503:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1781734:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4405 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 11536191:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1312292:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 20023 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 69632 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 807646:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5848374:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 11493622:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 18703949:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5305549:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 811949:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5906702:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2870324:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 75032 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 330674:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 421403:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2589721:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1534205:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2315472:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 5810158:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10532532:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 699247:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 54283 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 628374:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 402834:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 17867545:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1037710:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 16294112:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 4652962:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2019966:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 9423491:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 91158 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 820384:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 264607:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2866279:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 15196 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6510 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 30662 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 5245 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2401285:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 15473291:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1223610:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 26868022:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1872396:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1832261:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3254622:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 10636929:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8346761:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 696999:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2038916:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1843082:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 5492016:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 378961:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3849299:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1624381:>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 61.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (134 states) 61359 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 81295 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 261545:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 8612832:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 22166381:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 9669398:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 12849149:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 87843 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 605 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1064554:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 11371814:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4481 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 87085 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 153400:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 67227 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 174620:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1525804:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 80759 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 13950 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 548783:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1070697:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2501410:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 482604:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 4979144:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 12226443:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 474508:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 34854 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 3102151:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2328188:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 542344:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 878536:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 72326 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2370427:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 14383 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 6435 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 309 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 32043 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 8383706:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7676966:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2902569:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 31728791:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 85264 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 24208 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 11322 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 220055:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1407997:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4112520:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 16157808:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 222413:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 5930331:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1692423:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4067614:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 847906:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4417 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 95 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1895123:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 22061 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1702728:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6474326:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 595776:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 12850829:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 11071713:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 10835934:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5690956:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 30567731:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 3307193:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2703402:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2463483:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 15127081:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2170510:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 454932:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1602858:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 4154384:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1845137:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 8296009:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 96402 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 9645175:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 83933 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 42368 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1019 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 99302 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3173710:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4709493:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 90944 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 9524837:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 107559:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 38027 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1030 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 150526:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 11131 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 14890 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1282986:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 562265:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 49404 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 146 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 8979050:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 29038 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 42624 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 21431 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 121322:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 27740 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 192832:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1092787:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1266 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1160383:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 8894001:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 7354 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 731535:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1974532:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 608687:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 182271:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1706733:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2051 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2586524:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 3030 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 431669:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1759781:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 690087:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2535859:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 7562 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 248428:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2166 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 29996 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 6498863:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 14017824:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1978 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 8263 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 621080:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 5784583:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 67 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3186 :>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 75.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 447587:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 446049:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 3290699:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 819 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 1372832:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 9234 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 9714159:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 6924962:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1123457:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 7011616:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 1363516:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 3195082:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 515613:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 7593 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 793835:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1415552:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 2819091:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 43492 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 15221965:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 13021226:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 5864025:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 11196476:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 118142:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 509028:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 10179494:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 6955236:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 12970996:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 35218592:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 8119375:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 1583600:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 3194489:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2931477:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 4567463:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 29281519:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 9658435:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 4670318:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 19384915:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 42763348:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 643535:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 2282666:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 4466292:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 548 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 424397:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 14453015:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1762096:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 7472503:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 5951611:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 10798467:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 3408064:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1374154:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 3283406:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 496792:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 6137048:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 41918414:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 3591910:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 1491146:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 3831500:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 2376 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 127882:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 1256056:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 3130828:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 167349:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 114657:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 193660:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 272327:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 55826 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 711390:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 1755399:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 519379:>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 77.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 288182:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 211110:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1808297:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 25784 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 5684207:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 2492168:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 1869303:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 168729:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 2482479:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 13561 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1376078:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1104876:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 23751 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 3548273:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 586205:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 4607249:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1519765:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 817136:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 44164103:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 13580292:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 44892 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 20837907:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 818506:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 7462315:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 10024599:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 4405828:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 30483771:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 12745801:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 129 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 248 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 193100:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 6896 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 864674:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 53083 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 1105482:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 4709 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 848505:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 422919:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 2198808:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 18836 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 11492 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 5362683:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 142055:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1383494:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 2485149:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 1279476:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 11719941:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 4121205:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 4374093:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1128047:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 12794938:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 72806 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 17590025:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 8540532:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 8985875:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 570762:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 11571976:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 51342 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 3264137:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 3835044:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 652488:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 25983 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 1437312:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 11440 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 503127:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 3129086:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 3460447:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 41397 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 2019415:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 12160 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 271633:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 2287248:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 744334:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 3671387:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 30692935:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 4534928:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 4664653:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 2577568:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 27844914:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 21766 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 20840541:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 8925079:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 588169:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 11702 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 352257:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 15996 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 395867:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 58628 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 866535:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 1143377:>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 82.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 118800:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 5530296:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 539820:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 14730946:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 601580:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 12643822:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 210918:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 5185810:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 25195026:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 36757029:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 23772600:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 8513012:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 1161101:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 6731201:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 6921066:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 12076391:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 17627040:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 23192861:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 20327181:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 21721402:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1166963:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 1381589:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 4785261:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 2964369:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 443 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 41876 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 3209965:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 895 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 505697:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 22861 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 2718429:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 3255536:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 39505506:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 34498674:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 27357525:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 1420055:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 1687820:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 519193:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 3383723:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 8757131:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 15733120:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 256597:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 453871:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 2814999:>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 75.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7083623:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 15471082:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 6625046:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 12943618:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 3073826:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 7748801:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 3862566:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 4087349:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 401502:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 19929556:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 178671:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 6495359:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 14041517:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 43899288:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 841582:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 4110928:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 8675 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 5115677:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 51206 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 9463418:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 915797:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 14337553:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 3043699:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 13073052:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 6333478:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 3056846:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 6360016:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 33115454:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 674404:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 7587476:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 24180077:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 13559800:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 19490490:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 4023230:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 124331:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 4100766:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 618336:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 648268:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 1295478:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 21614415:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 28756754:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 23959810:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 2529639:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 495391:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 672150:>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 74.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1109480:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 10919 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 2153108:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 2572333:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 2666 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 4721449:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 5994033:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 6893874:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 27065895:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 1658314:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 6943153:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 54085518:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 119802:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 542708:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 2975392:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 109477:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 229910:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 2837224:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 10571614:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 10806056:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 5757527:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 16434120:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 8854415:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 7026601:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 5591950:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 9662935:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 2328607:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 4523022:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 439024:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 7777793:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 1889850:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 615799:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 23231329:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 21329750:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 15531182:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 72685659:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 63931 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 1780520:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 52462 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 4138200:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 267155:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 3849 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 2958015:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 94 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 84955 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 2635243:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 34195 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 303105:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 5853217:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 1778655:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 12024992:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 13839 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 4099 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 32827 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 664005:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1031088:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 2275355:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 47402 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 8865251:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 1206014:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 621713:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 37929 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 720044:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 793253:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 2719597:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 1790290:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 1753541:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 5158 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 357519:>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 87.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3013016:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 2313785:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 62849 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 977632:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 27670287:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 9108401:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 2388121:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 6759927:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 1046511:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 1129436:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 5973 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 294671:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 2324704:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 974593:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 282634:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 823213:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 184595:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 678280:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 111470:>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 2827342:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 4094982:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 4971954:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 1046585:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 6521517:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 24 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 1248 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 1109 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 12970242:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 7181137:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 45795 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 3871257:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 78257 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 143215:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 228 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 64180 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 6322252:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 24461271:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 32503 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 12381781:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 131578:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 125222:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 8872 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 82306 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 3506058:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 8293830:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 315792:>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 9970599:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 2088 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 52425 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 691 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 177236:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 1187963:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 5296195:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 993 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 163200:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 1179095:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 63805 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 680873:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 15158989:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 39978860:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 73909 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 901339:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 7955 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 128670:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 1829683:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 9249785:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 119118:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 9555811:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 31925 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 1024062:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 1003128:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 66788641:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 9 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 128440:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 1266717:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 169960:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 1956689:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 3088 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 32778 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 2746259:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 29070235:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 11531 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 180599:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 293095:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 12257575:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 3102 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 186087:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 115787:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 27293349:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 27027 :>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 93.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 278643:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 102658497:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 1758390:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 31157541:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 521466:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 663625463:>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 83.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7675274:>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; 2574911:>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; 161131:>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; 4416058:>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; 1845 :>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; 31790823:>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; 255635180:>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; 220394:>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; 26593263:>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; 39628 :>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; 3689558:>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; 31249 :>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; 677468:>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; 7520055:>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; 4052635:>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; 2628573:>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; 152291955:>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 138.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 140717:>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; 4876409:>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; 13830880:>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; 2119456:>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; 470 :>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; 2879696:>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; 24895 :>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; 1110850:>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; 10878671:>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; 160 :>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; 6741603:>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; 76581256:>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; 2664229:>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; 3138976:>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; 391608:>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; 5548114:>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; 531625:>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; 2937870:>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; 119545:>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; 66903693:>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; 68751564:>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; 21906885:>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; 207920828:>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 169.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (23 states) 957817:>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; 1207437:>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; 50642906:>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; 1139658:>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; 15757 :>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; 4909845:>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; 12948804:>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; 796100:>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; 12317188:>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; 114 :>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; 202 :>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; 71173742:>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; 1098217:>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; 3758247:>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; 201830:>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; 6707074:>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; 21763 :>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; 2236738:>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; 361375:>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; 10114231:>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; 23830100:>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; 1719471:>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; 293841384:>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 170.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (56 states) 9552 :>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; 61213 :>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; 1567019:>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; 2 :>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; 40 :>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; 773189:>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; 578643:>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; 130466:>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; 687268:>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; 3229 :>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; 1165 :>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; 8379555:>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; 69 :>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; 1692015:>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; 547717:>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; 2473 :>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; 4519 :>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; 425162:>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; 9510025:>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; 4115 :>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; 221 :>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; 10822957:>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; 88360092:>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; 8 :>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; 21022 :>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; 1609 :>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; 1812 :>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; 161157:>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; 4561753:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 7 :>0:EAX=1; 0:EBX=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; 31336 :>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; 4214 :>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; 1246777:>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; 1618535:>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; 70 :>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; 247699:>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; 499 :>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; 1717356:>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; 1 :>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; 7960 :>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; 124 :>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; 3442 :>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; 3837 :>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; 24598393:>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; 3955 :>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; 1537027:>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; 168 :>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; 845012:>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; 53584 :>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; 597456:>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; 18883 :>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; 12489098:>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; 816894:>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; 724835:>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; 11284508:>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; 213840263:>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 122.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (72 states) 24254 :>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; 5796362:>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; 171 :>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; 338547:>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; 30215 :>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; 18181296:>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; 906 :>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; 172 :>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; 118025:>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; 2316701:>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; 295 :>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; 84183 :>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; 885 :>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; 2281278:>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; 9513 :>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; 99131 :>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; 236744:>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; 40621433:>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; 426 :>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; 3317760:>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; 2674 :>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; 15890417:>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; 418 :>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; 248993:>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; 16696 :>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; 9876354:>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; 28064 :>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; 624768:>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; 6104 :>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; 24668803:>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; 57402 :>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; 288263:>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; 97814 :>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; 57376582:>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; 7 :>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; 62575 :>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; 187664:>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; 94 :>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; 505144:>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; 7 :>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; 13148030:>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; 117 :>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; 348719:>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; 3 :>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; 3727791:>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; 34429 :>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; 2875351:>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; 36082 :>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; 192495998:>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; 2997 :>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; 75444 :>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; 32058 :>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; 56 :>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; 16521 :>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; 284 :>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; 391329:>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; 33342 :>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; 3826 :>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; 998599:>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; 45517 :>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; 555560:>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; 408 :>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; 130183:>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; 746 :>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; 1932 :>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; 80366 :>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; 1029 :>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; 916358:>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; 1435 :>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; 340115:>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; 18 :>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; 308217:>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 146.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (78 states) 345911:>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; 49570 :>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; 108 :>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; 25365913:>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; 15832441:>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; 12126 :>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; 1445 :>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; 38370 :>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; 68860 :>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; 258947:>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; 35033 :>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; 1629 :>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; 1927224:>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; 43977795:>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; 27216986:>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; 2 :>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; 1469124:>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; 837578:>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; 209 :>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; 11955650:>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; 23652634:>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; 92 :>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; 200 :>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; 219 :>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; 27 :>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; 981 :>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; 1064084:>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; 329867:>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; 276358:>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; 389558:>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; 458140:>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; 82556 :>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; 11493 :>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; 7145031:>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; 79847674:>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; 92087349:>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; 440270:>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; 4842410:>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; 144 :>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; 125070:>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; 13784 :>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; 1612655:>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; 400 :>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; 24692636:>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; 270453:>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; 153592:>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; 80 :>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; 10084 :>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; 2503581:>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; 134343:>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; 1445739:>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; 3069 :>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; 22155203:>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; 482 :>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; 10186 :>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; 541 :>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; 1537821:>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; 1164 :>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; 5 :>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; 2 :>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; 248109:>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; 166 :>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; 444604:>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; 33 :>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; 35 :>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; 38072 :>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; 22994 :>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; 2623 :>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; 2714076:>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; 7 :>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; 115 :>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; 691 :>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; 2984 :>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; 3 :>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; 4 :>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; 555863:>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; 1661 :>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; 1273062:>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 143.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (112 states) 3 :>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; 281 :>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; 499 :>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; 523 :>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; 213 :>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; 1 :>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; 10550 :>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; 909628:>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; 2082121:>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; 871453:>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; 997668:>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; 29169 :>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; 19 :>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; 380367:>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; 1034 :>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; 1148223:>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; 3817865:>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; 4 :>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; 795858:>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; 815 :>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; 465188:>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; 65047 :>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; 3370979:>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; 23095752:>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; 46134726:>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; 9 :>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; 22933 :>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; 12416 :>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; 97125 :>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; 42939 :>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; 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=1; c=1; x=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; 358 :>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; 2 :>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; 17200 :>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; 7505 :>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; 16516 :>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; 5 :>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; 2479 :>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; 42828 :>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; 1988342:>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; 2713637:>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; 4918151:>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; 8 :>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; 19506 :>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; 2624103:>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; 5885701:>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; 2 :>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; 1750451:>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; 2146849:>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; 90167 :>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; 208 :>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; 1302993:>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; 2487 :>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; 6341978:>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; 15306243:>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; 1136610:>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; 3128 :>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; 1241764:>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; 26892 :>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; 8563333:>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; 57078565:>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; 140291171:>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; 26 :>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; 750 :>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; 2353 :>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; 260 :>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; 68 :>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; 34 :>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; 1548 :>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; 2116 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 1 :>1:EAX=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; 10369 :>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; 7003 :>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; 48 :>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; 766 :>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; 270 :>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; 2870 :>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; 2962 :>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; 1 :>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; 313 :>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; 50777 :>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; 724090:>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; 1128007:>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; 906161:>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; 476 :>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; 6866 :>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; 88780 :>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; 231964:>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; 2808294:>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; 516 :>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; 288857:>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; 26590635:>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; 13908 :>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; 274051:>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; 161 :>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; 30012 :>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; 2467043:>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; 527211:>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; 3461031:>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; 1923 :>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; 24423 :>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; 20804906:>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; 225 :>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; 4892 :>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; 16006 :>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; 1031 :>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; 60172 :>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; 30 :>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; 44729 :>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; 1538451:>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 141.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (124 states) 114899:>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; 55910 :>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; 2337 :>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; 2240518:>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; 450573:>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; 6751919:>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; 11858 :>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; 4423664:>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; 180 :>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; 1255484:>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; 27270 :>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; 14927474:>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; 55141 :>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; 2044155:>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; 750 :>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; 4020345:>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; 132031:>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; 38767567:>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; 5173 :>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; 10411392:>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; 117276:>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; 17479240:>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; 219002:>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; 22 :>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; 8735618:>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; 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=1; c=1; d=1; y=1; 4748313:>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; 107901:>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; 90711183:>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; 300 :>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; 2174896:>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; 2277 :>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; 12474866:>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; 1050 :>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; 154458:>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; 16087 :>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; 7631152:>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; 993 :>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; 8217835:>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; 16722 :>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; 31654572:>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; 88703 :>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; 3644421:>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; 1398050:>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; 687 :>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; 103412342:>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; 4 :>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; 1768 :>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; 9768 :>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; 15098 :>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; 969 :>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; 522 :>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; 13085 :>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; 13 :>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; 16115 :>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; 179596:>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; 5116 :>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; 40835 :>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; 210497:>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; 24641 :>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; 15186 :>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; 662374:>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; 23774 :>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; 451238:>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; 100032:>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; 1469 :>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; 41713 :>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; 734460:>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; 56811 :>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; 522047:>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; 3389 :>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; 656 :>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; 1543 :>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; 250188:>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; 33713 :>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; 287734:>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; 15984 :>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; 841303:>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; 37180 :>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; 262073:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 111117:>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; 274 :>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; 1294660:>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; 298 :>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; 397304:>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; 60240 :>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; 4274968:>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; 683 :>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; 92 :>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; 1980 :>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; 14 :>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; 1037 :>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; 602732:>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; 239 :>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; 322963:>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; 881 :>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; 2226027:>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; 231325:>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; 7 :>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; 3797651:>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; 468 :>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; 7560 :>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; 94195 :>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; 1184772:>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; 206 :>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; 20878 :>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; 9607 :>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; 38974 :>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; 53973 :>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; 2451 :>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; 14655 :>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; 35579 :>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; 145332:>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; 1257 :>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; 234593:>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; 7 :>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; 438575:>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; 386 :>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; 817286:>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; 54 :>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; 4627 :>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; 2428 :>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 167.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (53 states) 2431 :>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; 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=1; y=1; 13546 :>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; 106615:>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; 7122822:>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; 40681709:>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; 12771 :>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; 659298:>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; 8741660:>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; 156574:>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; 51578970:>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; 159642644:>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; 1575 :>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; 326 :>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; 125771:>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; 10269 :>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; 1056760:>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; 13547362:>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; 148 :>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; 2451841:>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; 6865366:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 167 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; 25038474:>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; 61123210:>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; 865442:>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; 1611 :>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; 562 :>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; 4 :>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; 4608762:>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; 10013 :>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; 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; 535194:>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; 573 :>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; 11859 :>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; 45 :>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; 3843536:>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; 8737 :>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; 1791 :>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; 6456 :>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; 25533 :>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; 149415:>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; 6540934:>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; 1742 :>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; 365 :>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; 65511 :>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; 1610 :>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; 577226:>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; 3798220:>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; 1247 :>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; 2 :>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; 16 :>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; 3267 :>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; 13 :>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 138.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 18280995:>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; 678067:>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; 3258191:>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; 890488:>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; 550309:>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; 1087557:>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; 273672907:>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; 26439 :>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; 23641810:>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; 1526 :>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; 611422:>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; 7180 :>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; 2745111:>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; 468687:>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; 5718643:>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; 104 :>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; 168360564:>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 150.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (23 states) 1684819:>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; 65761741:>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; 575739:>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; 4486 :>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; 4222520:>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; 12363317:>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; 527 :>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; 709 :>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; 121786998:>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; 131081:>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; 3396615:>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; 228096:>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; 4245577:>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; 18789579:>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; 1258899:>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; 253596611:>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; 1097659:>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; 123257:>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; 8567466:>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; 293385:>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; 443340:>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; 206014:>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; 1221565:>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 180.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 140580:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 6016403:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 323 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 10369479:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 265818795:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 431780:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 315236:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 125341:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2223117:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 8351544:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 170935003:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13027370:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 62700 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 59531 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 3608 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 21953196:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 165994:>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 146.31 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (43 states) 1847531:>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; 17119 :>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; 3430613:>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; 339211:>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; 331 :>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; 4 :>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; 2467850:>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; 14702309:>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; 54 :>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; 1244233:>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; 7 :>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; 6195 :>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; 592056:>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; 72 :>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; 594855:>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; 1669 :>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; 789 :>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; 683165:>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; 2056747:>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; 2541 :>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; 24128107:>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; 23 :>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; 3750 :>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; 175927:>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; 43034327:>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; 1474 :>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; 6530547:>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; 142570:>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; 72766 :>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; 24223713:>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; 236425561:>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; 7838 :>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; 12259703:>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; 3 :>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; 1094 :>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; 11248 :>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; 1671367:>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; 76962 :>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; 5847413:>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; 86539 :>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; 339444:>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; 873374:>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; 16098899:>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 107.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (168 states) 6 :>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; 4 :>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; 4 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>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; 89900 :>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; 60687 :>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; 281193:>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; 156 :>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; 2 :>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; 126 :>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; 18 :>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; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; 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=0; c=1; 1353 :>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; 178 :>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; 2691 :>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; 131 :>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; 90 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2017 :>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; 174 :>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; 4250114:>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; 223163:>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; 5817831:>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; 11 :>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; 29 :>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; 98 :>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; 6 :>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; 3162 :>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; 42 :>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; 173 :>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; 26727 :>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; 227382:>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; 44326 :>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; 7 :>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; 9 :>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; 217 :>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; 392 :>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; 6253 :>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; 11 :>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; 13537 :>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; 328 :>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; 17439 :>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; 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=1; 3:ECX=0; c=1; 30785 :>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; 3249 :>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; 63878 :>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; 6 :>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; 11525 :>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; 850 :>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; 10722 :>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; 18 :>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; 136876:>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; 899467:>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; 2608329:>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; 8746 :>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; 17335775:>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; 2332261:>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; 21381941:>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; 73 :>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; 7 :>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; 407 :>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; 3 :>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; 103717:>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; 597 :>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; 119143:>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; 183 :>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; 156 :>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; 2789 :>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; 10 :>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; 1131247:>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; 16048 :>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; 2011423:>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; 50 :>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; 434 :>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; 37129 :>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; 38890 :>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; 17 :>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; 17 :>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; 20 :>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; 7 :>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; 8748 :>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; 280 :>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; 61769 :>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; 85 :>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; 7413248:>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; 5616 :>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; 7939839:>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; 52742 :>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; 101581:>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; 566117:>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; 361 :>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; 1460815:>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; 35431 :>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; 1092375:>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; 76408 :>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; 105468:>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; 925986:>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; 845 :>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; 1229979:>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; 267507:>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; 3789436:>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; 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=1; c=1; 1227 :>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; 88 :>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; 2025 :>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=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; 98 :>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; 776085:>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; 192454:>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; 3787273:>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; 3180 :>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; 8295185:>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; 29361 :>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; 3914286:>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; 78562 :>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; 2949 :>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; 109802:>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; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2179 :>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; 86 :>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; 87 :>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; 7028047:>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; 1694254:>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; 38384510:>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; 21199 :>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; 75580410:>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; 900441:>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; 59690137:>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; 3499 :>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; 751 :>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; 22 :>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; 31636 :>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; 99 :>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; 2814125:>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; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 26 :>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; 3 :>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; 691 :>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; 8375 :>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; 72968 :>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; 53910 :>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; 133147:>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; 3453036:>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; 357 :>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; 517579:>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; 675 :>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; 1887139:>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; 1 :>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; 202 :>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; 4485 :>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; 1788273:>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; 136 :>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; 34295 :>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; 48034 :>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; 25106297:>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; 128501:>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; 854596:>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; 31657 :>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; 72907 :>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; 12862 :>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; 3140 :>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; 3610701:>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; 14126106:>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; 449002:>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; 135346:>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; 13642460:>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; 45987589:>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 154.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (68 states) 2434 :>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; 176 :>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; 2288 :>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; 593705:>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; 704756:>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; 3636625:>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; 10 :>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; 2654 :>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; 2 :>0:EAX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 66 :>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; 78188 :>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; 198228:>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; 254562:>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; 20423023:>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; 1203 :>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; 2 :>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; 14241 :>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; 701 :>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; 474195:>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; 7466758:>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; 1576851:>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; 50918768:>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; 27827 :>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; 17259 :>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; 157035:>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; 130898:>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; 618623:>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; 3179667:>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; 159 :>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; 108 :>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; 327 :>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; 229199:>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; 10 :>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; 144 :>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; 218 :>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; 6937 :>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; 905 :>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; 167358:>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; 412864:>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; 171075:>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; 2490775:>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; 40067754:>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; 16165 :>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; 16 :>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; 135255:>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; 946 :>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; 1940223:>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; 19283499:>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; 8073216:>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; 130892094:>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; 93 :>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; 8973 :>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; 2686404:>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; 6767 :>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; 2 :>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; 5410753:>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; 19601630:>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; 508 :>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; 62150 :>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; 40663 :>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; 4445339:>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; 118 :>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; 2738 :>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; 10483 :>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; 82008 :>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; 13 :>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; 23401716:>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; 49869650:>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 135.09 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1204517:>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; 799806:>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; 68471361:>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; 1168439:>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; 3063077:>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; 923398:>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; 15085937:>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; 955523:>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; 4674711:>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; 304778:>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; 215 :>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; 91759190:>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; 325751:>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; 1172879:>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; 75 :>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; 116635:>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; 37293 :>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; 8600410:>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; 3581346:>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; 2096172:>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; 57893600:>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; 9071 :>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; 237755816:>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 158.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (53 states) 15576 :>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; 1980 :>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; 3317217:>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; 35 :>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; 266 :>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; 17 :>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; 248145:>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; 12245587:>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; 49279 :>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; 242185:>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; 996 :>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; 1433253:>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; 23 :>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; 554694:>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; 171305:>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; 447 :>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; 6186 :>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; 23932 :>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; 7272451:>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; 1882 :>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; 2823 :>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; 405845:>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; 68403956:>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; 88 :>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; 206202:>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; 533 :>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; 21764 :>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; 11956 :>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; 28056536:>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; 172 :>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; 24287 :>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; 378918:>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; 162812:>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; 58747852:>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; 24 :>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; 149361:>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; 284 :>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; 1508004:>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; 2668 :>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; 950 :>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; 9886177:>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; 456 :>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; 791714:>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; 72 :>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; 528822:>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; 535 :>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; 304020:>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; 103 :>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; 6215092:>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; 14775 :>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; 1107116:>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; 48258 :>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; 197432369:>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 119.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (114 states) 2 :>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; 34 :>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; 38 :>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; 42 :>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; 17086 :>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; 729951:>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; 289 :>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; 116 :>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; 208 :>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; 62868 :>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; 88 :>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; 5189 :>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; 37679 :>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; 11773711:>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; 17 :>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; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 393 :>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; 20566 :>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; 10693 :>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; 34249 :>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; 421315:>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; 120 :>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; 11 :>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; 72 :>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; 14357 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 4 :>0:EAX=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; 63342 :>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; 564 :>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; 424593:>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; 399 :>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; 361101:>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; 196743:>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; 12640283:>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; 126627:>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; 48861949:>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; 774 :>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; 227 :>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; 407961:>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; 40 :>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; 11183 :>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; 4467 :>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; 7499760:>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; 726 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 136657:>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; 376 :>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; 19475 :>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; 21 :>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; 87868 :>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; 10 :>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; 22520169:>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; 21332 :>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; 2043698:>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; 1187 :>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; 3155210:>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; 26370 :>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; 2970424:>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; 9777 :>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; 8738990:>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; 8 :>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; 38546 :>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; 1172 :>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; 22834 :>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; 12984520:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 12848354:>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; 164 :>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; 1304880:>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; 490071:>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; 76801 :>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; 73911566:>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; 88 :>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; 122188016:>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; 852 :>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; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 437 :>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; 21 :>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; 245097:>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; 6 :>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; 719580:>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; 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=0; c=2; 117 :>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; 122 :>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; 176 :>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; 5522 :>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; 35965 :>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; 262200:>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; 13219 :>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; 1114592:>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; 469 :>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; 493110:>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; 421 :>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; 2111824:>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; 22 :>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; 1930 :>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; 2561 :>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; 866173:>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; 1156 :>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; 420325:>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; 13830 :>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; 14309592:>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; 67093 :>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; 662946:>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; 6890 :>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; 77357 :>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; 146452:>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; 46555 :>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; 2195019:>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; 9869568:>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; 1172677:>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; 1631847:>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; 1570103:>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; 14605714:>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 147.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (52 states) 7539 :>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; 2391569:>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; 38890044:>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; 5 :>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; 235229:>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; 164536:>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; 14527698:>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; 49393771:>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; 4379 :>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; 768157:>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; 6018825:>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; 64700350:>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; 338 :>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; 139 :>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; 4865 :>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; 42205 :>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; 782964:>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; 510548:>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; 43666107:>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; 133593910:>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; 15835 :>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; 3862719:>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; 71 :>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; 4269 :>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; 17711 :>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; 1185901:>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; 148 :>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; 10185326:>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; 417368:>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; 2205631:>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; 57 :>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; 4057 :>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; 581432:>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; 65688 :>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; 1582998:>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; 973 :>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; 20325333:>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; 22 :>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; 841287:>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; 34573 :>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; 1238 :>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; 271640:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 3083 :>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; 3498 :>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; 2036503:>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; 83927 :>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; 5 :>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; 56 :>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; 1501 :>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; 563956:>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; 14 :>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 135.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (53 states) 8887 :>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; 2775290:>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; 12 :>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; 16487747:>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; 23014 :>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; 105889:>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; 423 :>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; 758121:>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; 426606:>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; 122417:>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; 5525993:>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; 57900892:>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; 120638:>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; 29404622:>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; 153 :>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; 71726632:>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; 85915 :>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; 936986:>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; 2290 :>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; 7833174:>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; 598189:>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; 405227:>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; 6354622:>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; 191263585:>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; 107 :>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; 14 :>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; 6485 :>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; 3835 :>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; 87 :>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; 19740 :>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; 744269:>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; 18 :>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; 234 :>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; 689 :>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; 687 :>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; 106 :>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; 394819:>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; 2779253:>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; 2420 :>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; 1893570:>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; 29076 :>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; 795458:>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; 22216 :>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; 330302:>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; 171 :>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; 33290 :>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; 1151 :>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; 1290 :>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; 9725 :>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; 98 :>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; 31091 :>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; 1358 :>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; 31117 :>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 133.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (112 states) 11 :>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; 11187 :>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; 603900:>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; 128 :>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; 21430 :>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; 10821917:>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; 3 :>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; 237 :>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; 29700 :>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; 463760:>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; 2 :>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; 17021 :>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; 55716 :>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; 39673679:>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; 274 :>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; 531728:>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; 4911 :>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; 6455930:>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; 230131:>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; 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=1; 23057058:>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; 1494 :>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; 3643635:>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; 11735 :>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; 8148356:>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; 1 :>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; 12318354:>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; 26 :>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; 136720046:>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; 387 :>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; 254 :>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; 532283:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 2337 :>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; 517250:>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; 497594:>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; 962924:>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; 1183858:>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; 12920581:>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; 851734:>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; 57804 :>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; 11234315:>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; 15478719:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=1; y=1; 7 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 12 :>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; 44 :>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; 2832 :>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; 9 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=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; c=1; d=2; y=1; 30955 :>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; 15409 :>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; 62 :>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; 6722 :>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; 210300:>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; 9890822:>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; 705 :>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; 22 :>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; 6631 :>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; 1082 :>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; 2 :>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; 83914 :>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; 40209 :>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; 2111560:>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; 36018 :>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; 2100696:>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; 51542 :>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; 12381215:>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; 133315:>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; 73591879:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=2; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=1; 122 :>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; 4485 :>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; 432 :>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; 157 :>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; 3952 :>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; 10900 :>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; 78108 :>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; 3577 :>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; 1985464:>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; 1480410:>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; 183 :>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; 155562:>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; 5 :>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; 338 :>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; 807835:>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; 16565 :>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; 719 :>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; 1574057:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=2; 214213:>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; 23 :>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; 140661:>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; 1266 :>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; 255363:>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; 43007 :>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; 1359408:>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; 172 :>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; 238 :>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; 991 :>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; 688953:>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; 816 :>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; 29 :>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; 59204 :>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; 880 :>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; 2297964:>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; 6 :>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; 98 :>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; 16407 :>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; 12 :>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; 1127 :>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; 134317:>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; 903583:>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 162.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (42 states) 63111 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 477421:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 8196267:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1857682:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 4993611:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 132785347:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 93941 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1015410:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 18244615:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2265581:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 6156125:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 175848114:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2695639:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 11291952:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 9751509:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 11681422:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 40284 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 701 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1736367:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 25964 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 589758:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 5403 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 5749390:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 61469 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 111 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 23014 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 254853:>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; 268 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1360 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 994 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 388247:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1654000:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1128 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 685831:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 25125 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 1336041:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 711 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 8 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 19 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 1164 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 38 :>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 130.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (118 states) 42057 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 132782:>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; 80660 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2068731:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1399688:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 8791436:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 86 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 646 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 776223:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2664499:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 77 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 5130 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1103144:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 19785567:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2468 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 20182 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 30275720:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 163886496:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 71 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 138666:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 582607:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 213 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 113408:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1188802:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 734 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 989064:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 6626272:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1428 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 25952 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1020509:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4823727:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 41 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 22299 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 80727 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1601539:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1098 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 82603 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 3819849:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 24576557:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 645943:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 8506 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 986054:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 2361 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 18216609:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 7 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 131581:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2755 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 26266155:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 30 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 2516339:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 6116 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 5 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1220387:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 4456 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 15190890:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 4 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 8485 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 376 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 2122730:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 49256 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 249658:>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; 51024 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1524586:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1969104:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 13914121:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 125 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 86847 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 527923:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 49 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 15167 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 285313:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 831 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 402820:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 3151114:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1969844:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 6060 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2490235:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 136 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2150876:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1879 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 12 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 600265:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 70 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 15641 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1252568:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 19115 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 393800:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 19543645:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 1838 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 49009 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 912088:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 35746 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 35702 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 820717:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 992 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 28583 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 1126 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 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=2; 2:EBX=1; b=2; d=1; x=2; 1423 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 28 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 32469 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 2676199:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 259 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 14573 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 651693:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 2985 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 833 :>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 134.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (124 states) 3299 :>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; 891 :>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; 4951 :>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; 380 :>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=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; 20 :>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; 322001:>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; 547446:>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; 2295918:>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; 32712 :>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; 132686:>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; 3 :>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; 859 :>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; 335048:>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; 929568:>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; 124175:>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; 12053499:>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; 26 :>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; 2136 :>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; 5868816:>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; 37622665:>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; 48174 :>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; 100598:>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; 791046:>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; 17 :>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; 213 :>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; 142 :>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; 340 :>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; 1485710:>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; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 603306:>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; 2223281:>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; 100324:>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; 875592:>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; 3167884:>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; 71480 :>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; 1377676:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=1; 7 :>1:EAX=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; 722 :>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; 1808395:>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; 4274108:>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; 199263:>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; 41739923:>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; 65 :>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; 2884 :>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; 18437232:>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; 125990323:>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; 106912:>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; 266512:>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; 4400 :>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; 49043 :>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; 681788:>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; 2061459:>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; 39 :>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; 47 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 5 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 49 :>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; 349 :>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; 522 :>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; 692005:>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; 2963391:>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; 37578 :>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; 295336:>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; 2419800:>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; 9017502:>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; 332 :>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; 1899 :>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; 2390995:>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; 4 :>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; 2324424:>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; 29 :>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; 17323150:>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; 3569 :>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; 658161:>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; 22696 :>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; 433189:>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; 24033 :>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; 4834972:>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; 5 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 5969489:>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; 43 :>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; 43135721:>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; 6800 :>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; 31944 :>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; 8774282:>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; 8246 :>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; 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=2; z=1; 29333 :>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; 80869 :>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; 219580:>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; 30259329:>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; 1132 :>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; 153 :>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; 1172 :>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; 8 :>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; 1301 :>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; 9 :>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; 40042 :>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; 27568 :>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; 337778:>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; 22 :>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; 100 :>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; 139 :>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; 334 :>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; 184 :>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; 387638:>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; 2 :>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; 10175 :>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; 347668:>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; 320 :>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; 415 :>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; 23 :>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; 242 :>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; 256 :>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; 1093 :>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; 94 :>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; 401 :>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; 118703:>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; 766 :>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; 11283 :>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; 1131 :>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; 213 :>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; 3946 :>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 152.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 849 :>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; 11436 :>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; 580906:>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; 4834023:>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; 406079:>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; 463421:>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; 61631652:>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; 24383 :>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; 1517308:>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; 1642 :>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; 21629 :>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; 132 :>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; 47 :>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; 1195064:>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; 164517:>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; 2 :>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; 118914439:>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; 114 :>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; 8630 :>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; 122407770:>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; 1661504:>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; 7219249:>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; 989448:>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; 79 :>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; 66362586:>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; 21154 :>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; 6867925:>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; 28 :>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; 5 :>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; 14756643:>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; 334880:>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; 998900:>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; 29 :>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; 218461:>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; 42344184:>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; 581587:>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; 13335145:>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; 1185 :>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; 1636 :>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; 1310702:>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; 9371961:>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; 707024:>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; 479397:>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; 146376:>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; 1297513:>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; 147576:>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; 7735 :>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; 18653045:>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 183.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (117 states) 3 :>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; 1962 :>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; 374 :>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; 1268260:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 22 :>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; 5 :>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; 108 :>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; 27867 :>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; 27 :>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; 556 :>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; 386 :>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; 27857 :>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; 5060206:>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; 19 :>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; 5 :>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; 37 :>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; 80371 :>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; 189 :>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; 10988 :>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; 1816 :>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; 12701910:>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; 40 :>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; 10 :>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; 128 :>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; 9 :>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; 461969:>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; 130 :>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; 5008 :>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; 88659 :>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; 12377 :>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; 22614541:>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; 40211 :>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; 6106 :>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; 11957 :>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; 339848:>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; 727422:>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; 17048 :>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; 567539:>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; 52974 :>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; 129091734:>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; 8919 :>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; 685 :>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; 35807 :>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; 9245 :>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; 17818859:>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; 105 :>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; 302280:>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; 26122 :>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; 59 :>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; 168398:>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; 405 :>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; 2654526:>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; 137 :>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; 218593:>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; 2309 :>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; 289515:>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; 2672 :>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; 21616639:>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; 9 :>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; 4351 :>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; 218 :>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; 27248 :>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; 973 :>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; 14012414:>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; 2607 :>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; 511 :>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; 443592:>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; 2 :>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; 1 :>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; 500 :>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; 2296 :>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; 61 :>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; 122 :>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; 10 :>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; 97132 :>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; 2533024:>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; 41474 :>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; 2122 :>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; 24951 :>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; 280841:>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; 216808:>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; 4163 :>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; 5009 :>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; 635897:>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; 71664576:>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; 37476 :>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; 922 :>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; 1828 :>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; 72133 :>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; 21646666:>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; 4289 :>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; 37 :>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; 1206 :>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; 1340394:>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; 970 :>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; 909544:>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; 231 :>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; 24630721:>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; 43 :>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; 67575 :>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; 1804 :>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; 1699 :>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; 465864:>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; 36 :>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; 145812:>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; 64 :>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; 2047536:>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; 22764 :>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; 445 :>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; 97 :>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; 1489665:>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; 7559 :>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; 65876 :>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; 108975:>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; 40550901:>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 141.85 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (224 states) 84 :>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; 78 :>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; 28 :>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; 92833 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 609 :>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; 444 :>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; 68119 :>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; 7 :>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; 439 :>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; 133020:>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; 23 :>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; 4352 :>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; 2597 :>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; 2877186:>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; 56 :>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; 4274 :>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; 5 :>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; 4753 :>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; 30 :>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; 3410174:>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; 233 :>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; 12870 :>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; 13 :>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; 94231 :>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; 28 :>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; 15301942:>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; 23 :>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; 40 :>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; 14 :>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; 171 :>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; 9239 :>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; 367531:>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; 419 :>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; 511354:>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; 6390 :>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; 436 :>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; 809 :>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; 483227:>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; 2 :>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; 384359:>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; 26 :>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; 203741:>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; 4962 :>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; 34456 :>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; 15346672:>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; 6929836:>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; 1066 :>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; 992 :>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; 899 :>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; 31394 :>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; 12312 :>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; 1252393:>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; 7756 :>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; 4437727:>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; 87 :>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; 286823:>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; 88392 :>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; 10849 :>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; 8059902:>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; 83 :>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; 13021087:>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; 267 :>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; 1817211:>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; 536009:>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; 62568 :>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; 72874564:>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; 146 :>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; 96153371:>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=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 25834 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 473 :>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; 6 :>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; 216 :>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; 169 :>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; 88136 :>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; 233 :>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; 159 :>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; 451538:>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; 24 :>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; 30651 :>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=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 575806:>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; 985 :>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; 179192:>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; 10798 :>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; 6842727:>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; 883 :>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; 9923 :>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; 3634 :>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; 2605 :>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; 5796 :>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; 55962 :>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; 257775:>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; 103172:>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; 835428:>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; 2416309:>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; 1736 :>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; 10778 :>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; 87567 :>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; 227816:>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; 22921 :>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; 524402:>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; 1641954:>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; 2293812:>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; 1530335:>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; 9527430:>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; 15 :>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; 126 :>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; 9 :>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; 15 :>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; 12488 :>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; 390583:>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; 139 :>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; 385 :>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; 82773 :>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; 85 :>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; 4693 :>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; 33144 :>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; 13189125:>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; 7 :>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; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 37 :>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; 673 :>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; 103 :>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; 73 :>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; 31124 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 49195 :>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; 7446 :>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; 1449 :>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; 23771 :>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; 64651 :>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; 1371 :>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; 881463:>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; 646 :>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; 732754:>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; 215903:>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; 14710778:>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; 130842:>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; 46376249:>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; 2 :>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; 102 :>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; 487 :>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; 14 :>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; 191310:>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; 4 :>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; 386617:>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; 163 :>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; 157 :>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; 322 :>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; 5107 :>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; 145759:>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; 593274:>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; 35099 :>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; 950544:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=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; 33 :>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; 236 :>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; 88 :>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; 157005:>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; 832 :>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; 296 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 69939 :>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; 10 :>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; 14 :>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; 100 :>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; 14582 :>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; 1221470:>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; 887 :>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; 1434206:>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; 3387 :>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; 147 :>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; 488 :>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; 263094:>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; 16 :>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; 369034:>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; 53 :>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; 207035:>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; 1692 :>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; 29107 :>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; 20902149:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 10463575:>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; 103 :>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; 107834:>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; 15 :>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; 2266 :>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; 11 :>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; 709 :>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; 1209 :>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; 258130:>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; 20580 :>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; 155670:>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; 5082 :>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; 1874 :>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; 7311 :>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; 73350 :>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; 570163:>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; 75012 :>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; 2826270:>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; 8741581:>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; 5 :>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; 59 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 6 :>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; 348 :>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; 14 :>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; 33 :>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; 11748 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 29921 :>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=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 207 :>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; 325 :>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; 104 :>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; 299 :>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; 3865 :>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 162.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (96 states) 19061 :>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=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 224949:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 27551062:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 59224 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4212999:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 207147:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 40791373:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 22716 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 4805671:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 47 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 4560 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1501 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 629244:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 561913:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 62560774:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 168801:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 11399728:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 597074:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 123577498:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 8859 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 260 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1692019:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 32666 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2982 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 786713:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 5158019:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1515853:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 10 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 22898 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 2388567:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 2557128:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 134272:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 14245 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1885637:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 15530155:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 886345:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 744700:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 19898243:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 97084 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 336 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 21377 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 3214394:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1541003:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 58735682:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 20869 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 94 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 16 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 76692 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 869 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 12 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 7017 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 16584 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 162 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 6133 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 19161 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 12671 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 34654 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 61 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 23 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 337458:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1421 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 141763:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 35553 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 49 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1033122:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 4027 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 351264:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 2319 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 642 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 2080545:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 34 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 931 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 386 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 39809 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 5078 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 39 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1265 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1077735:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 21 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 7142 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 402806:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2859 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 794 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 6984 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 106 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 14 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 228 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 4464 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1279 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 2 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 47 :>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 150.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (117 states) 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1470 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1176575:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 29472 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 7 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 5817967:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 23 :>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; 72790 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 12960418:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 24 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 424614:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 136 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 26145911:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 30968 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 3693 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 9532 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 207385:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 568894:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 123670286:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 8897 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 12844744:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 250748:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 35146 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 161446:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3081508:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 210163:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 27146985:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 4493 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 16865074:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 1327 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 49 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 10046 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1683 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 191096:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 894759:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 33408 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 111 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 68 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 384 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 230 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1052315:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 18 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 65246 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1436 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 333515:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1612 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 16 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 3800584:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 12920 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 792 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 9970 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 130951:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 95070 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 72334633:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 18666 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 17934205:>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; 94 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 12878 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 4213 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 334 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 227 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 54147 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 1866 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 10 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 24801 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 57588 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 3816 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 2220 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 422 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 39 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1868 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 30 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 22 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 5630 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 27487 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 810 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 1944 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 92 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 396 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 558 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 744688:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1576690:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 141650:>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=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 661 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 29263 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 4877 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 3525 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 31 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1335584:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 23533984:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 62871 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2330 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 471539:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2574116:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 361 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 705987:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 45 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2989 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 401447:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 9741 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 220 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1121324:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 38204300:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 73 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 90657 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 102 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 47 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 1906 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 40 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 100812:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 22157 :>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 152.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (223 states) 90 :>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; 24 :>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; 112372:>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; 631 :>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; 93919 :>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; 490 :>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; 136678:>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; 3193 :>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; 3063345:>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; 20 :>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; 3351329:>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; 13 :>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; 16896757:>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; 66 :>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; 436 :>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; 533956:>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; 65440 :>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; 5622865:>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; 675 :>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; 19877 :>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; 10086 :>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; 4901472:>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; 40 :>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; 10598242:>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; 49 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 110269756:>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; 14892 :>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; 266 :>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; 88198 :>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; 84 :>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; 257206:>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; 432709:>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; 6527424:>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; 7085 :>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; 13072 :>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; 2194145:>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; 7560 :>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; 324791:>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; 9626054:>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; 74 :>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; 558 :>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; 1 :>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; 1 :>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; 13 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 3917 :>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; 3 :>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; 2345 :>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; 4 :>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; 94340 :>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; 8 :>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; 14 :>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; 13633 :>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; 417570:>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; 1016 :>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; 208023:>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; 58261 :>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; 14336277:>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; 634 :>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; 463 :>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; 14260 :>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; 1006022:>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; 15196 :>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; 5593502:>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; 93564 :>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; 80491713:>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=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 189 :>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; 76 :>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; 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=1; 10496 :>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; 522 :>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; 1854 :>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; 735151:>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; 1128 :>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; 7065 :>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; 1455640:>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; 19 :>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; 113 :>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; 11706 :>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; 409988:>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; 26152 :>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; 13277847:>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; 2 :>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; 13 :>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; 6635 :>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; 22323 :>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; 85810 :>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; 66786 :>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; 34167420:>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; 31 :>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; 271 :>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; 289592:>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; 805 :>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; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=1; 326481:>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; 4 :>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; 4 :>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; 41 :>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; 3078 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 64 :>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; 13931 :>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; 10057 :>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; 2170 :>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; 237369:>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; 11971885:>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; 1 :>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; 95 :>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; 10171 :>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; 2435 :>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; 9598 :>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; 72 :>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; 2481 :>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; 246202:>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; 1808286:>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=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 210 :>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; 20112 :>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; 116534:>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; 658 :>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; 66888 :>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; 153668:>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; 1830201:>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; 79 :>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; 553 :>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; 4215 :>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; 19 :>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; 222772:>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; 105 :>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; 383535:>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; 431 :>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; 4220697:>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; 12 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 8 :>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; 1309 :>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; 1504 :>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; 204643:>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; 35529 :>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; 1362282:>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; 232 :>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; 173576:>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; 12 :>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; 284 :>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; 1306914:>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; 2 :>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; 170244:>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; 23 :>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; 257602:>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; 177 :>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; 388 :>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; 1763 :>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; 1330979:>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; 14 :>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; 63 :>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; 60448 :>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=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 134 :>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; 237290:>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; 546 :>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; 114159:>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; 13 :>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; 41 :>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; 1189 :>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; 1723257:>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; 3 :>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; 78176 :>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; 2 :>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; 9671197:>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; 113665:>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; 1450 :>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; 331317:>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; 167678:>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; 26268 :>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; 8720959:>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; 334 :>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; 486 :>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; 15 :>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; 11 :>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; 27083 :>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; 1351076:>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; 588 :>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; 112971:>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; 64049 :>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; 19304161:>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; 111 :>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; 1451 :>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; 21644 :>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; 3150 :>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; 2593472:>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; 1 :>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; 1 :>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; 29 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 20 :>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; 5837 :>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; 72 :>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; 987 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 3 :>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; 44 :>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; 5185 :>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; 107 :>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; 32 :>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; 807 :>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; 15 :>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; 641 :>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; 583 :>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; 58786 :>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; 2670 :>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; 40 :>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; 193821:>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; 9 :>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; 1841 :>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; 382627:>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; 3 :>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=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=2; z=2; 15 :>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; 261 :>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; 106 :>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 177.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (51 states) 13916 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1843480:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 8009942:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 120328:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 55305619:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 184805917:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 8855 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 2213488:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 13695414:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 790 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 28492719:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 58431888:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 54210 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 280 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1936561:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 5776 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 245211:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 551 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1578104:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 2871 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 734 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 9366 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 11683 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 230825:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 5685924:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 3011 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1800 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 168148:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1250 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 476962:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 3430119:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 442 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 459 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 71340 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1518086:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 18225266:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 17910 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 587562:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 12466482:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 104850:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 254 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 170094:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 300 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 706 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1764 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 1958 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 431 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 46343 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 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 145.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 7531409:>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; 491 :>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; 162249726:>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; 856453:>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; 1006166:>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; 2059586:>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; 212417371:>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; 3252 :>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; 7453894:>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; 704697:>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; 84604556:>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; 67770 :>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; 3019902:>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; 338 :>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; 18024389:>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 164.94 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1201 :>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; 192493:>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; 36499670:>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; 2926 :>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; 2 :>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; 26497 :>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; 2020544:>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; 831276:>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; 2189 :>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; 8990763:>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; 158123804:>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; 126005:>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; 7093447:>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; 1667699:>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; 7993598:>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; 922497:>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; 146481218:>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; 918261:>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; 334920:>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; 699167:>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; 115510821:>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; 2023 :>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; 1687979:>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; 552 :>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; 5630 :>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; 1636795:>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; 3729673:>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; 193067:>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; 3958719:>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; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 346563:>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 189.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 271902:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 7618026:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 540 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 4740342:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 246312262:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 570217:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 769076:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 53363 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 1829275:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6358670:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 213022406:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5437931:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 63557 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 20238 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 2707 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 12679550:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 249938:>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 157.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 13284820:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 1567618:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 33 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 5420538:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 524979:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 70879 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 15609856:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 358287058:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 21005 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 11623989:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1197 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 427846:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 238667:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 14315851:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 715737:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3608613:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 587046:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 73694268:>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 140.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (65 states) 3136 :>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; 107402:>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; 34008 :>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; 10546 :>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; 43249 :>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; 162657:>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; 12 :>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; 1123146:>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; 21602 :>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; 1803 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 35844 :>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; 19 :>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; 366 :>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; 112 :>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; 2148 :>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; 252921:>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; 7278423:>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; 2021279:>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; 25835504:>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; 5561 :>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; 129 :>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; 3369689:>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; 41164 :>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; 473 :>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; 50031609:>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; 1078226:>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; 21 :>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; 4060 :>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; 188230:>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; 5 :>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; 2 :>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; 54284 :>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; 17853 :>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; 8 :>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; 19 :>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; 117531:>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; 403863:>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; 1133 :>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; 3 :>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; 2743640:>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; 57550 :>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; 24 :>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; 5472 :>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; 194 :>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; 5 :>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; 216627:>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; 180 :>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; 1482 :>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; 2051 :>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; 95327 :>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; 307987:>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; 13213362:>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; 797 :>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; 16627 :>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; 8294302:>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; 134147560:>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; 183155:>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; 11549 :>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; 2329042:>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; 135292:>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; 207341:>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; 3548 :>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; 138404707:>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; 7374138:>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 132.01 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (91 states) 2 :>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; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 966 :>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; 12881 :>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; 314 :>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; 215 :>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; 303422:>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; 3 :>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; 186 :>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; 4007 :>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; 1345741:>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; 277 :>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; 28 :>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; 6456 :>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; 5891 :>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; 3605 :>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; 56833 :>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; 7988 :>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; 701046:>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; 13510 :>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; 41885 :>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; 109408:>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; 1799267:>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 3140 :>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; 667 :>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; 2059235:>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; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 2160 :>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; 7894 :>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; 2811371:>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; 678 :>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; 39674 :>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; 15771 :>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; 7699539:>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; 14762 :>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; 3185111:>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; 84329 :>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; 741 :>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; 70979105:>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; 5987 :>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; 688828:>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; 2150 :>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; 2865348:>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; 10266 :>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; 27834 :>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; 84681 :>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; 1323571:>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; 15 :>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; 1879899:>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; 75154 :>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; 4427 :>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; 9257428:>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; 110 :>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; 24570894:>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; 10435 :>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; 10021031:>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; 2475 :>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; 23686828:>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; 177195:>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; 19804057:>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; 357799:>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; 203948279:>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; 17 :>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; 1 :>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; 26775 :>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; 8563 :>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; 121 :>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; 5880 :>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; 58 :>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; 3 :>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; 14437 :>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; 1222 :>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; 186 :>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; 61155 :>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; 225 :>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; 675349:>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; 194 :>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; 1008423:>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; 18 :>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; 2597859:>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; 161 :>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; 4576 :>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; 142182:>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; 216493:>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; 46633 :>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; 1092076:>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; 95397 :>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; 2225631:>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; 1594 :>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; 1651963:>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 157.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (53 states) 1187 :>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; 311120:>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; 6205566:>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; 97 :>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; 445751:>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; 264291:>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; 10041881:>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; 41648792:>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; 7357 :>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; 491661:>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; 1765782:>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; 19337101:>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; 695 :>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; 324 :>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; 17624 :>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; 438869:>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; 2539208:>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; 1175451:>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; 66477518:>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; 214516784:>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; 1218 :>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; 190465:>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; 83 :>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; 3362 :>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; 34465 :>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; 1152580:>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; 84 :>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; 4846057:>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; 18717 :>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; 30461 :>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; 90 :>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; 5178 :>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; 454762:>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; 209666:>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; 3634891:>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; 1813 :>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; 19870662:>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; 2 :>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; 275663:>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; 7995 :>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; 669 :>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; 224997:>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; 21 :>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; 10439 :>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; 9998 :>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; 1663188:>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; 85702 :>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; 5 :>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; 1220 :>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; 252 :>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; 4829 :>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; 1558247:>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; 15160 :>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 146.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (66 states) 131435:>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; 7573 :>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; 212591:>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; 10014 :>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; 1292 :>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; 23754 :>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; 225 :>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; 5576921:>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; 22217735:>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; 16947 :>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; 508766:>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; 273713:>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; 13762 :>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; 636873:>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; 30083 :>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; 3765 :>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; 208122:>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; 1716 :>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; 8626046:>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; 128179742:>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; 56313 :>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; 4449445:>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; 1530 :>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; 56 :>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; 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=1; 1 :>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; 35 :>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; 3 :>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; 12 :>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; 174 :>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; 1 :>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; 34539 :>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; 15601 :>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; 3243 :>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; 1103 :>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; 2258 :>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; 45242 :>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; 61654 :>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; 1915650:>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; 31 :>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; 87644 :>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; 1225211:>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; 2445016:>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; 55522858:>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; 3759 :>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; 118024:>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; 180150:>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; 4298028:>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; 3 :>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; 301 :>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; 119080:>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; 5568896:>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; 1502100:>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; 155225211:>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; 24 :>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; 58 :>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; 4017 :>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; 1188 :>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; 1 :>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; 17 :>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; 5 :>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; 2114 :>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; 1255 :>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; 655 :>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; 155166:>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; 271235:>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 150.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (87 states) 1466 :>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; 10257 :>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; 6807 :>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; 1600494:>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; 13520 :>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; 6860 :>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; 163128:>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; 2193535:>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; 964 :>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; 1867874:>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; 8386 :>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; 2667240:>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; 6635523:>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; 318 :>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; 75259418:>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; 2425 :>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; 2529889:>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; 105359:>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; 983233:>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; 33 :>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; 21087924:>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; 395038:>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; 188405761:>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; 16 :>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; 8334 :>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; 19 :>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; 4846 :>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; 1000 :>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; 478657:>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; 1943666:>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; 1599 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=1; y=1; 1 :>0:EAX=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; 743040:>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; 960816:>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; 56 :>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; 507 :>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; 21 :>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; 19626 :>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; 43141 :>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; 947 :>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; 690 :>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; 4488 :>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; 19448 :>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; 8689 :>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; 799263:>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; 17332 :>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; 18812 :>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; 10676 :>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; 10945924:>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; 277798:>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; 26953413:>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; 35 :>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; 3 :>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; 112 :>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; 35227 :>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; 539 :>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; 389 :>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; 422003:>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; 8652 :>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; 841720:>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; 13138 :>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; 4846981:>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; 36063 :>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; 1586 :>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; 25304313:>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; 26449 :>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; 3714 :>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; 33366 :>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; 882871:>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; 138345:>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; 1607314:>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; 152 :>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; 5010 :>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; 71459 :>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; 242 :>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; 5270 :>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; 16 :>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; 1402036:>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; 16626 :>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; 16899820:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=2; 71 :>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; 64 :>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; 56 :>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; 124790:>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; 63288 :>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 171.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (36 states) 59847 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 23889009:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1719005:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 245682305:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 55115 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 17405486:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 759082:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 101459962:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 2035827:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 1102290:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 225370:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 4575 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 11920 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 284 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 310185:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 6411 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 116318:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1057 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1032107:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 7824 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1155 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 121 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 2049267:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 4 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 10444 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 289 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1834013:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 8416 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 185039:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 10232 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 16504 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 209 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 3 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 4 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 310 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 11 :>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 138.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (17 states) 9562046:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 927532:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 4460349:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 348430792:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 11453616:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 396779:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 13575908:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 85146138:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 4527 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 5708 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 301 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 114810:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 1895414:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 22124153:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 762701:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 426559:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 712667:>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 164.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (63 states) 8 :>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; 2048 :>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; 72372 :>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; 10 :>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; 2 :>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; 24252 :>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; 6418 :>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; 2 :>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; 16 :>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; 51299 :>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; 181797:>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; 874 :>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; 1279866:>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; 22722 :>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; 89 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 141502:>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; 95 :>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; 668 :>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; 721 :>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; 15019 :>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; 6074550:>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; 111902962:>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; 104116:>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; 1623 :>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; 116420930:>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; 5218412:>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; 1805 :>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; 37644 :>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; 16418 :>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; 4562 :>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; 13964 :>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; 55056 :>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; 5 :>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; 335498:>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; 9417 :>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; 16020 :>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; 21 :>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; 165 :>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; 1505633:>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; 22685978:>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; 404 :>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; 51601203:>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; 916904:>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; 33 :>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; 10905 :>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; 1269 :>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; 170102:>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; 523056:>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; 38739804:>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; 129528:>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; 7562 :>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; 5230651:>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; 235022:>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; 3439 :>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; 108 :>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; 4092 :>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; 848260:>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; 22788649:>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; 11595 :>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; 144 :>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; 12401383:>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; 171324:>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 150.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (87 states) 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1277 :>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; 4642 :>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; 1454919:>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; 6006 :>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; 1779657:>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; 32071 :>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; 323 :>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; 42684885:>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; 10945 :>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; 16512 :>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; 87544 :>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; 1038872:>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; 13319 :>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; 10649109:>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; 8342 :>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; 28347991:>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; 193811:>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; 20765678:>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; 402802:>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; 225026469:>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; 844 :>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; 78 :>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; 690463:>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; 10 :>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; 1663639:>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; 105337:>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; 2296343:>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; 1991 :>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; 2242178:>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; 2 :>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; 349 :>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; 5676 :>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; 42 :>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; 99 :>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; 325947:>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; 33 :>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; 1362 :>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; 521260:>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; 188 :>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; 16 :>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; 3097 :>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; 2483 :>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; 8516 :>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; 105017:>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; 23175 :>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; 1613848:>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; 11673 :>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; 21420 :>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; 114464:>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; 1326966:>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; 10 :>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; 25214 :>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; 3556 :>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; 220 :>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; 14146 :>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; 41 :>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=1; z=2; 1282 :>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; 399 :>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; 800678:>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; 438 :>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; 12318 :>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; 6316 :>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; 3810474:>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; 5180 :>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; 381541:>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; 2885 :>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; 1492009:>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; 31 :>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; 2101060:>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; 105268:>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; 9008 :>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; 11168319:>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; 274 :>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; 33996000:>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; 2674 :>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; 126 :>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; 34660 :>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; 178 :>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; 272661:>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; 78 :>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; 864 :>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; 194861:>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; 307778:>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; 76607 :>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; 1561152:>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 172.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (53 states) 2189085:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 425209:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 43369312:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 7524426:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1633996:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 222099378:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 120937:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1127088:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 3514043:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 8921 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 3957216:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 17788157:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 54882 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 823120:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 13104809:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 862669:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3736887:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 74813725:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 46053 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 97 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 283582:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 2201 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 5301 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 38061 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 7297 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 68070 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 450 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 103609:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 514016:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2461 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 617433:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 190 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 22 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 115031:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 333 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 546066:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 163 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 66 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 2033 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 2352 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 4156 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 458768:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 2075 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 764 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 18026 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 106 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 3728 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 176 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 2579 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 855 :>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 159.95 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (64 states) 94588 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 5961 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 305742:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 20843 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 118993:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 516 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 114106726:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 3662498:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 18 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 20 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 91 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 15159 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 953 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 35019 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 2991 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 58545 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 4664 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 10137 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 106 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 20379259:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 601554:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1919 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 33539 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 111448:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 2026878:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 86 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 4453444:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 138304594:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 15 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1419 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 585 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 208591:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1154 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 13020 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 24161 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 523972:>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; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1377930:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 56165753:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 23 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 747 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 9558 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 30191773:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 149958:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 26 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 111900:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 4566 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 2278 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 13222664:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 63368 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1783 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 20 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 193895:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 3785046:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 1001 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 178192:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 274530:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 9128885:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 32 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 6843 :>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 165.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (87 states) 4217 :>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; 1424941:>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; 112 :>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; 38587440:>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; 59949 :>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; 672591:>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; 369827:>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; 214264484:>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; 745 :>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; 1204601:>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; 1528836:>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; 2 :>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; 392 :>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; 6026 :>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; 14424 :>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; 10888 :>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; 274345:>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; 29111987:>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; 833 :>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; 296 :>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; 4383 :>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; 1079 :>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; 476525:>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; 1986 :>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; 1235 :>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; 143644:>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; 1300328:>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; 14 :>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; 2682 :>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; 10 :>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; 1 :>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; 13 :>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; 187 :>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; 11 :>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; 18337 :>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; 19536 :>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=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 2162100:>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; 9907 :>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; 35351679:>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; 622140:>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; 1937286:>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; 1474 :>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; 21548 :>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; 19586458:>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; 20 :>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; 81736 :>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; 191 :>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; 385914:>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; 30342 :>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; 2080146:>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; 21923 :>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; 8135 :>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; 11 :>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; 15062 :>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; 126156:>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; 126 :>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; 487 :>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; 828453:>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; 2955489:>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; 2910 :>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; 1054241:>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; 81 :>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; 27510334:>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; 1569 :>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; 203469:>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; 420 :>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; 1181796:>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; 1 :>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; 473 :>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; 1926 :>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; 4761 :>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; 280421:>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; 14315 :>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; 11752816:>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; 50 :>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; 71 :>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; 63692 :>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; 4483 :>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; 51468 :>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; 17260 :>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; 216421:>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; 183 :>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; 33 :>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; 1701862:>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; 83 :>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; 201170:>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 186.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (40 states) 9822575:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 74671 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 60307941:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 44065190:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 210860:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 174034958:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 9792 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 7883614:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 13841899:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 16963 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 22379498:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 26398350:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 167080:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 2 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 32864 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1676594:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 106 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1301594:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 994 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 1652 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 12 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3635 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 10362 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 744758:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 3216 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 2792134:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 12600888:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 19297 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 15816158:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 403 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 280005:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 534583:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2314 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2400376:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 2553486:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 130 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 9985 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 936 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 56 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 69 :>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 138.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 6879606:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 43812 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 20207 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 27532214:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2257992:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 11935713:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2239708:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 243173313:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 33894 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 13748204:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 199 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 51474 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3443157:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 76804744:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 732676:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 30825505:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 25 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 80277557:>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 134.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (80 states) 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3457 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 241068:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 36016 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 19584 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 11515 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 77553 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5281584:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 22739 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4913 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 523 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 17836796:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3589477:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1987 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 81 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 35976 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 13 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1540 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7344 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5567981:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 266375:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 16594997:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6185 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1281 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4487878:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1168844:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3619 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 36 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 25364984:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3869209:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 88 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 9396 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 653328:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 18 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 93407 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 45513 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 15 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 23652 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 14 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 976 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 151037:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 12490977:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 282 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 103 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 20453 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 28564 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 168489:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 14088 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 25028907:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 11984297:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 25 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6836 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 157 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 703 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 341151:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 30 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 453 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 178728:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 10190 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 23959175:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1016 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 44286 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1506978:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 119930648:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 610930:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 311699:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 5596007:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 14121811:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 571327:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 260844:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 59857009:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 37472803:>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 122.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (119 states) 255 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 9742 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 3759 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1495108:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 41 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 313 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1012813:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 494 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1057841:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 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; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 440 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 18374 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 116 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 13 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 3603 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 73752 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 12471 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1519 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 418955:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 8378106:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 745 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 26 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 18277 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 135 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 27 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 32080 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 46594 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 358593:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 112740:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 23539362:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 15853 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 40981 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 139315:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 12109337:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 119 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 814522:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 77226 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1897 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 13497700:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 58405 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 546489:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1315880:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 698 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 13523 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 26692 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 542947:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 20950 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 28677988:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 604 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5411 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 941 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2047355:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 107153:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 674379:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 196360:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 120680912:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2271 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 595392:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 246 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6344509:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3566 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 191815:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1388 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 18452609:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 57020 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3000548:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4218 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 89697228:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 15131 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 403406:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3481 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 55042000:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 26 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1823 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 101 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 146889:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 37567 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 11 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 884 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 405 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 263 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 269429:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 10415 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 312602:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 281 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 68568 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 25446 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 444421:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 251004:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 579748:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 335 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 410 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 237832:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 592 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 19874 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 5638 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1551247:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 849 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1465532:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3740 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1759521:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 779626:>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 144.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (63 states) 13 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 12 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 965330:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 1454 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1551466:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 17345540:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 2302 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 25 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 766823:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 9 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1020 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 5270 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 11075 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 5 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 9900429:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 44959718:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1114 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 1854268:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 10 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 3212 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 36859 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 91813 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 649173:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 36882394:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 14259 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 341002:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 93 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 119 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 828 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 199991:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 268230:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 115190:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 7003157:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 129093243:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 166 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 36981 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 7027930:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 4029 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 6018757:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 27076524:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 5745 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 50996 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 278398:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 6672307:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 48 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 4893 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 10044 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 21267 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 41338853:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 59045674:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 13 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 8527 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 3 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 3 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 7577 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 97593 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 76 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 1586 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 4 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 291 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 29 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 31969 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 194271:>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 144.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (76 states) 30087 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1009 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 7883761:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 503842:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 3910249:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 79337 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 2851 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 15010210:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 4686872:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 43760661:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 1 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 251682:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 472 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 5669446:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1394 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 12546 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 4175006:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 14195294:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 795690:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1818 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 14957250:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 7375 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 317829:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 15953720:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 128179640:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1503 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 26 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 99 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 33628 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 314496:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 576012:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 1555 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 108 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 4 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1048 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 16 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 218 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 193570:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 47691 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 30475 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 4104 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 16574740:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 4 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 1361782:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 29209189:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 139277:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 2037 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 24957932:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 55 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 695192:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 63813613:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 549 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 11185 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 21 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 322 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 57193 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 2450 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 29374 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 909 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 354 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 348233:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 319 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 6271 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 6886 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 217 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 159502:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 180662:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 848939:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 14 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 155 :>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 151.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (41 states) 4043 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 5646769:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 74065 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 101983689:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 6540 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 9020195:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 90779 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 156168093:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 2334448:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 18208253:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 9704493:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 30407459:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 359402:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 998490:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 5167046:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 18254302:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 923785:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 1528305:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 12485014:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 24040006:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 360 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 7778 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 1038 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 8985 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 3 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 60676 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 714 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 113 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 1162355:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 242 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 233786:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 10787 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 1090601:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 745 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 1837 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 25 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 54 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 2402 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 12310 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 3 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 10 :>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 132.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 3617 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1838389:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 389787:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 90332607:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 678289:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 13863667:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 12472830:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 139557971:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 1054 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 5178090:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 647 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 9106504:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 47658 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 19067962:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 40333 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 17348724:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 47018 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 6 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 4383723:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 336 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 144791:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 121412:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 21324023:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 314538:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 430550:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 149 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 1704142:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 326 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 1678078:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 1129758:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 15285348:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 7421232:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 18028765:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 1 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 7449 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 169 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 15700 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 1085 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 1726983:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 995877:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 15307015:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 400 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 27 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 2970 :>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 134.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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) 1327081:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 23494296:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 1180213:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 9 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 56380273:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1640668:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 111382:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 33697138:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 1177732:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 142861:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 148238038:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 3 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 3601 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 4948519:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 11 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 36656 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 27265126:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 46055 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 900249:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 364039:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 8099399:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 3548976:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 18979358:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 6128147:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 35851043:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 5328 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 36734 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 2833 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 112009:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 17578 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 2662 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 4127302:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 78826 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 8226 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 20933274:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 1 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 2477 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 14 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 9983 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 127 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 14684 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 7397 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 3883 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 9 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 3447 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 170030:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 141 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 673463:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 1 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 39 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 3198 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 134 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 987 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 352 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 204017:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 14814 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 27 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 1 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 464 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 391 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 1271 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 28 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 2972 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 2 :>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 155.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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 (75 states) 40656 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 10018932:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 5 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 53065133:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 330533:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 7384185:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 133886:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 126740098:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 9 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 33604 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 579260:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 79 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 897 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 138 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 35147 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 20409 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 5262739:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 1 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 9192944:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 101170:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 2121525:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 8494 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 20634042:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 20 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 35842 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 15297712:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 23 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 62754841:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 816 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 12944 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 134 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 243004:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 9 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 181643:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 998480:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 1 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 148 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 6790 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 8607025:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 38635155:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 162 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 3994 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 3 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 60467 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 252 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 5764 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 2709 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 5987856:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 1928 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 6413 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 19130172:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 61 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 353638:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 6 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 29 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 165179:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 960 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 1484382:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 327 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 1563 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 6431728:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 2533 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 1635 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 1668 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 921671:>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; 421 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 85 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 191686:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 21 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 3960 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 2749197:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 435 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 1 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 10620 :>2:EAX=1; 2:EBX=1; b=1; 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 162.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 Sat Jan 15 17:15:55 CET 2011