Tue Jan 18 11:20:45 CET 2011 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X000.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000 "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV [a],$1 | MOV EAX,[x] ; MOV EAX,[y] | MOV [b],$1 ; MOV ECX,[a] | MOV ECX,[b] ; MOV EBX,[x] | MOV EDX,[a] ; MOV EDX,[b] | MOV EBX,[y] ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: movl (%r13),%esi _litmus_P1_5_: movl (%r11),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: movl (%rbx),%edx _litmus_P0_5_: movl (%r12),%esi Test X000+X000 Required Histogram (12 states) 499613:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 185266:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 43212 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 99187320:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2653342:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 6231 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 9355 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 231729:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 96906878:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 70797 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 118651:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 87606 :>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: 196602981, Negative: 3397019 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 106.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X001.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001 "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [y],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [a],$1 | MOV [c],$1 | MOV EAX,[b] ; MOV EAX,[y] | MOV EAX,[x] | MOV EBX,[c] ; MOV ECX,[a] | MOV EBX,[y] | ; MOV EBX,[x] | MOV ECX,[c] | ; MOV EDX,[b] | MOV EDX,[a] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: movl (%rbx),%edx _litmus_P0_5_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl (%r11),%edx _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r13),%esi Test X000+X001 Required Histogram (32 states) 90583 :>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; 32984 :>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; 3585593:>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; 15052697:>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; 17836 :>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; 126 :>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; 234783:>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; 89222 :>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; 11317 :>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; 765 :>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; 273628:>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; 202533:>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; 23411613:>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; 1439 :>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; 14371348:>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; 551372:>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; 144265:>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; 10901671:>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; 9954 :>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; 21214483:>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; 13603 :>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; 1041 :>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; 273 :>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; 441 :>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; 15380 :>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; 119765:>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; 503 :>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; 112129:>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; 9478397:>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; 20484 :>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; 16748 :>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; 23024 :>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: 95568407, Negative: 4431593 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 95.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X002.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002 "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV ECX,[c] | MOV [x],$1 | MOV [d],$1 ; MOV [z],$1 | MOV EAX,[x] | MOV EAX,[y] ; MOV EDX,[d] | MOV [b],$1 | MOV EBX,[z] ; MOV EAX,[z] | MOV ECX,[b] | MOV ECX,[d] ; MOV EBX,[x] | MOV EDX,[c] | MOV EDX,[a] ; | MOV EBX,[y] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%r13),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r13),%ecx _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r12),%esi _litmus_P0_4_: movl (%r11),%eax _litmus_P0_5_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r12),%esi _litmus_P1_6_: movl (%r11),%edx Test X001+X002 Required Histogram (64 states) 34198 :>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; 22460 :>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; 10684 :>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; 62868 :>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; 113197:>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; 31405 :>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; 3101918:>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; 13345083:>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; 15796 :>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; 2424 :>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; 67 :>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; 648 :>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; 1483083:>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; 16833 :>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; 12678059:>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; 2409764:>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; 2451 :>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; 138 :>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; 12 :>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; 26 :>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; 1285 :>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; 23 :>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; 738 :>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; 13 :>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; 411081:>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; 7562 :>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; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 17 :>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; 12812708:>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; 59680 :>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; 32087 :>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; 806 :>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; 168471:>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; 9772302:>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; 3525 :>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; 11043975:>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; 18306 :>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; 74427 :>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; 32780 :>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; 1025442:>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; 13071 :>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; 6952 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3648 :>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; 57753 :>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; 27461 :>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; 75846 :>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; 80447 :>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; 412807:>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; 11061923:>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; 150 :>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; 87916 :>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; 6104 :>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; 11363 :>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; 3249 :>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; 13502 :>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; 11581064:>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; 714438:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 556 :>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; 6912792:>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; 117166:>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; 8823 :>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; 6624 :>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: 84083712, Negative: 15916288 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 113.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X003.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003 "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV EAX,[y] | MOV [c],$1 ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] ; MOV EAX,[x] | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%eax _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r13),%ecx _litmus_P0_6_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl (%rbx),%ecx _litmus_P1_4_: movl (%r9),%edx Test X002+X003 Required Histogram (64 states) 47571 :>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; 46490 :>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; 21018 :>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; 388338:>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; 69307 :>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; 15349 :>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; 3875499:>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; 14721609:>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; 23904 :>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; 553 :>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; 1205 :>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; 644 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 816844:>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; 2656 :>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; 12742382:>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; 827235:>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; 27238 :>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; 497 :>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; 1706 :>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; 928 :>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; 12226 :>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; 31 :>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; 3549 :>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; 350 :>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; 1435309:>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; 693 :>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; 23286 :>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; 1417 :>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; 12814209:>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; 1105 :>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; 743780:>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; 9365 :>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; 31447 :>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; 5997213:>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; 5160 :>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; 15239371:>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; 6904 :>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; 13347 :>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; 45717 :>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; 962210:>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; 9772 :>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; 573 :>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; 269 :>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; 370 :>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; 26549 :>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; 793 :>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; 49335 :>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; 19865 :>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; 188175:>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; 10010046:>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; 2609 :>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; 1292727:>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; 6826 :>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; 3624 :>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; 3482 :>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; 13458 :>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; 12135407:>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; 109553:>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; 64681 :>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; 14281 :>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; 4963637:>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; 2524 :>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; 86780 :>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; 17002 :>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: 86844556, Negative: 13155444 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 112.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X004.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004 "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 | MOV EAX,[c] ; MOV EBX,[c] | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; MOV EAX,[x] | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r11),%ecx _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X003+X004 Required Histogram (128 states) 14125 :>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; 4353 :>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; 462204:>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; 1200732:>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; 5270 :>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; 1762 :>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; 769675:>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; 2482538:>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; 14021 :>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; 511 :>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; 122021:>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; 107203:>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; 106303:>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; 1190 :>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; 2953376:>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; 452637:>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; 6628 :>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; 1013 :>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; 159387:>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; 91437 :>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; 822 :>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; 80 :>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; 64704 :>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; 89119 :>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; 1496510:>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; 1892 :>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; 776527:>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; 87260 :>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; 4679666:>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; 3100 :>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; 3267568:>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; 143706:>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; 15775 :>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; 644141:>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; 118677:>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; 7473713:>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; 976 :>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; 12381 :>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; 15131 :>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; 610479:>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; 783 :>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; 57 :>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; 2896 :>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; 3915 :>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; 6774 :>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; 769 :>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; 45683 :>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; 33547 :>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; 286922:>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; 5332461:>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; 751428:>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; 8305544:>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; 1760 :>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; 33520 :>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; 16751 :>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; 179689:>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; 7556214:>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; 125507:>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; 2045447:>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; 700095:>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; 1150776:>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; 11731 :>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; 567670:>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; 161714:>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; 58251 :>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; 120590:>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; 9785 :>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; 127673:>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; 1795098:>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; 2870620:>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; 1275104:>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; 6942228:>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; 24224 :>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; 9636 :>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; 579 :>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; 1374 :>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; 6927928:>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; 454363:>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; 2999078:>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; 732832:>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; 9830 :>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; 5578 :>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; 624 :>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; 1056 :>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; 35764 :>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; 27177 :>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; 8879 :>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; 45310 :>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; 586529:>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; 4465 :>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; 702 :>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; 297 :>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; 6876569:>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; 30311 :>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; 50233 :>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; 11634 :>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; 16192 :>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; 2984206:>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; 1071 :>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; 2719068:>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; 2517 :>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; 214306:>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; 394 :>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; 233487:>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; 389 :>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; 71 :>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; 3 :>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; 12 :>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; 8008 :>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; 3141 :>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; 73 :>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; 265 :>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; 100766:>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; 2986647:>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; 1391 :>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; 181441:>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; 8218 :>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; 52873 :>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; 2764 :>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; 18508 :>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; 1720344:>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; 55144 :>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; 945 :>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; 731 :>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; 834809:>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; 20596 :>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; 4952 :>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; 2081 :>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: 88419406, Negative: 11580594 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 132.11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X005.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005 "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | MOV ECX,[d] ; MOV EAX,[x] | MOV [c],$1 | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r12),%ecx _litmus_P3_3_: movl (%rbx),%esi _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%r11),%edx Test X004+X005 Required Histogram (243 states) 35311 :>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; 15912 :>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; 4417 :>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; 47003 :>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; 154333:>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; 12941 :>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; 156177:>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; 232806:>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; 81536 :>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; 4443 :>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; 1744310:>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; 1372369:>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; 156416:>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; 721 :>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; 5021171:>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; 2593073:>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; 6925 :>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; 16692 :>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; 137 :>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; 7610 :>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; 165 :>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; 422 :>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; 628 :>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; 119304:>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; 75664 :>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; 1939042:>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; 3022643:>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; 2648 :>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; 1660 :>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; 27592 :>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; 121060:>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; 1476676:>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; 31357 :>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; 601 :>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; 5936 :>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; 1673494:>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; 10027 :>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; 8018 :>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; 8049 :>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; 1852472:>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; 8030 :>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; 101321:>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; 26043 :>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; 2521383:>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; 1331 :>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; 195635:>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; 26026 :>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; 1315180:>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; 185220:>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; 16 :>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; 2227 :>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; 13324 :>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; 1479 :>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; 55 :>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; 5889618:>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; 448623:>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; 164314:>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; 121053:>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; 76359 :>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; 3911 :>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; 1943 :>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; 2364 :>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; 2378 :>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; 3867 :>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; 221 :>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; 5103 :>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; 873399:>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; 333277:>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; 1542025:>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; 2659098:>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; 313 :>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; 320 :>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; 117 :>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; 1347 :>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; 12904 :>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; 592 :>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; 82108 :>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; 76931 :>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; 279 :>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; 1129 :>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; 651 :>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; 50 :>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; 154 :>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; 223 :>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; 101 :>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; 735 :>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; 1 :>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; 1303 :>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; 404 :>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; 306 :>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; 237 :>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; 1114 :>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; 1267925:>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; 79695 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 251 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 4765 :>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; 12926326:>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; 2832333:>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; 454950:>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; 637409:>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; 78430 :>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; 1368 :>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; 2802 :>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; 1678 :>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; 419324:>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; 2882 :>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; 21055 :>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; 8407 :>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; 1953850:>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; 261660:>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; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; 1987 :>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; 46674 :>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; 6136 :>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; 227 :>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; 361183:>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; 52270 :>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; 1486 :>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; 6719 :>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; 20633 :>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; 2248 :>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; 134 :>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; 741 :>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; 550 :>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; 14755 :>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; 66 :>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; 107936:>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; 286 :>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; 2089 :>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; 471 :>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; 135541:>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; 214 :>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; 1779 :>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; 6826 :>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; 1218122:>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; 29 :>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; 50 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=0; c=2; 9195 :>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; 1532212:>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; 659 :>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; 1123380:>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; 10 :>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; 954712:>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; 5 :>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; 1009 :>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; 1087 :>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; 2426 :>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; 1586334:>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; 21751 :>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; 11863693:>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; 34 :>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; 1572 :>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; 139 :>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; 70472 :>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; 142 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 6738 :>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; 6 :>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; 1784 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 17 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 329 :>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; 3 :>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; 244 :>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; 17 :>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; 510 :>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; 67 :>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; 11283 :>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; 9 :>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; 37 :>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; 4855 :>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; 1304 :>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; 1626208:>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 50232 :>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; 10 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 552 :>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; 17 :>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; 2966 :>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; 3180866:>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; 376 :>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; 582072:>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; 18 :>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; 1130 :>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; 634 :>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; 246 :>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; 45454 :>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; 116442:>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; 14076 :>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; 683790:>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; 8080 :>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; 3917215:>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; 19 :>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; 303 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; 3:EDX=1; c=2; 5229 :>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; 30 :>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; 182 :>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; 478 :>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; 71259 :>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; 147 :>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; 677146:>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; 1290154:>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; 4 :>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; 2182 :>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; 4457 :>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; 67 :>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; 88764 :>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; 1 :>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; 438824:>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; 9 :>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; 620 :>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; 6 :>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; 3973 :>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; 1352 :>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; 138440:>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; 16 :>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; 20552 :>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; 29021 :>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; 2142062:>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; 1455 :>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; 345709:>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; 7 :>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; 313 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 1160 :>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; 16 :>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; 434 :>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; 16 :>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; 2312 :>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; 2844 :>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; 4766669:>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; 8 :>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; 305603:>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; 54 :>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; 8926 :>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; 702 :>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; 542 :>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; 439610:>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; 29 :>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; 88114 :>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; 21 :>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; 996 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 569 :>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: 77622992, Negative: 22377008 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 147.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X006.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006 "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[b] | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%r13),%ecx _litmus_P2_5_: movl (%r12),%esi Test X005+X006 Required Histogram (139 states) 19031 :>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; 93 :>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; 13439 :>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; 59911 :>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; 7680 :>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; 3791416:>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; 14 :>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; 514312:>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; 731 :>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; 131383:>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; 664784:>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; 3635 :>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; 1524103:>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; 6 :>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; 17550 :>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; 65 :>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; 10155 :>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; 2333 :>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; 93 :>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; 37365 :>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; 1497 :>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; 2553797:>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; 3415 :>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; 89072 :>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; 2 :>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; 259781:>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; 1689 :>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; 251420:>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=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; 88531 :>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; 116 :>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; 15930 :>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; 197284:>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; 3396 :>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; 2692050:>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; 15301 :>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; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; 307 :>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; 9956 :>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; 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=1; 1376 :>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; 283 :>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; 483563:>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; 833 :>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; 29079 :>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; 41935 :>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; 183 :>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; 73129 :>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; 533 :>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; 665909:>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; 366 :>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; 1348 :>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; 13306 :>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; 17 :>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; 6161 :>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; 29871 :>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; 218728:>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; 12710 :>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; 7004661:>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; 247360:>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; 460949:>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; 57579 :>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; 1654172:>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; 1370034:>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; 4056269:>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; 772 :>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; 271613:>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; 11751744:>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; 5252324:>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; 77158 :>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; 562550:>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; 24567 :>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; 71386 :>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; 10243 :>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; 1544709:>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; 711 :>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; 300 :>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; 153 :>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; 293 :>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; 4281353:>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; 1732114:>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; 3069 :>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; 130565:>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; 3321655:>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; 35288 :>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; 399 :>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; 3054 :>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; 6567 :>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; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1264 :>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; 106849:>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; 1362 :>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; 3322060:>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; 890055:>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; 159 :>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; 23153 :>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; 2819801:>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; 1135 :>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; 1591267:>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; 1147 :>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; 107 :>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; 736 :>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; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 19303 :>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; 384 :>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; 2657594:>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; 1036 :>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; 12170 :>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; 351831:>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; 699 :>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; 146969:>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; 18 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1732933:>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; 384 :>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; 3499 :>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; 6222088:>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; 2460 :>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; 5280385:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 1390601:>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; 25 :>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; 310 :>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; 2852463:>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; 25 :>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; 9747 :>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; 434 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 3144747:>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; 1106 :>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; 2065 :>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; 346405:>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; 241 :>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; 71163 :>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; 718 :>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; 7913585:>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; 1281 :>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; 1121 :>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; 569136:>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; 33 :>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; 9342 :>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: 92457832, Negative: 7542168 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 138.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X007.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007 "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[c] ; MOV [c],$1 | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; MOV [x],$1 | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $2,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,(%r10) _litmus_P1_2_: movl (%r11),%ecx _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X006+X007 Required Histogram (237 states) 1 :>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=1; 1 :>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; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; 3 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 4 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; 3734 :>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; 121 :>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; 135 :>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; 121 :>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; 9 :>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; 1509405:>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; 17992 :>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; 3063889:>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; 123 :>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; 67526 :>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; 314598:>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; 699413:>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; 20 :>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; 185581:>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; 1976 :>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; 132490:>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; 343 :>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; 87066 :>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; 252610:>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; 127663:>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; 7 :>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; 7275636:>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; 5761 :>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; 470528:>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; 3 :>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; 4700 :>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; 27548 :>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; 33197 :>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; 10210 :>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; 11639348:>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; 31079 :>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; 88468 :>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; 125747:>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; 582874:>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; 444946:>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; 63772 :>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; 642 :>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; 79 :>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; 10447 :>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; 16 :>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; 561 :>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; 1229 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 41 :>1:EAX=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; 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; c=1; x=1; 431 :>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; 40 :>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; 159 :>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; 97 :>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; 7643 :>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; 421 :>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; 5 :>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; 8 :>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; 21 :>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; 2 :>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; 13532 :>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; 13 :>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; 142 :>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; 23 :>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; 379 :>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; 395 :>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; 73 :>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; 238974:>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; 38242 :>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; 9697659:>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; 6 :>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; 2475 :>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; 428183:>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; 1149514:>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; 4397 :>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; 646 :>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; 86841 :>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; 3552 :>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; 17327 :>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; 27734 :>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; 3983350:>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; 1215 :>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; 435329:>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; 166 :>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; 830 :>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; 1768 :>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; 3 :>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; 751881:>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; 827 :>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; 32667 :>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; 11 :>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; 3732 :>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; 6845 :>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; 6357 :>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; 1818 :>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; 41 :>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; 686 :>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; 17 :>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; 590 :>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; 3083 :>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; 1398 :>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; 1 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 982 :>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; 5 :>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; 51 :>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; 89 :>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; 7701 :>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; 40781 :>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; 3975 :>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; 3 :>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; 96346 :>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; 92 :>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; 969 :>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; 1 :>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; 56 :>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; 1070 :>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; 302 :>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; 20972 :>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; 3493583:>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; 11629 :>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; 1837 :>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; 128165:>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; 199768:>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; 175579:>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; 4162 :>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; 104193:>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; 23412 :>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; 1861591:>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; 8 :>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; 3316 :>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; 192072:>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; 255202:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=1; c=2; x=1; 9 :>1:EAX=1; 1:EBX=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; 6478 :>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; 317 :>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; 27936 :>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; 21 :>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; 15830 :>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; 101773:>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; 34579 :>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; 1 :>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; 1278670:>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; 2284 :>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; 121598:>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; 106 :>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; 2841 :>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; 1648 :>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; 7204 :>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; 2595646:>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; 13533 :>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; 20287 :>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; 15918 :>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; 85829 :>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; 114669:>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; 11925 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=1; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; 1 :>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; 495 :>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; 454 :>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; 56 :>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; 2496 :>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; 204 :>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; 56016 :>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; 93633 :>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; 130001:>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; 2639614:>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; 61743 :>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; 23340 :>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; 914249:>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; 4178969:>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; 511 :>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; 40 :>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; 505 :>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; 1941 :>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; 154808:>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; 2717 :>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; 2436327:>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; 485499:>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; 12 :>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; 251 :>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; 52 :>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; 7846 :>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; 23 :>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; 34 :>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; 473 :>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; 4504 :>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; 68 :>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 6 :>1:EAX=2; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 1014 :>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; 435 :>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; 3296 :>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; 247298:>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; 5021 :>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; 4779907:>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; 664 :>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; 4720 :>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; 4329 :>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; 242018:>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; 64 :>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; 4 :>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; 17 :>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; 16 :>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; 592 :>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; 658 :>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; 4158 :>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; 7669 :>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; 474 :>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; 96 :>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; 3244 :>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; 30951 :>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; 1245 :>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; 82 :>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; 1288348:>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; 4893950:>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; 14 :>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; 2 :>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; 4 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=2; x=2; 312 :>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; 35820 :>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; 344 :>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; 6676076:>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; 1003410:>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; 6930 :>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; 170332:>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; 19170 :>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; 4880851:>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; 2614 :>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; 6413 :>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; 419927:>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; 6745098:>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; 80 :>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; 7 :>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; 28 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; 345 :>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; 13499 :>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; 960 :>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; 1449253:>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; 531124:>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: 93948018, Negative: 6051982 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 138.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X008.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008 "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MOV ECX,[d] ; MOV EAX,[x] | MOV [c],$1 | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: movl $2,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r12),%ecx _litmus_P3_3_: movl (%rbx),%esi _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%r11),%edx Test X007+X008 Required Histogram (347 states) 38 :>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; 2 :>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; 1355 :>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; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=1; 2 :>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; 122 :>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; 5 :>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; 195 :>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; 10 :>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; 439216:>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; 190150:>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; 8840470:>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; 2001690:>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; 2 :>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; 34 :>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; 554 :>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; 17337 :>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; 15561 :>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; 9008 :>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; 501231:>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; 414695:>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; 141800:>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; 9360 :>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; 642337:>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; 35246 :>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; 5 :>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; 31 :>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; 647 :>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; 3331 :>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; 1587 :>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; 532 :>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; 63879 :>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; 28357 :>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; 13158 :>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; 4101 :>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; 6344 :>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; 91 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 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; 87 :>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; 7 :>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; 5 :>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; 440 :>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; 298 :>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; 3343239:>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; 2108053:>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; 135595:>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; 57328 :>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; 85 :>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; 4142 :>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; 1543 :>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; 9579 :>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; 2895429:>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; 864963:>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; 77245 :>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; 8335 :>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; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1039 :>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; 16062 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=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; 10 :>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; 4009 :>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; 17651 :>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; 1 :>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; 8198 :>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; 206032:>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; 112759:>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; 2176033:>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; 3 :>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=2; d=1; y=1; 1233 :>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; 62 :>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; 29087 :>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; 597 :>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; 12281 :>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; 15606 :>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; 542282:>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; 109 :>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; 1223 :>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; 353 :>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; 8523 :>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; 6 :>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=1; y=1; 171 :>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; 10 :>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; 916 :>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; 36 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 600 :>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; 132 :>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; 10312 :>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; 596 :>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; 7694 :>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; 22 :>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; 1 :>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=2; d=1; y=1; 47 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 238 :>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; 36 :>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; 3 :>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; 84 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=1; 144466:>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; 4161730:>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; 3436 :>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; 66654 :>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; 349 :>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; 69 :>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; 83983 :>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; 32 :>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; 212 :>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; 38829 :>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; 50908 :>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; 1091147:>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; 108 :>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; 3465 :>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; 382 :>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; 101 :>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; 54097 :>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; 1 :>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=2; d=1; y=1; 50 :>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; 122 :>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; 13055 :>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; 20626 :>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; 1871 :>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; 25991 :>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; 98 :>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; 6 :>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; 14 :>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; 210 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=1; d=2; y=1; 1441 :>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; 70 :>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; 64 :>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; 2085 :>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; 1076 :>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; 3091538:>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; 8711 :>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; 3974339:>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; 987 :>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; 3722 :>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; 336 :>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; 107205:>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; 5977 :>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; 27463 :>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; 1395 :>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; 681467:>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; 12133 :>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; 35754 :>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; 17579 :>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; 460 :>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; 12 :>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; 10 :>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; 215 :>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; 38 :>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; 165 :>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; 13512978:>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; 1199862:>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; 370076:>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; 1177 :>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; 2006 :>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; 363 :>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; 304360:>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; 63037 :>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; 328 :>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; 38 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=2; y=1; 112795:>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; 14612 :>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; 21 :>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; 162 :>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; 67 :>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; 5 :>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; 283 :>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=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=2; y=1; 44 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 43 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 57 :>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; 656 :>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; 3 :>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; 10 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 53 :>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; 679 :>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; 10 :>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; 1510 :>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; 23 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 710 :>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; 5 :>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; 299 :>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; 664 :>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; 22693 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 1 :>0:EAX=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; 6 :>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; 4 :>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; 682 :>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; 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; 38 :>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; 59271 :>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; 1446881:>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; 4 :>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; 142 :>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; 55 :>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; 1513 :>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; 322 :>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; 67053 :>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; 7 :>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=2; d=2; y=1; 53 :>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; 24 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=1; 2754 :>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; 171 :>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; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 31 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=1; d=1; y=2; 2423 :>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; 830 :>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; 3413 :>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; 6581 :>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; 299626:>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; 97596 :>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; 3190 :>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; 47744 :>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; 3000795:>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; 1689364:>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; 3355 :>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; 1654 :>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; 28898 :>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; 2860 :>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; 5335 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 28564 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=1; d=1; y=2; 365417:>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; 296593:>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; 28 :>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; 19 :>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; 138 :>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; 11 :>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; 45 :>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; 235 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 1808 :>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; 1413 :>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; 22 :>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; 201 :>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; 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=1; d=1; y=2; 64 :>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; 819 :>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; 26 :>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; 638 :>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; 577 :>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; 933 :>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; 93 :>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; 62 :>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; 2172 :>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; 12402 :>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; 2616 :>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; 14138 :>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; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; d=1; y=2; 110 :>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; 23 :>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; 3846 :>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; 307 :>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; 28635 :>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; 9005 :>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; 242664:>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; 922 :>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; 1563255:>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; 132705:>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; 12481083:>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; 43 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 1325 :>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; 67 :>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; 2768 :>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; 241 :>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; 295969:>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; 3359 :>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; 1454969:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=2; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 76 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; d=1; y=2; 9 :>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; 5 :>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; 11059 :>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; 36 :>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; 9100 :>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; 43 :>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; 18993 :>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; 247 :>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; 195 :>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; 1879155:>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; 89 :>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; 320292:>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; 72 :>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; 12425 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 2 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=1; y=2; 192 :>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; 475 :>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; 1388875:>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; 259 :>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; 198511:>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; 546 :>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; 314 :>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; 1161 :>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; 36 :>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; 1207 :>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; 5582 :>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; 12996 :>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; 14057 :>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; 209696:>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; 2743 :>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; 232360:>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; 495 :>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; 1441492:>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; 230022:>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; 5038661:>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; 450481:>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; 9 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=2; y=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=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; 61 :>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; 6 :>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; 144800:>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; 4873 :>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; 1050 :>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; 26 :>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; 1431941:>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; 220409:>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; 217040:>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; 37568 :>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; 8 :>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; 193 :>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; 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=0; c=2; d=2; y=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 68 :>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; 52302 :>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; 187 :>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; 61384 :>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; 40 :>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; 1741 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=2; 28 :>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; 1696 :>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; 1353132:>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; 3070 :>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; 2122800:>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; 142 :>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; 6 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; 20219 :>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; 114 :>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; 225 :>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; 15058 :>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; 5 :>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; 2836 :>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; 3481336:>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; 385 :>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; 211424:>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: 88542853, Negative: 11457147 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 154.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X009.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009 "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [x],$1 | MOV [d],$1 | MOV EBX,[z] | MOV EBX,[a] ; MOV EAX,[c] | MOV [b],$1 | | ; MOV EBX,[d] | MOV EAX,[b] | | ; | MOV EBX,[c] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r11),%eax _litmus_P1_5_: movl (%r10),%edx _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: movl (%rdi),%edx Test X008+X009 Required Histogram (90 states) 102 :>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; 1630 :>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; 3 :>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; 5042263:>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; 6224800:>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; 1748634:>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; 48897 :>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; 7610 :>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; 11349 :>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; 2024 :>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; 66 :>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; 3836099:>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; 2984530:>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; 1792074:>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; 43484 :>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; 1337 :>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; 2101 :>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; 269 :>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; 23 :>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; 1208777:>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; 1127161:>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; 889760:>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; 26992 :>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; 1168 :>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; 757 :>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; 973 :>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; 26 :>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; 4358 :>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; 1180 :>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; 26888 :>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; 80 :>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; 217287:>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; 303 :>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; 4459906:>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; 6048 :>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; 293 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; 8130 :>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; 241484:>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; 309 :>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; 7297911:>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; 10761 :>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; 27 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; 1973 :>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; 114502:>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; 435 :>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; 14776864:>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; 12595 :>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; 33 :>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; 23401 :>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; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; 1126 :>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; 1 :>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; 6036939:>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; 1598 :>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; 199646:>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; 8009453:>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; 9393 :>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; 7402 :>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; 2506669:>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; 13199144:>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; 693499:>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; 82337 :>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; 439355:>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; 4726754:>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; 221122:>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; 31933 :>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; 203198:>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; 1767340:>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; 213372:>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; 19554 :>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; 156 :>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; 3 :>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=2; 1958 :>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; 61359 :>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; 218 :>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; 1552181:>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; 3646 :>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; 4203 :>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; 27 :>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; 2939326:>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; 2665 :>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; 4011 :>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; 18 :>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; 4848145:>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; 4546 :>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: 85901653, Negative: 14098347 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 132.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X010.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010 "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [z],$1 | MOV [a],$1 | MOV EAX,[d] ; MOV [x],$1 | MOV ECX,[b] | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | ; MOV [c],$1 | MOV EBX,[z] | ; MOV ECX,[c] | | ; MOV EDX,[d] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r14),%ecx _litmus_P0_6_: movl (%r13),%esi _litmus_P0_7_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: movl (%r11),%ecx _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx Test X009+X010 Required Histogram (32 states) 101564:>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; 132237:>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; 1417440:>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; 18459112:>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; 15817 :>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; 6367 :>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; 121408:>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; 888422:>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; 22490 :>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; 2545 :>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; 76000 :>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; 169522:>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; 23081790:>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; 143338:>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; 10769116:>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; 2742118:>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; 81838 :>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; 13631579:>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; 618 :>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; 18303341:>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; 15255 :>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; 89153 :>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; 55 :>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; 50987 :>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; 16569 :>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; 6367 :>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; 18 :>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; 622 :>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; 9177913:>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; 454336:>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; 1100 :>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; 20963 :>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: 97989779, Negative: 2010221 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 105.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X011.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011 "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [b],$1 | MOV [e],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | MOV ECX,[e] ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%rbx),%ecx _litmus_P2_5_: movl (%r12),%esi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: movl (%rdi),%edx Test X010+X011 Required Histogram (56 states) 231377:>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; 33308 :>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; 22541 :>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; 142552:>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; 1729009:>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; 6574 :>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; 16767123:>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; 4370519:>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; 2751512:>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; 1368 :>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; 14768 :>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; 10600 :>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; 11471199:>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; 145 :>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; 400098:>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; 4610 :>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; 103623:>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; 307577:>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; 5394 :>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; 416364:>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; 25753 :>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; 1955 :>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; 149454:>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; 125552:>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; 14671096:>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; 1298370:>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; 25554 :>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; 201053:>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; 2369522:>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 2021 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; 45222 :>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; 11779 :>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; 1355 :>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; 34963 :>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; 861 :>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; 426579:>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; 2185 :>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; 19129 :>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; 217892:>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; 10466334:>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; 6972 :>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; 6268921:>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; 2145 :>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; 14531002:>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; 450 :>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; 11743 :>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; 10688 :>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; 692935:>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; 11155 :>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; 8509871:>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; 314 :>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; 1054327:>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; 116 :>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; 7717 :>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; 109 :>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; 4645 :>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: 87596512, Negative: 12403488 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 119.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X012.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012 "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,[b] | MOV [c],$1 | MOV EBX,[a] ; MOV [x],$1 | MOV ECX,[b] | ; MOV EBX,[c] | MOV EAX,[y] | ; | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X011+X012 Required Histogram (32 states) 688764:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 21596063:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 6592718:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 11455946:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 9773 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 811 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 3491281:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 270012:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 849539:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 9663447:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 7884 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 14984 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 873911:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13411 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 514344:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13345 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5800 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 367342:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 966 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 16956 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 40 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 12319289:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 4808 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 28224 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 101 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 1798 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 10540377:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 886 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 20656513:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 649 :>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: 91430077, Negative: 8569923 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 101.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X013.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013 "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[d] | MOV EAX,[d] ; MOV [b],$1 | MOV EBX,[y] | MOV EBX,[a] | ; MOV EBX,[b] | MOV [a],$1 | | ; MOV ECX,[c] | MOV ECX,[b] | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl (%r10),%eax _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%edx _litmus_P0_4_: movl (%r11),%ecx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl $1,(%rbx) _litmus_P1_4_: movl (%r11),%ecx _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx Test X012+X013 Required Histogram (64 states) 30448 :>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; 8484 :>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; 2563047:>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; 6170549:>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; 9210 :>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; 383 :>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; 450357:>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; 174632:>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; 3484 :>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; 284 :>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; 148762:>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; 46223 :>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; 9341774:>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; 3628 :>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; 9164689:>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; 92599 :>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; 76142 :>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; 3283407:>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; 1046002:>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; 15451703:>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; 15450 :>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; 981 :>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; 190257:>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; 38229 :>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; 5759 :>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; 11632 :>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; 58468 :>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; 38274 :>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; 4570403:>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; 929 :>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; 1136758:>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; 8234 :>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; 1603769:>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; 1656721:>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; 1891083:>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; 9102522:>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; 275672:>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; 42190 :>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; 382624:>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; 172202:>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; 111867:>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; 21135 :>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; 109005:>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; 53290 :>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; 14578744:>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; 28146 :>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; 4551459:>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; 75684 :>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; 36845 :>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; 4643312:>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; 1059 :>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; 4986280:>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; 7064 :>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; 712 :>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; 212 :>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; 242 :>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; 2558 :>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; 11036 :>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; 62 :>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; 1570 :>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; 1504168:>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; 305 :>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; 7252 :>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; 29 :>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: 92293563, Negative: 7706437 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 117.69 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X014.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014 "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV EAX,[x] | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | MOV [b],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EBX,[c] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$1 ; MOV ECX,[d] | MOV EBX,[y] | MOV ECX,[b] | MOV ECX,[e] ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: movl (%rbx),%edx _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,(%r9) _litmus_P1_4_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r9),%eax _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx Test X013+X014 Required Histogram (371 states) 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 5 :>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; 11160 :>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; 3053 :>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; 125 :>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; 7173 :>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; 3614 :>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; 3706 :>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; 5 :>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; 87224 :>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; 2207 :>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; 2200 :>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; 10118 :>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; 166896:>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; 11170 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 38860 :>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; 694 :>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; 4880 :>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; 63712 :>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; 1200616:>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; 94845 :>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; 106236:>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; 505 :>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; 24985 :>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; 129600:>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; 5677562:>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; 210599:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 9 :>0:EAX=0; 0:EBX=1; 0:ECX=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; 32 :>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; 3233 :>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; 2310 :>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; 65 :>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; 12477 :>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; 435 :>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; 1725 :>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; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>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; 1707 :>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; 152 :>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; 29 :>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; 527 :>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; 594 :>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; 185 :>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; 34 :>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; 32 :>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; 211084:>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; 15148 :>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; 75627 :>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; 331887:>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; 3764284:>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; 246863:>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; 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=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 31166 :>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; 484 :>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; 10232 :>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; 29124 :>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; 597770:>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; 23776 :>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; 26 :>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; 9 :>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; 581791:>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; 2070 :>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; 781 :>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; 3696 :>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; 3719 :>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; 969 :>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; 2 :>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; 8 :>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; 828514:>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; 959 :>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; 782 :>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; 1109 :>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; 36811 :>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; 728 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=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; 759563:>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; 558 :>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; 320 :>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; 246 :>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; 65362 :>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; 268 :>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; 1610104:>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; 385 :>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; 398 :>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; 27 :>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; 191180:>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; 281 :>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; 7245 :>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; 16841 :>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; 1064798:>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; 12277 :>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; 4981 :>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; 31285 :>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; 1140 :>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; 633 :>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; 251 :>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; 44 :>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; 127222:>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; 285 :>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; 407 :>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; 635 :>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; 355 :>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; 86 :>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; 22224 :>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; 23548 :>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; 6307146:>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; 36837 :>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; 24560 :>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; 98421 :>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; 277184:>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; 5038 :>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; 46 :>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; 6 :>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; 511923:>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; 614 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 989 :>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; 178 :>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; 37858 :>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; 149 :>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; 10 :>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; 2873 :>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; 1014 :>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; 58 :>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; 5145 :>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; 1081 :>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; 1409 :>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; 51 :>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; 295 :>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; 1923966:>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; 122304:>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; 37450 :>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; 440307:>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; 2705357:>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; 243856:>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; 3 :>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; 457 :>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; 164 :>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; 6 :>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; 485 :>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; 527 :>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; 286 :>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; 2 :>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; 2 :>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; 6672 :>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; 185 :>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; 339 :>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; 2746 :>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; 48436 :>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; 3060 :>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; 11 :>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; 434 :>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; 530 :>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; 10 :>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; 3983 :>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; 48 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 881 :>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; 3 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 4 :>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; 15612 :>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; 855 :>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; 700 :>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; 6573 :>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; 9061 :>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; 1218 :>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; 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; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 399 :>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; 158 :>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; 21 :>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; 402 :>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; 457 :>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; 135 :>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; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 220 :>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; 10 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=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=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 95 :>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; 646 :>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; 85 :>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; 1487 :>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; 4903 :>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; 1457712:>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; 12095 :>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; 2538 :>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; 13628 :>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; 1348 :>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; 572 :>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; 14882 :>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; 105340:>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; 13685067:>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; 294928:>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; 48648 :>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; 400789:>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; 420631:>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; 31160 :>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; 18 :>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; 15 :>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; 151107:>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; 669 :>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; 187 :>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; 476 :>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; 582 :>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; 27 :>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; 12 :>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; 21 :>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; 445664:>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; 501 :>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; 231 :>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; 326 :>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; 5644 :>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; 22 :>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; 29000 :>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; 68941 :>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; 3070810:>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; 43207 :>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; 5783 :>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; 47937 :>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; 481 :>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; 273 :>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; 1558 :>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; 5206 :>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; 429405:>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; 3822 :>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; 1393 :>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; 10388 :>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; 1813 :>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; 325 :>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; 2620 :>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; 5731 :>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; 386904:>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; 6285 :>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; 845 :>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; 8032 :>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; 418 :>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; 74 :>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; 28 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 25647 :>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; 69 :>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; 73 :>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; 62 :>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; 104 :>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; 2325 :>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; 8270 :>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; 534 :>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; 57499 :>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; 4716 :>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; 6934 :>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; 8389 :>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; 125641:>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; 1380 :>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; 732 :>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; 74414 :>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; 593405:>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; 923 :>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; 488 :>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; 243292:>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; 2074070:>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; 2369 :>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; 705401:>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; 278 :>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; 1704823:>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; 542 :>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; 2736 :>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; 128 :>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; 12441 :>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; 28071 :>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; 868839:>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; 572402:>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; 14159233:>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; 2412 :>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; 1355 :>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; 82999 :>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; 683295:>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; 472 :>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; 1372 :>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; 26 :>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; 2208 :>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; 166 :>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; 277 :>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; 16 :>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; 517 :>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; 35 :>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; 19 :>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; 2 :>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; 13 :>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; 16 :>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; 2 :>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; 2 :>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; 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; 8225 :>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; 1005246:>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; 53 :>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; 283172:>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; 521 :>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; 765 :>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; 16 :>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; 969 :>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; 20607 :>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; 2002077:>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; 347 :>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; 650619:>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; 258 :>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; 82 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 15 :>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; 45 :>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; 1379 :>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; 29348 :>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; 361 :>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; 141507:>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; 213846:>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; 1010274:>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; 193674:>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; 5760420:>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; 136 :>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; 1582 :>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; 120 :>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; 11727 :>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; 572 :>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; 1134 :>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; 4115 :>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; 47819 :>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; 642 :>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; 830746:>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; 80 :>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; 2496250:>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; 3934 :>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; 41370 :>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; 2126 :>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; 164791:>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; 225 :>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; 60432 :>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; 262 :>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; 251092:>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; 72 :>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; 306 :>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; 145 :>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; 2792 :>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; 7512 :>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; 85265 :>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; 51 :>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; 17975 :>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; 266857:>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; 2180694:>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; 1114 :>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; 428288:>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; 144 :>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; 574 :>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; 2 :>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; 98 :>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; 184 :>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; 589 :>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; 2 :>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; 57 :>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; 42776 :>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; 5828795:>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; 127 :>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; 480904:>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; 9686 :>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; 128832:>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 26 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 20534 :>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; 5191 :>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; 405735:>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; 41 :>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; 27429 :>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; 183 :>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; 316 :>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; 2 :>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; 21 :>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: 92690263, Negative: 7309737 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 148.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X015.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015 "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$1 | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[x] | MOV EBX,[e] | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | MOV ECX,[b] | ; | MOV ECX,[c] | MOV EAX,[z] | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r12),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl (%r11),%edx _litmus_P2_3_: movl (%rbx),%ecx _litmus_P2_4_: movl (%r9),%eax Test X014+X015 Required Histogram (147 states) 18580 :>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; 58022 :>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; 54269 :>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; 9080963:>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; 45 :>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; 241 :>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; 10464 :>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; 4900 :>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; 185692:>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; 592609:>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; 422111:>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; 815784:>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; 3917344:>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; 19 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; x=1; 4675 :>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; 14 :>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; 4794 :>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; 5320 :>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; 170089:>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; 86201 :>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; 522259:>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; 2823872:>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; 10099 :>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; 249352:>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; 1 :>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=0; x=1; 7 :>0:EAX=0; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; x=1; 58 :>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; 41 :>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; 649 :>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; 3073 :>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; 13377150:>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; 4539148:>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; 394010:>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; 612451:>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; 3044 :>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; 148677:>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; 27 :>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; 11963 :>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; 590 :>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; 156134:>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; 6926 :>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; 28030 :>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; 22957 :>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; 64568 :>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; 2648594:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 435 :>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; 6 :>0:EAX=1; 1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 648 :>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; 4864 :>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; 53066 :>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; 157256:>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; 4334 :>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; 416 :>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; 4270 :>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; 3772 :>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 1 :>0:EAX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; x=1; 259 :>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; 115 :>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; 12 :>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; 13203 :>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; 500 :>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; 2995805:>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; 1474069:>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; 41687 :>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; 135668:>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; 2745 :>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; 30329 :>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; 17 :>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; 3705 :>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; 342 :>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; 41488 :>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; 5805 :>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; 4950065:>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; 81451 :>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; 14145 :>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; 11499 :>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; 10392 :>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; 140480:>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; 9 :>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; 4788 :>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; 116 :>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; 60845 :>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; 1534 :>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; 2989 :>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; 576 :>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; 17792 :>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; 996564:>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; 972 :>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; 8 :>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; 117643:>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; 4242801:>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; 226463:>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; 12253 :>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; 395429:>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; 529509:>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; 350095:>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; 261 :>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; 4992837:>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; 2137561:>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; 178 :>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; 47 :>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; 28 :>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; 12 :>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; 46 :>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; 235 :>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; 39 :>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; 372147:>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; 2250 :>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; 16716 :>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; 4689 :>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; 1997002:>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; 202 :>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; 606609:>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; 18656 :>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; 17744 :>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; 1136 :>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; 52668 :>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; 629895:>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; 349261:>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; 125 :>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; 7150056:>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; 6047250:>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; 6953 :>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; 112 :>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; 5731 :>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; 1837 :>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; 597799:>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; 22 :>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; 6177213:>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; 36056 :>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; 31266 :>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; 194 :>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; 1312 :>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; 351 :>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; 1105152:>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; 114 :>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; 590713:>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; 2944 :>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; 124353:>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; 231 :>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; 2312 :>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; 1842 :>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; 7028271:>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; 81 :>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; 1674685:>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; 13754 :>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: 92256420, Negative: 7743580 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 142.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X016.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016 "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV ECX,[c] | MOV EBX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%r11),%ecx _litmus_P0_4_: movl (%r10),%eax _litmus_P0_5_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl (%r10),%edx Test X015+X016 Required Histogram (64 states) 51828 :>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; 181678:>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; 5410 :>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; 555094:>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; 17986 :>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; 14305 :>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; 490132:>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; 12935102:>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; 122572:>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; 21131 :>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; 2783 :>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; 8958 :>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; 1514657:>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; 73868 :>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; 11319619:>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; 6656104:>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; 18001 :>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; 4283 :>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; 62 :>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; 183 :>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; 102 :>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; 4 :>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; 58 :>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; 24 :>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; 3229354:>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; 24231 :>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; 146 :>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; 426 :>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; 11663034:>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; 17414 :>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; 59864 :>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; 6331 :>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; 35985 :>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; 9123875:>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; 319 :>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; 11624439:>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; 2151 :>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; 2355 :>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; 7976 :>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; 625318:>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; 44172 :>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; 53125 :>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; 113 :>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; 11958 :>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; 13414 :>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; 7590 :>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; 50120 :>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; 96734 :>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; 137341:>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; 11601333:>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; 73 :>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; 84820 :>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; 352 :>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; 121 :>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; 257 :>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; 5030 :>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; 14602941:>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; 1307456:>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; 34 :>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; 3211 :>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; 1500002:>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; 44683 :>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; 7060 :>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; 10898 :>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: 84233592, Negative: 15766408 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is NOT validated Hash=2a764f0f297a9cbca480f3d4bc3848ef Time X015+X016 110.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X017.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017 "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X016+X017 Required Histogram (127 states) 18474 :>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; 25445 :>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; 282359:>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; 2220360:>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; 4726 :>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; 2220 :>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; 406730:>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; 2987579:>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; 13597 :>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; 918 :>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; 93095 :>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; 114416:>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; 92968 :>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; 1593 :>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; 2590830:>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; 632130:>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; 16035 :>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; 9931 :>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; 198851:>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; 352209:>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; 1001 :>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; 206 :>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; 34833 :>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; 142843:>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; 3146608:>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; 12681 :>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; 1273085:>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; 197242:>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; 5172993:>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; 6373 :>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; 3181175:>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; 258368:>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; 4087 :>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; 722075:>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; 40677 :>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; 7316089:>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; 447 :>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; 2618 :>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; 8193 :>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; 410955:>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; 312 :>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; 108 :>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; 553 :>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; 3304 :>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; 507 :>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; 550 :>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; 2379 :>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; 13039 :>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; 115414:>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; 5826188:>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; 339154:>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; 8656161:>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; 608 :>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; 2389 :>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; 5285 :>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; 59001 :>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; 6620597:>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; 124044:>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; 1395455:>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; 780340:>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; 804147:>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; 9137 :>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; 383823:>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; 119186:>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; 39037 :>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; 291402:>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; 2474 :>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; 247307:>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; 1191900:>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; 3700708:>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; 512186:>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; 7922439:>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; 24349 :>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; 11759 :>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; 329 :>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; 1189 :>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; 6407702:>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; 686308:>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; 2559551:>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; 991577:>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; 13750 :>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; 22373 :>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; 151 :>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; 2061 :>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; 26448 :>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; 45945 :>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; 4607 :>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; 58350 :>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; 896878:>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; 12764 :>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; 74 :>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; 222 :>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; 6382067:>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; 61913 :>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; 37985 :>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; 16507 :>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; 3532 :>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; 2893407:>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; 43 :>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; 2576682:>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; 739 :>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; 86712 :>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; 120 :>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; 105413:>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; 169 :>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; 61 :>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; 3 :>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; 296 :>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; 1473 :>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; 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=1; 120 :>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; 32445 :>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; 2780702:>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; 55 :>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; 166403:>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; 2021 :>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; 17231 :>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; 699 :>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; 15557 :>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; 1313608:>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; 45387 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 93 :>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; 504667:>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; 16619 :>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; 2655 :>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; 2067 :>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: 86896068, Negative: 13103932 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 129.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X018.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018 "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$1 ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: movl (%rbx),%edx _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl (%r9),%eax _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx Test X017+X018 Required Histogram (234 states) 11296 :>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; 11118 :>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; 1007 :>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; 5431 :>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; 100662:>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; 19016 :>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; 69042 :>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; 63612 :>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; 64201 :>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; 4974 :>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; 929061:>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; 433493:>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; 176384:>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; 2713 :>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; 4685080:>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; 1860697:>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; 3142 :>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; 14190 :>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; 41 :>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; 4483 :>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; 1474 :>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; 2030 :>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; 123 :>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; 1435 :>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; 311877:>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; 124748:>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; 2528956:>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; 2258806:>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; 39472 :>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; 4007 :>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; 367563:>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; 366821:>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; 624533:>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; 11061 :>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; 4 :>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; 106 :>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; 828687:>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; 4090 :>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; 340 :>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; 536 :>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; 806251:>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; 1848 :>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; 464 :>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; 276 :>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; 1715626:>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; 648 :>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; 1203 :>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; 901 :>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; 1081020:>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; 106275:>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; 191 :>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; 119142:>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; 3481 :>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; 21 :>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; 6520956:>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; 295361:>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; 292 :>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; 4273 :>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; 462643:>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; 1202 :>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; 98 :>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; 502 :>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; 3103 :>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; 5975 :>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; 301 :>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; 2742 :>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; 2297336:>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; 1005353:>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; 1505029:>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; 1540717:>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; 489 :>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; 479 :>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; 246 :>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; 592 :>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; 8073 :>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; 2075 :>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; 36673 :>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; 27706 :>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; 468 :>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; 4369 :>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; 5 :>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; 1554 :>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; 16926 :>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; 11539 :>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; 3703 :>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; 9363 :>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; 394 :>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; 658 :>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; 209 :>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; 590 :>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; 178 :>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; 248 :>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; 324 :>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; 655 :>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; 1502975:>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; 59218 :>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; 3 :>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; 161 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 13159855:>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; 2357450:>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; 4443 :>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; 12083 :>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; 141946:>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; 2381 :>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; 4 :>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; 21 :>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; 409110:>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; 1490 :>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; 210 :>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; 109 :>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; 3161350:>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; 329902:>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; 291 :>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; 435101:>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; 53590 :>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; 11 :>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; 92 :>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; 391917:>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; 39057 :>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; 159 :>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; 22429 :>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; 504 :>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; 9 :>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; 1555 :>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; 23737 :>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; 21 :>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; 39480 :>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; 2403 :>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; 9366 :>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; 781 :>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; 76293 :>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; 1342 :>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; 3572 :>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; 14313 :>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; 641106:>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; 739 :>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; 568 :>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; 53034 :>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; 1780103:>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; 1633 :>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; 1390055:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1129252:>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; 217 :>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; 3928 :>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; 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=0; c=2; 5761 :>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; 20842 :>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; 2494854:>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; 94150 :>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; 12415893:>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; 1992 :>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; 2849 :>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; 14442 :>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; 571823:>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; 337 :>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; 3175 :>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; 26 :>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; 68 :>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; 288 :>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; 14 :>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; 12 :>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; 18 :>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; 6 :>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; 10 :>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; 1 :>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; 5227 :>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; 1276724:>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; 5052 :>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; 317 :>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; 978 :>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; 7 :>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; 12617 :>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; 2588987:>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; 15428 :>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; 129 :>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; 39 :>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; 1 :>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; 1004 :>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; 75194 :>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; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; 76982 :>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; 125471:>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; 2223611:>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; 23918 :>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; 4029241:>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; 109 :>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; 3397 :>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; 12 :>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; 5718 :>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; 307 :>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; 1499 :>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; 846 :>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; 42944 :>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; 474 :>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; 1700078:>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; 1607481:>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; 3219 :>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; 86842 :>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; 225 :>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; 116663:>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; 156 :>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; 121423:>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; 24 :>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; 164087:>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; 45 :>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; 449 :>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; 29 :>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; 2158 :>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; 5774 :>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; 101043:>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; 201 :>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; 85809 :>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; 2120368:>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; 3844 :>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; 139 :>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; 562 :>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; 1 :>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; 107 :>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; 389 :>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; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 29856 :>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; 6314412:>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; 9424 :>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; 3727 :>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; 134449:>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; 215 :>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; 3603 :>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; 431900:>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; 1783 :>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; 74 :>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; 202 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; No Witnesses Positive: 93875021, Negative: 6124979 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 145.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X019.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019 "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MOV EAX,[c] | MOV EAX,[y] | MOV EBX,[c] | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV ECX,[d] | ; | | MOV EAX,[z] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl (%rsi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%rbx),%edx _litmus_P2_3_: movl (%r11),%ecx _litmus_P2_4_: movl (%r9),%eax Test X018+X019 Required Histogram (94 states) 22213 :>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; 13244 :>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; 57088 :>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; 4837486:>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; 1214017:>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; 183363:>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; 978090:>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; 2227070:>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; 3301 :>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; 3392 :>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; 129 :>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; 529 :>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; 2536189:>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; 45838 :>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; 69157 :>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; 35378 :>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; 115130:>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; 18432 :>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; 206853:>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; 3547751:>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; 50702 :>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; 917 :>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; 32537 :>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; 13628 :>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; 262200:>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; 12722 :>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; 5023 :>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; 3899 :>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; 878570:>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; 5470 :>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; 10354 :>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; 9250 :>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; 37782 :>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; 297269:>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; 14087 :>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; 7233601:>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; 727362:>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; 1189154:>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; 125874:>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; 2159498:>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; 559388:>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; 2687898:>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; 62 :>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; 9764 :>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; 12578547:>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; 5307986:>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; 15478 :>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; 67171 :>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; 45232 :>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; 124656:>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; 10993 :>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; 1570050:>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; 3342 :>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; 1067 :>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; 507 :>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; 1434 :>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; 2946725:>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; 1373181:>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; 270 :>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; 11451 :>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; 4771868:>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; 106037:>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; 226 :>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; 4048 :>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; 4952 :>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; 437 :>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; 87043 :>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; 2559799:>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; 1501458:>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; 14441 :>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; 3193736:>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; 1333868:>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; 101 :>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; 1 :>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; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1587403:>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; 478 :>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; 18781 :>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; 2509 :>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; 1802761:>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; 583 :>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; 5372715:>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; 4152110:>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; 3361400:>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; 4363964:>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; 31200 :>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; 1544261:>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; 2 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 31005 :>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; 879 :>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; 7563628:>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; 84118 :>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; 4398 :>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: 88410993, Negative: 11589007 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is NOT validated Hash=b36f026f3fb116ed1e440cec050bac25 Time X018+X019 135.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X020.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020 "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV [c],$1 | MOV EBX,[b] | MOV ECX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X019+X020 Required Histogram (112 states) 2397970:>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; 3148981:>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; 110316:>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; 1582391:>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; 500304:>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; 182307:>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; 401149:>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; 805909:>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; 6954194:>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; 408537:>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; 3298 :>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; 29313 :>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; 11717996:>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; 73605 :>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; 1047524:>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; 357800:>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; 411900:>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; 10323933:>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; 3526 :>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; 2738596:>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; 9035 :>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; 102800:>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; 6337 :>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; 99487 :>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; 4038996:>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; 169431:>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; 145 :>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; 1480 :>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; 761760:>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; 28454 :>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; 2579 :>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; 13270 :>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; 5899 :>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; 786 :>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; 2062 :>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; 7248 :>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; 5776 :>1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 106 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; c=2; x=1; 98784 :>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; 86193 :>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; 106847:>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; 263 :>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; 62 :>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; 856 :>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; 3531152:>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; 1214 :>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; 649021:>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; 89462 :>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; 149680:>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; 2062883:>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; 6628 :>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; 1114927:>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; 17971 :>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; 33397 :>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; 81339 :>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; 377564:>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; 1275446:>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; 42187 :>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; 85 :>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; 2551 :>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; 2463086:>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; 15986 :>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; 174622:>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; 109833:>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; 24829 :>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; 41353 :>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; 113530:>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; 1758279:>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; 55795 :>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; 9023 :>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; 1545659:>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; 3457600:>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; 48388 :>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; 94 :>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; 1490363:>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; 310871:>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; 1168 :>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; 107236:>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; 4382 :>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; 3317750:>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; 267 :>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; 1697 :>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; 4708 :>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; 184902:>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; 16 :>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; 23 :>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; 562 :>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; 3397 :>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; 177 :>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; 31 :>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; 2952 :>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; 26846 :>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; 2133 :>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; 74 :>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; 2784576:>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; 4824197:>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; 9981 :>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; 29 :>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; 5473766:>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; 714787:>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; 2660 :>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; 67334 :>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; 19821 :>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; 4004429:>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; 2730 :>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; 2592 :>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; 748192:>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; 6372092:>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; 2534 :>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; 99 :>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; 1104771:>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; 404066:>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: 90044227, Negative: 9955773 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 135.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X021.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021 "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$2 ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: movl (%rbx),%edx _litmus_P3_3_: movl $2,(%r11) _litmus_P3_4_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: movl (%r9),%eax _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx Test X020+X021 Required Histogram (254 states) 206387:>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; 53442 :>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; 7530880:>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; 959585:>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; 2232 :>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; 16268 :>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; 2215862:>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; 539736:>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; 19829 :>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; 475 :>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; 30108 :>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; 63 :>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; 1314 :>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; 519 :>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; 19202 :>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; 1138 :>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; 4084741:>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; 1348483:>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; 64755 :>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; 13088 :>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; 22562 :>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; 25493 :>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; 1333 :>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; 1768 :>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; 214218:>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; 31978 :>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; 6660 :>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; 80 :>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; 2175 :>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; 2937 :>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; 622 :>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; 599 :>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; 9482 :>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; 106015:>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; 220251:>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; 1730504:>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; 689 :>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; 92201 :>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; 206407:>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; 1857686:>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; 107 :>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; 222 :>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; 20 :>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; 10 :>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; 142 :>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; 1505 :>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; 239 :>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; 1318 :>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; 342120:>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; 4970746:>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; 4805 :>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; 43166 :>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; 6885 :>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; 331659:>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; 305 :>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; 19465 :>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; 34275 :>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; 142236:>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; 28 :>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; 28 :>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; 670 :>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; 21281 :>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; 63 :>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; 718 :>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; 33023 :>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; 6580 :>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; 30022 :>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; 579 :>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; 1640 :>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; 8437 :>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; 25922 :>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; 9638 :>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; 1377682:>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; 5766 :>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; 2408813:>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; 369 :>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; 366909:>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; 13834 :>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; 2128635:>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; 10761 :>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; 771555:>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; 261119:>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; 2101 :>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; 441 :>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; 6609 :>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; 8778 :>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; 326 :>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; 359 :>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; 16180848:>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; 1189671:>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; 472182:>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; 1453 :>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; 1309584:>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; 108333:>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; 116712:>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; 4060 :>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; 324 :>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; 1148 :>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; 4 :>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; 16 :>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; 172 :>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; 5601 :>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; 117 :>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; 903 :>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; 99 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 613 :>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; 1 :>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; 648 :>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; 8585 :>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; 122 :>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; 1626 :>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; 20398 :>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; 242578:>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; 27 :>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; 161 :>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; 435 :>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; 23795 :>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; 42 :>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; 275 :>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; 269522:>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; 1966362:>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; 110 :>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; 333 :>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; 12103 :>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; 265698:>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; 253 :>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; 2227 :>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; 356 :>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; 804 :>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; 44291 :>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; 4852 :>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; 716 :>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; 18883 :>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; 3251639:>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; 719191:>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; 181 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 36 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 204 :>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; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 603 :>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; 1603 :>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; 26168 :>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; 6140 :>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; 11 :>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; 119 :>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; 8 :>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; 10 :>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; 44 :>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; 2038 :>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; 404 :>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; 642 :>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; 49 :>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; 37 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 6 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; d=1; y=2; 4 :>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; 499 :>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; 1939 :>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; 495 :>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; 1021 :>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; 230 :>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; 9692 :>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; 4635 :>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; 26158 :>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; 1698 :>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; 1822276:>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; 433753:>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; 12034986:>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; 35 :>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; 185 :>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; 4 :>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; 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=2; 306 :>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; 122639:>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; 1794 :>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; 188585:>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; 50 :>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; 19456 :>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; 4 :>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; 920 :>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; 732 :>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; 2755990:>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; 252 :>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; 225098:>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; 37 :>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; 1117 :>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; 9 :>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; 695 :>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; 266182:>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; 228 :>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; 30234 :>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; 383 :>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; 450 :>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; 352 :>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; 20 :>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; 1537 :>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; 15217 :>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; 47872 :>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; 67467 :>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; 54898 :>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; 1124 :>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; 33628 :>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; 13 :>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; 968318:>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; 129187:>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; 5158774:>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; 324290:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=2; y=2; 14 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=2; 111 :>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; 2 :>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; 10 :>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; 81 :>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; 1235 :>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; 198 :>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; 299 :>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; 93252 :>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; 2291 :>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; 5315 :>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; 64 :>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; 2437146:>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; 240038:>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; 268759:>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; 31633 :>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; 78 :>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; 515 :>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; 2 :>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; 6 :>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; 586 :>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; 238302:>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; 1620 :>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; 301747:>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; 66 :>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; 1078 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 1 :>0:EAX=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; 4 :>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; 4506 :>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; 1259230:>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; 12693 :>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; 2531629:>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; 25 :>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; 1215 :>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; 2 :>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; 16 :>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; 201 :>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; 249126:>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; 56 :>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; 3219 :>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; 798 :>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; 13478 :>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; 16 :>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; 35 :>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; 26178 :>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; 5831638:>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; 3205 :>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; 352956:>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: 98052610, Negative: 1947390 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 151.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X022.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022 "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [b],$2 | MOV [c],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[b] | MOV [y],$1 | | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | | ; MOV EBX,[c] | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X021+X022 Required Histogram (56 states) 3387716:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 9449 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 978585:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 4377192:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 10849 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 754277:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2216072:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5367 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 496763:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 82464 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 131 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 7431 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 725817:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 7728180:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 704443:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 4548776:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 304997:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 1767321:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 935 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 3878 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 3865687:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 4911 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 7031327:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 6037 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 16016645:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 9385 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 6356023:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 646 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 10327 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 83 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 80358 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1133923:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 3098 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 480349:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 275021:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 5549 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 305155:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 273874:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 3714 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 146385:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 12401 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 6597192:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 516404:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 12531617:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 45064 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 5983070:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 20643 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 2078782:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 1606 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 32 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1310181:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 4501 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 2863506:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 950 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 3913735:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 1176 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; No Witnesses Positive: 97657331, Negative: 2342669 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is NOT validated Hash=b7483b2277f3260581789e2a27d7f52b Time X021+X022 125.65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X023.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023 "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[d] | MOV [d],$1 ; MOV [b],$2 | MOV EBX,[y] | MOV EBX,[a] | ; MOV EAX,[b] | MOV [a],$1 | | ; MOV EBX,[c] | MOV [b],$1 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $2,(%r10) _litmus_P0_3_: movl (%r10),%eax _litmus_P0_4_: movl (%r9),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl (%rdi),%edx _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl $1,(%r9) _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: movl (%r8),%edx Test X022+X023 Required Histogram (145 states) 5 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 135 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 111 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 361 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 49 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 498900:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1734 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 583334:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 10402 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 92 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 14316 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 43 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 704578:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1037 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 407926:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 118 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 170 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 255 :>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; 67 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 34346 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 36 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 3177 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 326 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 5 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 24603 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 97 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 19 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 1185 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 31 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 4182536:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 8835793:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 20 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 48 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 45681 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 33294 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 12947 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 11491 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 20 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 8 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 8743385:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 5233405:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 11 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 4281 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 38 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 3608 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1524 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 713939:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1538 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 74 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 22241 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 26543 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 764 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 810952:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 24807 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 307 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 338272:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 359 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 466 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 34895 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 138 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 104694:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 11914 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 7194917:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 40 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 2339 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 78690 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 3359016:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 12538466:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 17 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 14 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 5832 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 21729 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 22 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 140 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 3540 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2083 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 29 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 396587:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 332 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 437857:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 239 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 18571433:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 4437 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 3425671:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 61 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 74 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 15925 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 435 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 11868 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 441 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 441 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 2689821:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 654 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1630 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 4 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 6670 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 5420 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 5609 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 2946 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 3 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 672 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 24 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 1250 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 11 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 3017 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 316 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 584368:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 5917534:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 3116 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 8070241:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 8900 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 92 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 230985:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 198 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 3807898:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 2267 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1069216:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 75 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 8430 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 585 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 7105 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 460 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 6598 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 1328 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 2346 :>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: 98281688, Negative: 1718312 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 127.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X024.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024 "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$2 | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[e] | MOV EBX,[a] ; MOV [e],$1 | MOV [c],$1 | MOV EBX,[b] | ; | MOV ECX,[c] | MOV [z],$1 | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: movl (%r12),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r10),%edx _litmus_P2_4_: movl $1,(%rdi) Test X023+X024 Required Histogram (226 states) 35 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=1; z=1; 1138 :>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; 20 :>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; 930 :>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; 179 :>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; 814952:>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; 5156074:>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; 717 :>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; 8746 :>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; 233461:>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; 13138 :>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; 1652 :>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; 16 :>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; 63 :>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; 4906 :>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; 12126136:>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; 993394:>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; 6 :>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; 2939 :>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; 3773 :>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; 81966 :>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; 303 :>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; 2035 :>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; 3 :>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; 156 :>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; 23 :>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; 4 :>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; 32 :>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; 8400 :>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; 602 :>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; 2 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 86 :>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; 11676 :>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; 32700 :>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; 224 :>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; 250 :>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; 28522 :>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; 5628 :>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; 605 :>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; 13 :>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; 28 :>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; 3217 :>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; 1318683:>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; 33513 :>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; 3495 :>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; 698 :>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; 38427 :>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; 148371:>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; 49009 :>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; 18 :>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; 2547 :>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; 576 :>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; 18172 :>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; 6554334:>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; 62055 :>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; 2869 :>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; 137559:>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; 9006 :>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; 80773 :>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; 36 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 25 :>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; 28 :>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; 8696 :>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; 29 :>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=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; 268 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; x=1; z=1; 9 :>1:EAX=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; 150 :>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; 9889 :>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; 7047 :>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; 1 :>1:EAX=1; 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; 713 :>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; 90 :>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; 7505 :>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; 5209376:>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; 13716 :>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; 13408 :>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; 173938:>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; 8974 :>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; 60736 :>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; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 77 :>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; 220 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; x=2; z=1; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=1; x=2; z=1; 1120 :>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; 81645 :>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; 896556:>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; 7034 :>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; 4588300:>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; 343 :>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; 450 :>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; 85 :>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; 7643 :>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; 19933 :>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; 10689 :>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; 4178 :>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; 67589 :>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; 14 :>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; 17 :>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; 449 :>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; 3 :>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; 3735 :>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; 2 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 72 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 6 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 9 :>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; 6 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=2; z=1; 90 :>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; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; e=1; x=2; z=1; 1737 :>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; 4213 :>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; 16828 :>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; 2722 :>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; 668871:>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; 45 :>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; 286 :>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; 44 :>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; 11330 :>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; 4481 :>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; 1536 :>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; 3822 :>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; 48085 :>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; 134044:>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; 72005 :>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; 400866:>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; 3219089:>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; 349765:>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; 8159 :>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; 1886776:>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; 518391:>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; 36 :>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; 26 :>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; 486 :>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; 10198 :>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; 214 :>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; 7 :>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; 5439 :>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; 3261 :>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; 15025 :>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; 13002 :>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; 746909:>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; 7926649:>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; 161970:>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; 2188 :>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; 7219591:>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; 1842886:>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; 58157 :>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; 8514388:>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; 9538 :>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; 186934:>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; 1 :>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=2; 2231725:>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; 177819:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=1; z=2; 51 :>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; 5437 :>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; 47786 :>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; 2889698:>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; 65 :>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; 4821 :>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; 202959:>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; 310 :>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; 120 :>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; 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=1; z=2; 3 :>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; 352 :>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; 2379220:>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; 150737:>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; 705 :>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; 1192 :>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; 37371 :>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; 208 :>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; 85 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 1 :>1:EAX=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=2; 5 :>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; 984 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=1; z=2; 6026 :>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; 5323 :>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; 145 :>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; 64 :>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; 4388 :>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; 764156:>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; 6072 :>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; 1163 :>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; 15749 :>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; 2094 :>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; 16275 :>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; 531 :>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; 943985:>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; 22 :>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; 4119866:>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; 55 :>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; 9 :>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; 2 :>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; 68 :>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; 1546 :>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; 4249 :>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; 632886:>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; 2253 :>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; 6711646:>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; 5 :>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; 22 :>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; 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=2; z=2; 959 :>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; 2427 :>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; 533 :>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; 1841 :>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; 33794 :>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; 54 :>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; 37 :>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; 43 :>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; 1629 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=2; x=2; z=2; 6 :>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; 13 :>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; 6838 :>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; 17717 :>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; 79950 :>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; 4291985:>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; 17037 :>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; 862 :>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; 575664:>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; 324579:>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: 94141626, Negative: 5858374 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 148.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X025.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025 "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [x],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [c],$1 | MOV EAX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl $2,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: movl (%r13),%edx _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r8),%eax _litmus_P0_5_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl (%r8),%eax Test X024+X025 Required Histogram (103 states) 78 :>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; 12 :>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; 46430 :>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; 1142 :>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; 2820 :>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; 294 :>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; 225920:>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; 1112 :>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; 3684718:>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; 14661631:>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; 13416262:>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; 676526:>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; 2042 :>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; 233 :>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; 101075:>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; 348 :>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; 4 :>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; 12400 :>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; 34934 :>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; 32315 :>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; 3725 :>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; 503 :>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; 4216 :>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; 1713 :>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; 110 :>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; 14765 :>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; 52016 :>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; 555287:>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; 5028 :>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; 8 :>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; 2062 :>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; 7 :>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; 62203 :>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; 2393326:>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; 30095 :>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; 21264 :>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; 12 :>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; 8 :>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; 2 :>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; 863 :>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; 12835 :>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; 11218 :>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; 194 :>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; 9949 :>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; 7303 :>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; 367572:>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; 2706 :>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; 13423 :>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; 1060 :>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; 13649790:>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; 9514 :>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; 2186 :>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; 22522 :>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; 4589 :>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; 344 :>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; 1004 :>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; 6876 :>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; 28193 :>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; 300 :>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; 33350 :>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; 115335:>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; 6252927:>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; 12997 :>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; 2073 :>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; 72876 :>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; 963 :>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; 615 :>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; 12 :>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; 2 :>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; 8 :>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; 4 :>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; 962 :>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; 105036:>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; 346 :>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; 141 :>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; 5935 :>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; 372656:>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; 15596 :>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; 717 :>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; 15901 :>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; 16749075:>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; 9403 :>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; 2549 :>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; 575 :>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; 182340:>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; 3015 :>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; 178 :>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; 2025 :>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; 4685 :>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; 3302 :>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; 225 :>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; 251 :>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; 70 :>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; 68869 :>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; 239 :>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; 8585 :>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; 2467511:>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; 16946 :>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; 1060 :>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; 175653:>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; 11622256:>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; 11388669:>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; 84980 :>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: 92760003, Negative: 7239997 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 116.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X026.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026 "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV EBX,[c] | MOV EAX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X025+X026 Required Histogram (231 states) 3 :>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; 377 :>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; 1649 :>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; 16 :>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; 1057 :>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; 180 :>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; 4 :>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; 351 :>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; 303 :>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; 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; 5 :>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; 3232 :>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; 486 :>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; 105 :>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; 11566 :>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; 3 :>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; 20980 :>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; 1 :>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; 10 :>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; 956621:>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; 3589281:>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; 530339:>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; 9123675:>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; 5764597:>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; 670306:>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; 2698232:>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; 1122021:>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; 2894 :>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; 18807 :>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; 391 :>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; 26952 :>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; 87892 :>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; 3618 :>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; 918 :>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; 3148 :>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; 30398 :>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; 32495 :>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; 4795 :>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; 19470 :>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; 8743876:>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; 105019:>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; 67169 :>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; 30801 :>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; 3 :>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; 5 :>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; 102 :>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; 3478 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; d=1; y=1; 19 :>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; 1050 :>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; 3 :>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; 11 :>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; 211 :>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; 464 :>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; 681 :>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; 12709 :>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; 24512 :>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; 311 :>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; 1512 :>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; 1044 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 12 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 459 :>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; 3 :>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; 1845 :>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; 775 :>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; 289 :>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; 48351 :>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; 33 :>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; 114976:>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; 19 :>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; 6 :>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; 2 :>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; 743 :>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; 45247 :>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; 66 :>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; 84869 :>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; 2152 :>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; 1207 :>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; 24 :>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; 391 :>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; 7487 :>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; 124854:>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; 90 :>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; 75509 :>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; 484010:>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; 14082 :>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; 196 :>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; 1637 :>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; 315 :>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; 2622 :>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; 5 :>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; 582 :>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; 512083:>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; 14947 :>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; 171 :>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; 892 :>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=2; y=1; 24 :>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; 22136 :>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; 1 :>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; 4994 :>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; 2272 :>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; 613553:>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; 4279333:>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; 45974 :>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; 391 :>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; 2304492:>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; 685429:>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; 313 :>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; 117 :>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; 7309 :>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; 77148 :>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; 53185 :>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; 99 :>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; 48676 :>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; 33326 :>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; 3859 :>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; 866 :>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; 171422:>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; 187014:>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; 5029288:>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; 6349 :>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; 3692855:>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; 318628:>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; 9 :>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; 43 :>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; 970 :>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; 81088 :>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; 7 :>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; 17 :>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; 32 :>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; 190 :>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; 611 :>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; 8410 :>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; 365935:>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; 787 :>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; 219 :>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; 8912 :>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; 18521 :>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; 1551 :>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; 3901 :>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; 11220 :>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; 173688:>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; 277226:>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; 1913 :>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; 129633:>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; 48427 :>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; 154 :>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; 593 :>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; 1000 :>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; 6486 :>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; 430420:>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; 2931 :>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; 293718:>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; 76057 :>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; 4630 :>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; 94650 :>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; 153 :>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; 94186 :>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; 6157 :>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; 3325 :>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; 29 :>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; 444 :>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; 3496 :>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; 10145 :>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; 27 :>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; 1415 :>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; 305669:>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; 6996 :>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; 24 :>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; 370 :>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; 95 :>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; 12057 :>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; 352 :>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; 13284 :>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; 7 :>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; 15290 :>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; 10914 :>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; 412 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=2; 24 :>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; 3380 :>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; 2839580:>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; 161 :>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; 3737431:>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; 202 :>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; 47 :>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; 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; 39111 :>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; 3957912:>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; 281 :>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; 450717:>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; 1915812:>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; 68074 :>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; 33 :>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; 1295 :>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; 2463 :>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; 5035 :>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; 42158 :>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; 729545:>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; 2481 :>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; 137 :>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; 14762 :>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; 45179 :>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; 2793 :>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; 1748 :>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; 40403 :>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; 140100:>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; 982720:>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; 4333 :>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; 433782:>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; 85711 :>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; 1285 :>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; 366761:>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; 25264 :>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; 6458660:>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; 165 :>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; 22 :>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; 280 :>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; 1999 :>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; 76143 :>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; 4231282:>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; 252835:>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; 9384045:>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; 5988748:>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; 97707 :>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; 1439411:>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; 746376:>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: 93744848, Negative: 6255152 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 136.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X027.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027 "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$2 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$1 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r10),%edx _litmus_P3_3_: movl $1,(%r9) _litmus_P3_4_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r10),%edx Test X026+X027 Required Histogram (343 states) 85 :>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; 48 :>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; 44 :>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; 82 :>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; 4 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=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; 20 :>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; 99 :>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; 51 :>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; 4395 :>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; 4382 :>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; 214 :>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; 2509 :>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; 52972 :>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; 11989 :>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; 53285 :>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; 67418 :>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; 16 :>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; 18 :>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; 14 :>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; 30 :>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; 9 :>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; 13 :>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; 54 :>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; 1733 :>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; 3108 :>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; 57 :>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; 1709 :>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; 239 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 426 :>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; 5 :>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; 562 :>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; 3 :>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; 3447 :>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; 157 :>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; 8568 :>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; 611 :>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; 47 :>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; 7 :>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; 21 :>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; 8902 :>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; 913 :>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; 140 :>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; 37 :>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; 1 :>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; 199 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 720947:>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; 15511 :>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; 104 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1365066:>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; 10544 :>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; 392 :>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; 700 :>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; 2192 :>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; 182 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 749 :>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; 10 :>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; 1 :>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; 950204:>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; 101455:>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; 1 :>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; 163 :>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; 20616 :>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; 541 :>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; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 56 :>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; 35 :>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; 7 :>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; 151 :>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; 294 :>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; 8 :>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; 1 :>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; 603 :>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; 509 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=1; z=1; 4 :>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; 32 :>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; 1096 :>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; 16129 :>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; 19 :>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; 28385 :>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; 2548 :>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; 8822 :>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; 1066 :>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; 99736 :>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; 7 :>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; 417 :>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; 480 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 160 :>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; 952 :>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; 488695:>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; 14 :>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; 336581:>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; 18 :>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; 257 :>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; 1095 :>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; 14 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 365 :>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; 13 :>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; 310 :>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; 53 :>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; 55 :>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; 17682 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 3 :>0:EAX=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; 20 :>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; 1284 :>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; 5466 :>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; 42 :>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; 586 :>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; 642 :>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; 27 :>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; 11 :>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; 1509 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 7826 :>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; 1340943:>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; 2806 :>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; 38 :>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; 37 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=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; 142152:>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; 17907 :>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; 1696289:>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; 977451:>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; 244412:>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; 5865 :>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; 5572417:>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; 2297344:>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; 194386:>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; 117626:>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; 1429851:>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; 1827163:>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; 3189 :>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; 1097 :>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; 24834 :>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; 117092:>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; 8 :>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; 3 :>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; 13 :>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; 2346066:>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; 20062 :>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; 548 :>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; 1522 :>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; 2688302:>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; 3334 :>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; 2374 :>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; 2344 :>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; 5220382:>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; 349229:>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; 143 :>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; 4244 :>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; 32476 :>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; 333 :>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; 3 :>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; 69 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 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=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; 4538 :>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; 23727 :>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; 40151 :>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; 2011322:>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; 2029 :>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; 1927 :>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; 73589 :>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; 2476189:>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; 12834 :>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; 2896412:>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; 61490 :>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; 11828831:>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; 63 :>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; 207 :>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; 1309 :>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; 97152 :>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=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 459 :>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; 4411 :>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; 95 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 90 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 137 :>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; 29 :>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; 12556 :>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; 2933896:>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; 18561 :>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; 19 :>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; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=1; 167 :>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; 1752 :>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; 731 :>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; 5404 :>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; 8340 :>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; 250 :>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; 3012 :>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; 2464423:>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; 1025174:>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; 1550698:>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; 1575138:>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; 14 :>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; 15 :>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; 4 :>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; 408 :>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; 62 :>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; 504 :>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; 708 :>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; 1275 :>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; 6806 :>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; 2280 :>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; 930 :>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; 2450 :>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; 118 :>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; 1726 :>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; 7 :>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=2; 689 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1736658:>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; 77059 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 133 :>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; 13228627:>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; 2421839:>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; 4430 :>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; 13564 :>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; 1526 :>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; 145 :>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; 1933 :>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; 48 :>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; 1 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=1; z=2; 2456710:>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; 274684:>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; 186 :>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; 89006 :>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; 18212 :>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; 23 :>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=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 24 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 1087 :>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; 1746 :>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; 91925 :>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; 11 :>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; 94390 :>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; 136360:>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; 2370878:>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; 23816 :>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; 4392150:>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; 758 :>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; 1409 :>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; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 56 :>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; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 2745 :>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; 792 :>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; 2175793:>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; 1940741:>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; 145 :>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; 23592 :>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; 3 :>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; 27165 :>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; 8593 :>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; 118096:>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; 231 :>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; 86597 :>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; 1933567:>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; 3981 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 7 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 2057 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 13 :>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; 21696 :>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; 5777183:>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; 6712 :>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; 1003 :>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; 44816 :>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; 52 :>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; 427 :>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; 255 :>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; 23 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 229 :>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; 5100 :>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; 550 :>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; 8322 :>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; 5699 :>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; 128 :>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; 262 :>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; 152 :>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; 25 :>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; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 51 :>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; 5842 :>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; 343 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 3 :>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; 18721 :>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; 252 :>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; 20 :>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; 50 :>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; 4361 :>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; 774 :>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; 4 :>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; 379 :>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; 13 :>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; 1 :>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; 87 :>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; 382 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 1252 :>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; 48 :>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; 280 :>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; 56 :>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; 6205 :>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; 28 :>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; 12200 :>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; 19400 :>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; 4 :>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; 9 :>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; 94 :>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; 3 :>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; 142 :>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; 4 :>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; 5 :>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; 60 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 11 :>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; 13 :>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; 10876 :>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; 188 :>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; 5 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; No Witnesses Positive: 89302280, Negative: 10697720 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 151.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X028.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028 "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$2 | MOV EAX,[z] ; MOV [c],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV EBX,[d] | ; | | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl (%r10),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P2_4_: movl $1,(%rdi) Test X027+X028 Required Histogram (156 states) 377 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 2 :>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; 632129:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3780316:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2771 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 3584 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 157489:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 50745 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 180 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3214 :>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; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 71 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 58 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 76 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 29466 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 122862:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 418 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2621 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 27761 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 8876 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 120 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 780 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 667 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 56 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1896979:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2837235:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 12684 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 263 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 10321622:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 65778 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 433 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 783 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 33 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 6522 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 485 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 16355 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 6063 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 5508 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 139 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 932027:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 5205 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 900928:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 348989:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 2168487:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 37830 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 438 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 211 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 2135 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 14 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 300438:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 174009:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1587680:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 24766 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 138308:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 5530 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 6738968:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 3281 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 33 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 11338 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 7102 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 452 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 5717066:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 128 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 69 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 20 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 1452 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 92672 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2613543:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 256 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2082 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 864 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 773 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 17 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 24 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 1938 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 36 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 3 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 2486 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 3206 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 211152:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 19 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 3425 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 307 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 681 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1614475:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 2466158:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1434181:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 16168 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 3546 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 5788 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 7191 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 64 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 3744985:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 6099663:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 6741344:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 72360 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 8321 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 4440302:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 1997 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 309 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 48 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 45904 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 3754581:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 59 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 195 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 30281 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 3946 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 174173:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 6236622:>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; 2224294:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 10090 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 115968:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1667462:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 361 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 22 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2411833:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 17063 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 676 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 568 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 71 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=2; 94133 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 154612:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 155715:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 5706 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 149 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 2 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 2122 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=2; 4395 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 445 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 1042927:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 112 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 531 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 2544528:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 2068 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 8061 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 4986089:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 472 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 220 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 258 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 233 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 2534 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 11 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=2; 710441:>1:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 4162714:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 719913:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 14571 :>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: 89441762, Negative: 10558238 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 143.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X029.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029 "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [c],$1 | MOV EAX,[b] | MOV ECX,[d] | ; MOV [x],$1 | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: movl (%r13),%esi _litmus_P2_4_: movl (%rbx),%eax _litmus_P2_5_: movl (%r11),%edx Test X028+X029 Required Histogram (191 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; 1674 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 685 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 412 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 681 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 23359 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 11735557:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 2781252:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 36990 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 4449 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 39330 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 134162:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3386 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1137 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 17 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 12883 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2660 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 20 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2321 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 139171:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 47 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 106327:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2526 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 139109:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 6727 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2218 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 11326 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3303 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 2116719:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1026403:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 12536 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 12722 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 23563 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 457251:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 126 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 1716 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 14835 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 17914 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 3245 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 70687 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 67513 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 2545 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 148421:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 18204 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 4531084:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1422187:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 73886 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 26386 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 323207:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 800902:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 86011 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 38 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 431391:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 46584 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 206053:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 92725 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 13689 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 275893:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 24 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 425 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 11 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 336 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 501 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 25941 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 48 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 722 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 8106 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 264 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 21696 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 28 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 436 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 96 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 3034 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 257041:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2806077:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 170 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 2249 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 5270 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 245212:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 34 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 1455 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 820 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 53 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1901 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 667 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1764 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 146921:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 3498860:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 361 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 87863 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 7707 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 8557238:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 18959 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 89 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 889 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 557303:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 17 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 422936:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 150336:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1506977:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 3815 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 46876 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 107590:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 3849558:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4764 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 119991:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 104 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 251275:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 26 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 3937 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 34 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 47840 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 714 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 4263886:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 185 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 266389:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 12 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 382336:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 136331:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 1006 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 3007 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 2403 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=2; 9608 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 19613 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 60 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 5123636:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 172 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1455321:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 3975 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 42039 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 2458 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 6503 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 46853 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=2; 7909 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 2123 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 1192587:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 71 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 3411568:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 273349:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 763056:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 32854 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 179281:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 169752:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=2; 6041547:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1920 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 12128692:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 920095:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 232 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 224 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 943 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 27992 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=2; 2866 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 7 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 2359144:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 438399:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 12 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 34 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 12 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 259 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=2; 7 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 24 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 411 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 269 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 1253 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 922 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 291347:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=2; 17 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 11004 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 3921 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 1813281:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 1436 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 4318 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 33602 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 455964:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=2; 92314 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 1368486:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 11 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 210 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 575 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 867441:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=2; 8732 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; 5030182:>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: 96128400, Negative: 3871600 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is NOT validated Hash=1bdf159260155cb3423d92c5f4cff42f Time X028+X029 142.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X030.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030 "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV [e],$2 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$2 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r10),%edx _litmus_P3_3_: movl $2,(%r9) _litmus_P3_4_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r10),%edx Test X029+X030 Required Histogram (371 states) 177 :>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; 121 :>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=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 123 :>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; 19 :>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; 159272:>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; 52926 :>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; 94 :>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; 80 :>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; 652 :>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; 8684 :>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; 20 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 18 :>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; 23056 :>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; 751 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 492 :>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; 1521 :>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; 24 :>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; 445 :>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; 5 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=1; y=1; z=1; 59 :>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; 1 :>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; 8 :>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; 9874 :>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; 158731:>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; 19 :>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; 255 :>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; 242 :>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; 65047 :>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; 6 :>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; 31 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 389 :>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; 702 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 91 :>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; 2687 :>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; 8 :>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; 13 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 7 :>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; 17207 :>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; 3325 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 12 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 6 :>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; 484 :>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; 3149 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 11958 :>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; 651 :>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; 33 :>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; 976 :>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; 153 :>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; 160 :>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; 2232688:>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; 6413 :>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; 1693 :>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; 10 :>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; 258091:>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; 10868 :>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; 8 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 127 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 1027 :>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; 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; 24 :>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; 904 :>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; 63 :>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; 502 :>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; 9 :>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; 247 :>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; 625 :>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; 1229 :>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; 2 :>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; 237 :>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; 5773 :>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; 9378740:>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; 1503962:>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; 517886:>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; 243742:>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; 89488 :>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; 945 :>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; 4757 :>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; 1007 :>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=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=2; y=1; z=1; 347778:>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; 3031114:>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; 46975 :>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; 623773:>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; 204 :>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; 511 :>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; 53 :>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; 1603 :>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; 57730 :>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; 2667 :>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; 6002 :>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; 4371 :>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; 7 :>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; 1 :>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; 1 :>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; 4250642:>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; 4456 :>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; 445187:>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; 6380 :>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; 14 :>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; 114 :>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; 16 :>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; 294 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 19 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 173 :>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; 5 :>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; 600 :>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; 30 :>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; 83 :>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; 1 :>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; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 198 :>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; 793 :>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; 40 :>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; 9 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 258 :>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; 219 :>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; 17 :>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; 6 :>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; 816 :>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; 78 :>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; 10057 :>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; 760 :>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; 641 :>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; 561381:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 183 :>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; 44 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 280 :>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; 26 :>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; 307 :>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; 61986 :>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; 118 :>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; 181 :>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; 3 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 7 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 755 :>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; 2843 :>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; 527 :>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; 10 :>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; 40 :>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; 5 :>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; 8736 :>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; 936 :>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; 83362 :>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; 985 :>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; 1884 :>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; 157 :>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; 941183:>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; 104776:>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; 6 :>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; 32 :>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; 525 :>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; 119 :>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; 207 :>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; 76250 :>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; 71 :>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; 46 :>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; 59 :>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; 15871 :>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; 247 :>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; 1734 :>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; 11 :>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; 1635 :>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; 7552 :>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; 1267301:>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; 272400:>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; 45565 :>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; 2667959:>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; 744694:>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; 3065 :>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; 145 :>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; 27945 :>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; 9419 :>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; 32638 :>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; 305082:>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; 377662:>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; 13396860:>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; 102 :>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; 802 :>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; 2065 :>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; 354427:>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; 4398 :>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; 968 :>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; 45988 :>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; 85436 :>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; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 339158:>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; 2467 :>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; 5156960:>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; 394054:>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; 60 :>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; 557 :>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; 1342 :>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; 417760:>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; 3 :>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; 82 :>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; 1531 :>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; 11318 :>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; 2875910:>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; 1980 :>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; 431 :>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; 4051383:>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; 1501645:>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; 1086 :>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; 736 :>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; 1678 :>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; 18381 :>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; 25 :>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; 219018:>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; 37145 :>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; 52 :>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; 2 :>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; 401 :>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; 2174 :>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; 48 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=1; z=2; 653 :>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; 355449:>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; 5503196:>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; 139 :>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; 2013 :>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; 624 :>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; 256509:>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; 36974 :>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; 164296:>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; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; 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=1; e=1; y=1; z=2; 168 :>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; 16298 :>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; 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=2; 925906:>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; 356308:>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; 52 :>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; 25 :>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; 863 :>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; 14130 :>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; 518 :>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; 16233691:>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; 1199893:>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; 2588 :>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; 95 :>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; 528228:>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; 89444 :>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; 27205 :>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; 322389:>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; 13 :>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; 110 :>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; 26890 :>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; 260974:>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; 1885325:>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; 4 :>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; 36 :>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; 3211 :>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; 174847:>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; 16155 :>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; 3460 :>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; 72 :>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; 1047 :>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; 2756 :>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; 92 :>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; 70 :>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; 113 :>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; 552 :>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; 6752 :>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; 3203 :>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; 20 :>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; 58 :>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; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 99 :>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; 1351 :>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; 319 :>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; 7 :>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; 201 :>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; 21569 :>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; 498 :>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; 1921 :>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; 470 :>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; 33 :>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; 41 :>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; 6 :>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; 71 :>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; 62 :>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; 6 :>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; 201 :>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; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 37 :>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; 1901 :>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; 30 :>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; 15 :>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; 1 :>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; 153 :>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; 380 :>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; 67 :>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; 29297 :>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; 1725 :>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; 516 :>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; 2962531:>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; 53 :>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; 1860 :>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; 59 :>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; 357 :>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; 196632:>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; 99 :>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; 259 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=2; 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; 519 :>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; 4075 :>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; 184576:>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; 3809 :>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; 722 :>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; 126 :>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; 2026118:>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; 189673:>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; 54 :>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; 3602 :>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; 134 :>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; 393 :>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; 463620:>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; 1693 :>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; 22151 :>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; 2 :>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; 2006 :>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; 23327 :>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; 5193714:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=2; z=2; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=2; z=2; 54 :>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; 15 :>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; 331 :>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; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=2; 17 :>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; 25 :>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; 339 :>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; 26019 :>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; 11 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 7 :>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; 4551 :>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; 10 :>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; 24 :>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; 19 :>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; 136 :>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; 797 :>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; 40 :>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; 4067 :>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; 695 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=2; z=2; 17 :>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; 5 :>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; 1374 :>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; 5 :>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; 34 :>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; 15 :>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; 6791 :>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: 97124182, Negative: 2875818 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 159.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X031.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031 "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [d],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [e],$1 | MOV [b],$1 | | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | | ; MOV [x],$1 | MOV EAX,[c] | | ; MOV EBX,[b] | MOV EBX,[d] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r10),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030+X031 Required Histogram (82 states) 1389 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1695 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 542 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 3987358:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 3535035:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 2108318:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 79738 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 1392 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1095 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1334 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 49 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 7915 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 2374 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 88877 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 784 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 392 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 212524:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 7344987:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1275 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 91 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 18018 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 2041 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 8014914:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 137 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 58 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3191 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 2204655:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 16021171:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 770431:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 118883:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1376 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 16588 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 827 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 240 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 347896:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 2769498:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 451733:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 102777:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 38148 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 182 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 1273407:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 1623 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 8378 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3683 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 5393818:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1469 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 4438957:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 6552508:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1713577:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 79950 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1060799:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1390727:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1096549:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 56551 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 173322:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 176 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 3893526:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 1141 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 86535 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 245 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 13182308:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 3037 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 61191 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 5210352:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 3121 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 4640 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 280697:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 3819134:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 213831:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 75753 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 67 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=2; 1314 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 14 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 1656671:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 716 :>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: 87087718, Negative: 12912282 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 141.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X032.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032 "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [d],$1 | MOV [y],$1 | MOV [f],$1 ; MOV [e],$1 | MOV [z],$1 | MOV [b],$1 ; MOV [a],$1 | MOV EAX,[z] | MOV EAX,[b] ; MOV [x],$1 | MOV EBX,[a] | MOV EBX,[c] ; MOV ECX,[e] | MOV [c],$1 | ; MOV EAX,[x] | MOV ECX,[d] | ; MOV EDX,[f] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%eax _litmus_P0_6_: movl (%r12),%esi _litmus_P0_7_: movl (%r11),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%r9),%eax _litmus_P1_3_: movl (%r12),%edx _litmus_P1_4_: movl $1,(%rbx) _litmus_P1_5_: movl (%r11),%ecx Test X031+X032 Required Histogram (24 states) 61115 :>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; 229503:>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; 975384:>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; 17919680:>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; 658105:>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; 43052 :>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; 2512334:>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; 2835119:>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; 24172231:>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; 210322:>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; 9407838:>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; 2149500:>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; 39336 :>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; 13774097:>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; 398 :>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; 17087230:>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; 395343:>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; 125730:>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; 304 :>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; 27015 :>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; 6938007:>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; 424809:>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; 157 :>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; 13391 :>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: 95128178, Negative: 4871822 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 116.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X033.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033 "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV ECX,[c] ; MOV EBX,[f] | MOV [e],$1 | MOV EDX,[d] ; MOV EAX,[x] | MOV EAX,[y] | MOV [z],$1 ; MOV ECX,[g] | MOV EBX,[z] | MOV [a],$1 ; | | MOV EAX,[a] ; | | MOV EBX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%ecx _litmus_P2_3_: movl (%r12),%esi _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl $1,(%r15) _litmus_P2_6_: movl (%r15),%eax _litmus_P2_7_: movl (%r14),%edx _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: movl (%rdi),%edx Test X032+X033 Required Histogram (64 states) 233727:>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; 8912 :>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; 271338:>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; 410382:>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; 293078:>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; 248 :>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; 16199665:>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; 4595151:>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; 10175587:>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; 5957 :>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; 283970:>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; 68926 :>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; 8664376:>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; 129 :>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; 953195:>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; 41534 :>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; 14081 :>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; 51885 :>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; 2229 :>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; 145611:>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; 126 :>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; 32 :>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; 35 :>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; 2217 :>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; 13375583:>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; 1070667:>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; 34368 :>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; 441159:>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; 14259 :>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; 166 :>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; 274 :>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; 710 :>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; 1281 :>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; 11972 :>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; 7403 :>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; 1019114:>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; 470 :>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; 340 :>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; 246168:>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; 10034005:>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; 109 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 1263 :>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; 298 :>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; 7020 :>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; 15 :>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=2; 46 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; 783 :>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; 5976 :>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; 2805 :>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; 1911865:>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; 1404 :>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; 13487379:>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; 6 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; 202 :>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; 31671 :>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; 12009 :>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; 10968896:>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; 773 :>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; 4884723:>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; 10 :>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=2; 1286 :>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; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; 1126 :>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: 96925082, Negative: 3074918 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 130.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X034.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034 "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [a],$1 ; MOV [x],$1 | MOV [e],$1 | MOV EAX,[a] ; MOV [d],$1 | MOV ECX,[c] | MOV EBX,[b] ; MOV EAX,[d] | MOV EAX,[y] | ; MOV EBX,[e] | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X033+X034 Required Histogram (32 states) 533547:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 21897845:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 6652506:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 12008994:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 10953 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 1303 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 3731174:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 301002:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 469719:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 9587856:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 7985 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 15115 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 746325:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13580 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 516389:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 12950 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5776 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 35 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 498462:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 5206 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=2; 17946 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 180 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 11985924:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 19021 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 20909 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 249 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 2245 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=2; 10562117:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 72915 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 20294399:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 7351 :>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: 91774260, Negative: 8225740 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 112.60 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X035.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035 "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r8),%eax _litmus_P0_3_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,(%r12) _litmus_P1_5_: movl (%rbx),%ecx Test X034+X035 Required Histogram (32 states) 97929 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 82508 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 4128854:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 14195348:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 22292 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 573 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 304954:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 84028 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 9294 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2197 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 298631:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 166279:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 24986894:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 9941 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 15938713:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 476175:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 139059:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 11945167:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 9443 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 19056127:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 10390 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 930 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 188 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 107 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 12421 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 24848 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 447 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 15301 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7967253:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 6181 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 6413 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1115 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; No Witnesses Positive: 94883017, Negative: 5116983 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 103.34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X036.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036 "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$1 ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$1 | MOV EAX,[f] ; MOV [d],$1 | MOV EBX,[d] | MOV [b],$1 | ; MOV EBX,[e] | MOV EAX,[y] | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X035+X036 Required Histogram (118 states) 12979 :>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; 729 :>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; 786930:>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; 705394:>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; 8391 :>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; 220 :>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; 2260715:>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; 1764032:>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; 2232 :>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; 55885 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; 19179 :>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; 5 :>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; 1711845:>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; 982 :>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; 36002 :>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; 189 :>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; 642890:>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; 36163 :>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; 9109 :>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; 36 :>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; 374863:>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; 31573 :>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; 1513060:>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; 677919:>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; 4470431:>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; 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=0; 3219685:>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; 494 :>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; 4644 :>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; 66099 :>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; 122866:>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; 6303707:>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; 1354 :>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; 258 :>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; 68271 :>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; 622916:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 2 :>0:EAX=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; 245 :>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; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; 189 :>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; 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=0; 3226 :>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; 520 :>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; 683664:>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; 4099885:>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; 3296245:>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; 11658559:>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; 7329 :>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; 1384 :>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; 158239:>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; 123363:>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; 8300350:>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; 1618 :>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; 2145072:>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; 3396 :>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; 1450861:>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; 2374 :>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; 673580:>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; 5311 :>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; 101390:>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; 67208 :>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; 31501 :>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; 157832:>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; 3380459:>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; 1381409:>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; 4720059:>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; 6514575:>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; 9755 :>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; 518 :>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; 4582699:>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; 2424 :>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; 2851420:>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; 2549 :>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; 36067 :>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; 1727 :>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; 3529 :>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; 1328 :>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; 102904:>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; 6563 :>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; 56685 :>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; 7544 :>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; 554923:>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; 638 :>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; 5715254:>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; 107 :>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; 91270 :>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; 37 :>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; 9049 :>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; 1426601:>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; 1627 :>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; 3399580:>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; 4789 :>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; 93502 :>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; 1165 :>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; 244861:>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; 24 :>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; 1 :>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; 301 :>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; 228 :>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; 9 :>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; 55 :>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; 245975:>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; 2641554:>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; 6917 :>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; 757204:>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; 33732 :>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; 24336 :>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; 13414 :>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; 30090 :>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; 1576277:>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; 361 :>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; 629 :>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; 5 :>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; 952870:>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; 1965 :>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; 2941 :>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; 90 :>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: 94319899, Negative: 5680101 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 143.66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X037.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037 "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; MOV EBX,[f] | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$1 | MOV ECX,[g] ; MOV EAX,[x] | MOV EAX,[y] | MOV EBX,[c] | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r10),%ecx _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%eax _litmus_P3_5_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl (%r8),%edx _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%rbx),%ecx Test X036+X037 Required Histogram (246 states) 57106 :>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; 11544 :>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; 17538 :>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; 76183 :>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; 61417 :>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; 1367 :>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; 85315 :>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; 76387 :>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; 64089 :>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; 1080 :>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; 1904724:>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; 973284:>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; 77786 :>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; 196 :>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; 3535824:>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; 1356890:>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; 20835 :>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; 58328 :>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; 1322 :>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; 44408 :>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; 1618 :>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; 141 :>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; 126 :>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; 1261 :>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; 187744:>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; 84388 :>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; 2881329:>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; 3513008:>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; 13441 :>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; 203 :>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; 258669:>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; 175717:>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; 1429024:>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; 8734 :>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; 994 :>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; 1552 :>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; 902224:>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; 792 :>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; 1695 :>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; 252 :>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; 1143897:>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; 1099 :>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; 74943 :>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; 1635 :>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; 1266080:>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; 222 :>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; 85962 :>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; 609 :>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; 2038190:>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; 159531:>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; 147 :>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; 3040 :>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; 54320 :>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; 197 :>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; 5 :>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; 17 :>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; 5896170:>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; 252940:>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; 210532:>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; 53010 :>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; 225395:>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; 165 :>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; 12468 :>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; 353 :>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; 28309 :>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; 32843 :>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; 4601 :>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; 51193 :>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; 1065072:>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; 460928:>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; 1791641:>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; 2629632:>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; 430 :>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; 53 :>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; 236 :>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; 1140 :>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; 2087 :>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; 25 :>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; 8822 :>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; 6223 :>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; 1692 :>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; 20018 :>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; 13 :>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; 9737 :>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; 1262 :>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; 4664 :>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; 277 :>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; 5365 :>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; 372 :>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; 1326 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 28 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 3025 :>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; 791 :>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; 89 :>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; 1931 :>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; 3361 :>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; 2305136:>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; 185654:>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; 5010 :>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; 16349 :>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; 12533436:>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; 1748509:>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; 464331:>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; 229708:>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; 29285 :>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; 143 :>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; 882 :>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; 705 :>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; 88182 :>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; 48 :>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; 4230 :>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; 630 :>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; 3419948:>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; 415662:>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; 83 :>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; 6089 :>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; 359056:>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; 30391 :>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; 281 :>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; 1474 :>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; 131007:>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; 11344 :>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; 329 :>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; 2282 :>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; 23194 :>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; 399 :>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; 414 :>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; 324 :>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; 408 :>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; 5202 :>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; 125 :>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; 98155 :>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; 176 :>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; 611 :>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; 243 :>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; 71836 :>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; 69 :>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; 104 :>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; 4156 :>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; 661481:>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; 23 :>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; 27 :>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; 10099 :>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; 1293630:>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; 1383 :>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; 1201388:>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; 80 :>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; 1647170:>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; 26 :>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; 89 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 9 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; 2968 :>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; 2969 :>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; 1135602:>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; 34066 :>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; 12901370:>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; 36 :>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; 189 :>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; 2197 :>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; 338773:>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; 58 :>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; 990 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 552 :>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; 2 :>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; 73 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 86 :>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; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 227 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 137 :>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; 2631 :>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; 1232571:>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; 19 :>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; 34085 :>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; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 14 :>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; 13 :>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; 4565 :>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; 2001437:>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; 545 :>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; 293633:>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; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 27 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 129 :>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; 1197 :>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; 77109 :>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; 23 :>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; 250692:>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; 24551 :>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; 798350:>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; 10712 :>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; 4548263:>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; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1700 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 4 :>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; 31 :>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; 6381 :>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; 534 :>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; 1311582:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; 2440196:>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; 177 :>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; 29818 :>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; 11 :>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; 97775 :>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; 41 :>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; 36067 :>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; 173715:>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; 15 :>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; 118 :>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; 22 :>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; 10032 :>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; 3694 :>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; 249043:>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; 93 :>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; 32844 :>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; 49107 :>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; 2274816:>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; 3024 :>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; 315254:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; 517 :>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; 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; 7291 :>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; 6079185:>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; 29 :>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; 385912:>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; 1366 :>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; 104333:>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; 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; e=2; 8863 :>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; 227 :>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; 119238:>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; 14 :>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; 37531 :>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; 200 :>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; 4 :>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; 307 :>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: 82320304, Negative: 17679696 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 159.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X038.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038 "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$1 | MOV [a],$1 ; MOV EAX,[e] | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] | MOV EBX,[b] ; | | MOV EBX,[f] | ; | | MOV ECX,[c] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl (%rsi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r12),%ecx Test X037+X038 Required Histogram (96 states) 20557 :>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; 13512 :>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; 64666 :>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; 4817951:>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; 617278:>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; 125841:>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; 752137:>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; 1952525:>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; 18271 :>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; 10594 :>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; 2486 :>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; 27739 :>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; 3205957:>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; 92307 :>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; 288766:>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; 203510:>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; 92959 :>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; 17663 :>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; 221143:>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; 3661769:>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; 18409 :>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; 214 :>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; 10990 :>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; 1386 :>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; 509009:>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; 26915 :>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; 44041 :>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; 68652 :>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; 738321:>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; 1263 :>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; 12433 :>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; 768 :>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; 29179 :>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; 220017:>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; 14687 :>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; 6863027:>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; 275997:>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; 445472:>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; 62733 :>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; 1623279:>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; 1317165:>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; 3766036:>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; 874 :>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; 283160:>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; 12180637:>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; 5066038:>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; 72450 :>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; 435659:>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; 27679 :>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; 83923 :>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; 11228 :>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; 1531817:>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; 812 :>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; 148 :>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; 126 :>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; 50 :>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; 4256421:>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; 1619908:>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; 3133 :>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; 136461:>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; 3563934:>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; 25454 :>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; 331 :>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; 115 :>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; 4658 :>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; 514 :>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; 104757:>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; 2495334:>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; 843812:>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; 12584 :>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; 2865206:>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; 1203566:>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; 1004 :>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; 2 :>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; 574 :>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; 878 :>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; 2213236:>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; 1413 :>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; 314666:>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; 18489 :>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; 1593581:>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; 728 :>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; 6002470:>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; 4196343:>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; 1477818:>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; 15 :>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; 3014760:>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; 1503 :>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; 3040464:>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; 29 :>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; 320711:>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; 6653 :>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; 8176193:>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; 3 :>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; 528511:>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; 1543 :>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: 92476612, Negative: 7523388 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 149.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X039.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039 "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[f] ; MOV [d],$1 | MOV EBX,[d] | MOV [b],$1 | ; MOV [e],$1 | MOV EAX,[y] | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,(%r8) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X038+X039 Required Histogram (121 states) 997140:>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; 2581604:>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; 7 :>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; 4462 :>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; 92747 :>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; 96392 :>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; 9 :>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; 5822 :>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; 5454181:>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; 614279:>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; 1 :>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; 627 :>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; 14877241:>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; 245951:>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; 18243 :>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; 25310 :>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; 198161:>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; 9298396:>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; 15650 :>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; 3609 :>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; 30782 :>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; 1 :>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; 674 :>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; 3865929:>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; 318262:>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; 77 :>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; 1544203:>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; 52729 :>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; 110 :>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; 1391 :>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; 975 :>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; 775 :>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; 1 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=2; x=1; 104 :>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; 742 :>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; 1092 :>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; 345 :>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; 31836 :>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; 359 :>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; 13 :>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; 3132762:>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; 3119 :>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; 11351 :>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; 3260 :>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; 58995 :>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; 1244424:>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=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=2; x=1; 7984 :>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; 3014 :>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; 9776 :>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; 944 :>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; 680035:>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; 47266 :>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; 2 :>1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=1; 132 :>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; 2103527:>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; 24845 :>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; 3613 :>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; 4288 :>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; 363611:>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; 1313842:>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; 63199 :>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; 1725988:>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; 755725:>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; 403815:>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; 854687:>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; 4242675:>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; 3896 :>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; 3731 :>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; 149 :>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; 1373 :>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; 2334274:>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; 92018 :>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; 2729122:>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; 887774:>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; 33281 :>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; 4018537:>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; 2377 :>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; 4274808:>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; 34858 :>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; 111938:>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; 7447 :>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; 483031:>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; 258 :>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; 140 :>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; 43 :>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; 28966 :>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; 15199 :>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; 5520 :>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; 22764 :>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; 1124 :>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; 810 :>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; 729 :>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; 4054 :>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; 35623 :>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; 12055 :>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; 1194364:>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; 3908485:>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; 62 :>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; 24 :>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; 26 :>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; 534942:>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; 7590 :>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; 7218688:>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; 1288188:>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; 27975 :>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; 1043146:>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; 8263 :>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; 3649136:>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; 58196 :>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; 75667 :>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; 382634:>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; 5584141:>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; 248 :>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; 145 :>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; 4 :>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; 88 :>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; 201721:>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; 16600 :>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; 1426629:>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; 784027:>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: 94764392, Negative: 5235608 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 149.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X040.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040 "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MOV ECX,[g] ; MOV EAX,[x] | MOV [y],$1 | MOV EBX,[c] | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r10),%ecx _litmus_P3_3_: movl $1,(%r12) _litmus_P3_4_: movl (%r12),%eax _litmus_P3_5_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%rbx),%ecx Test X039+X040 Required Histogram (237 states) 295344:>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; 95370 :>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; 7003031:>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; 917683:>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; 5636 :>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; 28948 :>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; 1860424:>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; 580446:>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; 11540 :>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; 1347 :>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; 137887:>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; 993 :>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; 374 :>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; 1746 :>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; 70123 :>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; 5220 :>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; 4292655:>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; 1409478:>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; 16626 :>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; 3453 :>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; 5358 :>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; 16400 :>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; 5495 :>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; 4488 :>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; 909606:>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; 237357:>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; 6579 :>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; 810 :>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; 3301 :>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; 9556 :>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; 2983 :>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; 2587 :>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; 8327 :>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; 183418:>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; 123996:>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; 1560561:>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; 533 :>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; 122216:>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; 47447 :>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; 1224063:>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; 12 :>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; 320 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 21 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=1; 200 :>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; 15 :>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; 760 :>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; 49 :>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; 950 :>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; 233649:>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; 5509381:>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; 363 :>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; 6993 :>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; 1711 :>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; 491110:>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; 324 :>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; 36213 :>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; 23138 :>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; 385935:>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; 136 :>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; 577 :>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; 53542 :>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; 30 :>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; 2796 :>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; 145312:>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; 4103 :>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; 132655:>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; 203 :>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; 21684 :>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; 10340 :>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; 72409 :>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; 6101 :>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; 2084256:>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; 3254 :>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; 2235405:>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; 301 :>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; 467539:>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; 12593 :>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; 1454183:>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; 11241 :>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; 643109:>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; 143499:>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; 1911 :>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; 14 :>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; 6149 :>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; 8344 :>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; 897 :>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; 316 :>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; 14763537:>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; 1004883:>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; 90395 :>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; 56 :>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; 1365242:>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; 115800:>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; 78420 :>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; 3705 :>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; 33 :>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; 315 :>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; 39 :>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; 1909 :>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; 45 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=2; y=1; 1082 :>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; 17 :>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; 182 :>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; 26 :>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; 2274 :>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; 34 :>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; 889 :>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; 13973 :>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; 216703:>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; 404 :>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; 32159 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 5 :>0:EAX=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; 122 :>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; 112442:>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; 1858428:>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; 4628 :>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; 269633:>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; 44 :>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; 1345 :>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; 7215 :>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; 5964 :>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; 131353:>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; 16893 :>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; 9493 :>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; 37563 :>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; 3550594:>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; 1264975:>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; 591 :>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; 274 :>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; 3644 :>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; 55 :>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; 1229 :>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; 4423 :>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; 148884:>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; 56547 :>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; 941 :>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; 814 :>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; 7 :>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; 7 :>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; 758 :>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; 7209 :>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; 283 :>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; 1009 :>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; 874 :>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; 869 :>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; 33 :>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; 10 :>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; 820 :>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; 7914 :>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; 706 :>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; 1334 :>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; 931 :>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; 34405 :>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; 7566 :>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; 78578 :>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; 2600 :>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; 1993322:>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; 243351:>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; 13039049:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=2; f=1; y=2; 14 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=1; y=2; 222 :>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; 4 :>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; 38 :>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; 68 :>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; 39801 :>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; 1650 :>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; 256972:>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; 531 :>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; 51561 :>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; 2 :>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; 96 :>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; 890 :>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; 3375347:>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; 106 :>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; 165738:>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; 275 :>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; 12445 :>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; 21 :>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; 377 :>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; 596513:>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; 74 :>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; 36050 :>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; 8700 :>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; 842 :>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; 2521 :>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; 3 :>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; 44474 :>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; 37883 :>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; 160302:>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; 45262 :>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; 180886:>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; 1154 :>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; 46262 :>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; 15 :>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; 1815883:>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; 110914:>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; 4531661:>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; 201824:>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; 798 :>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; 337 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=2; y=2; 1 :>0:EAX=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; 2572 :>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; 7496 :>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; 135 :>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; 331 :>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; 155081:>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; 6501 :>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; 306 :>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; 2421908:>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; 225906:>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; 58354 :>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; 5478 :>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; 41 :>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; 522 :>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; 947 :>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; 393891:>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; 1378 :>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; 353895:>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; 31 :>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; 660 :>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; 2577 :>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; 1254403:>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; 4093 :>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; 1836740:>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; 115 :>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; 3337 :>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; 375 :>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; 369765:>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; 17 :>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; 5228 :>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; 1631 :>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; 47780 :>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; 7695 :>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; 5011667:>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; 143 :>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; 61178 :>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: 89100629, Negative: 10899371 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 165.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X041.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041 "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [d],$1 | MOV [e],$1 | MOV EAX,[z] | MOV [a],$1 ; MOV [b],$1 | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV [c],$1 | | MOV EBX,[b] ; MOV [x],$1 | | | ; MOV EBX,[e] | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X040+X041 Required Histogram (48 states) 4735990:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2132161:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 5227961:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1788715:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2057359:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 677399:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 79005 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 5028 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 318404:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 7361124:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 236464:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 3857144:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 67705 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 1164374:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 30 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 489 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 4038119:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 4431 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 6970339:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 5684 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 15023162:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 9374 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 5762696:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 347 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 23833 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 199370:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 1531704:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 1295595:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 348101:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 420904:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 310106:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 175144:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 9549 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 7962464:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 184917:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 12099114:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 12455 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 4598609:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 4086 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1574955:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 1855 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 47 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 1223307:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 4195 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 2831308:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1378 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 3662025:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1475 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; No Witnesses Positive: 99140655, Negative: 859345 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 140.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X042.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042 "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [c],$2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[d] ; MOV [c],$1 | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,(%r12) _litmus_P1_5_: movl (%rbx),%ecx Test X041+X042 Required Histogram (32 states) 18282121:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 202175:>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 318954:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 4604895:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 23012612:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 3169 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 30146 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 40584 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 70182 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 4370 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=1; 2598 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 531121:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 7731648:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 5181 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 24859 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 313310:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 185545:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 8868 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=2; 124406:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 16836831:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 1050 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 55 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=2; 484 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 20470 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 3472 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 238 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=2; x=2; 1438 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 20305067:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 14122 :>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 953 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=2; 4342 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; 7314734:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; No Witnesses Positive: 99580475, Negative: 419525 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 108.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X043.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043 "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$1 ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$2 | MOV [f],$1 ; MOV [d],$1 | MOV EAX,[d] | MOV [b],$1 | ; MOV EBX,[e] | MOV [y],$1 | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl $1,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X042+X043 Required Histogram (114 states) 3120201:>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; 1430270:>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; 5092621:>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; 7741975:>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; 4027847:>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; 2232 :>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; 2765281:>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; 2322 :>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; 139419:>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; 7828 :>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; 87502 :>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; 12441 :>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; 7338408:>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; 64 :>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; 142414:>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; 16 :>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; 6284 :>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; 80442 :>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; 5468 :>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; 419538:>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; 378 :>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; 96 :>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; 87 :>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; 37 :>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; 105881:>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; 59112 :>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; 35795 :>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; 113066:>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; 2001583:>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; 1884 :>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; 9577 :>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; 158 :>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; 3769 :>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; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=1; 2738055:>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; 2195946:>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; 4853 :>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; 1467017:>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; 731 :>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; 17960 :>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; 4 :>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; 865441:>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; 53255 :>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; 3888382:>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; 3296124:>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; 271 :>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; 669 :>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; 19 :>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; 104479:>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; 814439:>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; 88 :>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; 3627 :>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; 429 :>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; 19252 :>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; 564 :>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; 474061:>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; 191320:>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; 1515590:>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; 946 :>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; 845624:>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; 4037 :>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; 10043 :>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; 15397 :>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; 1687 :>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; 30501 :>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; 2583 :>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; 130 :>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; 6019 :>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; 881 :>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; 419 :>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; 701 :>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; 139051:>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; 247 :>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; 7458 :>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; 1250288:>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; 1991 :>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; 4346790:>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; 16 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=2; 286956:>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; 3497634:>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; 7864 :>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; 1547659:>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; 2291883:>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; 231 :>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; 3282 :>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; 2 :>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; 1209 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 66 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; f=2; y=2; 130644:>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; 244403:>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; 295 :>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; 13624 :>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; 5705 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 33 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 120306:>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; 23334 :>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; 288799:>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; 153124:>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; f=2; y=2; 1477 :>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; 20554 :>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; 92304 :>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; 5750353:>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; 112 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=2; 442191:>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; 2607007:>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; 2763309:>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; 11827977:>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; 6996283:>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; 569 :>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; 1807396:>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; 2017 :>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: 98659508, Negative: 1340492 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 149.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X044.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044 "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; MOV EBX,[f] | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$1 | MOV [g],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[c] | MOV [a],$1 ; | | MOV [z],$1 | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl (%r8),%edx _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: movl (%r10),%edx Test X043+X044 Required Histogram (187 states) 87677 :>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; 24229 :>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; 39706 :>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; 146846:>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; 150580:>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; 6913 :>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; 464270:>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; 339486:>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; 29760 :>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; 73718 :>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; 8780 :>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; 91955 :>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; 634 :>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; 227 :>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; 368 :>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; 3963 :>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; 1703190:>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; 24567 :>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; 789 :>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; 857 :>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; 1185055:>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; 5716 :>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; 3930 :>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; 715 :>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; 2003735:>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; 187042:>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; 408 :>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; 915 :>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; 15066 :>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; 232 :>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; 12 :>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; 12 :>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; 702 :>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; 20260 :>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; 339 :>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; 221635:>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; 345 :>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; 4210 :>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; 1832 :>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; 334347:>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; 1365 :>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; 1392536:>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; 395 :>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; 2489480:>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; 15 :>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; 329 :>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; 22 :>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; 12565 :>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; 197 :>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; 8710 :>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; 4 :>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; 570 :>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; 157 :>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; 2790 :>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; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 334 :>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; 2441 :>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; 1338218:>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; 13 :>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; 9098 :>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; 3 :>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; 172 :>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; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 21 :>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; 160016:>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; 5674 :>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; 2919501:>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; 1861298:>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; 127264:>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; 336 :>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; 3833735:>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; 1445978:>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; 169450:>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; 106606:>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; 1899160:>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; 2548153:>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; 613 :>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; 28 :>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; 7510 :>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; 23831 :>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; 2244736:>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; 6360 :>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; 38962 :>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; 1202 :>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; 1430768:>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; 378 :>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; 26534 :>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; 491 :>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; 4648289:>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; 246697:>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; 46079 :>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; 5850 :>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; 8460 :>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; 17 :>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; 99 :>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; 8 :>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; 328 :>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; 2990 :>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; 11078 :>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; 1691014:>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; 39 :>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; 57 :>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; 12030 :>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; 1557235:>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; 2954 :>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; 1403154:>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; 35365 :>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; 12043670:>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; 18 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=2; z=1; 52 :>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; 390 :>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; 47337 :>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; 25 :>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; 675 :>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; 5 :>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; 305 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=2; z=1; 181 :>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; 3918 :>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; 1688809:>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; 113 :>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; 17162 :>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; 7 :>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; 4 :>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; 51374 :>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; 73675 :>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; 3330 :>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; 41757 :>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; 2431521:>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; 949304:>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; 2178387:>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; 2870161:>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; 10469 :>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; 50249 :>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; 206 :>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; 14539 :>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; 813 :>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; 2067 :>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; 33 :>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; 1447 :>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; 2463822:>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; 146090:>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; 69 :>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; 409 :>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; 11051004:>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; 1217287:>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; 18197 :>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; 14847 :>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; 2934800:>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; 344824:>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; 9 :>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; 272 :>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; 56409 :>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; 6734 :>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; 2 :>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; 21 :>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; 2049 :>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; 192415:>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; 94 :>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; 329896:>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; 47649 :>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; 1503580:>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; 15664 :>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; 5196951:>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; 1124 :>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; 2457973:>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; 52 :>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; 2587659:>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; 112 :>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; 13231 :>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; 4 :>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; 21231 :>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; 3951 :>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; 192394:>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; 2 :>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; 1305 :>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; 43359 :>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; 1475258:>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; 36 :>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; 19903 :>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; 5734 :>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; 4146767:>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; 10988 :>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; 303 :>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; 18655 :>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; 58 :>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: 85079718, Negative: 14920282 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 166.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X045.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045 "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$2 | MOV [a],$1 ; MOV [e],$1 | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | MOV EBX,[b] ; | | MOV EAX,[f] | ; | | MOV EBX,[c] | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl (%rcx),%eax _litmus_P1_3_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl $1,(%rdi) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r11),%edx Test X044+X045 Required Histogram (95 states) 594085:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 3619988:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 221662:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 60607 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 24439 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 121514:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 24490 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 3401 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1698304:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 2591472:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 10413715:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 62613 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 16565 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 7965 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 773898:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 236 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 907401:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 352078:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2338987:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 37969 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 274001:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 153078:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 1512483:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 19629 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 143497:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 5471 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 7300143:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 3451 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 7137 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 522 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 5393423:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 100 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 84562 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 2388501:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 1426 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 1618 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 2910 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 177129:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 298 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 190 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1512653:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 2414269:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 1537437:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 18450 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 3539493:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 5608673:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 7037389:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 73590 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 8568 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 4562273:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 5989 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 4365 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 42225 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 3772401:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 51318 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 13477 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 155898:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 6247719:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 2598228:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 49375 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 105390:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1660703:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 2370663:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 28026 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 528 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 544 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 384 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 24 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=2; 82810 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 148219:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 237969:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 10638 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 118 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; 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=2; e=2; x=1; z=2; 11954 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=2; 3983 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 464 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1231946:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 130 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 458 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 2496910:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 2 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 102 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 7782 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 4868701:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 679 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 1845 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 221 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 2643 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 31 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 13 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=2; 653280:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 4369271:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1072362:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 36457 :>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: 90109235, Negative: 9890765 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 155.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X046.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046 "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$2 | MOV [f],$1 ; MOV [d],$1 | MOV EAX,[d] | MOV [b],$1 | ; MOV [e],$1 | MOV [y],$1 | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $2,(%rsi) _litmus_P1_2_: movl (%rdi),%eax _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: movl (%r15),%edx Test X045+X046 Required Histogram (111 states) 10191904:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 16660 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 43723 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 695 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 476226:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 104 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 146146:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 2107 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1423968:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 8922 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 14097 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1181 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 49405 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 99 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 55537 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 6673 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 3192655:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 4117 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 131171:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 4912 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 784401:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 589 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 337124:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 21844 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 46 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=1; 151 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 1216 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 3986742:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 4026851:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 201530:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 690024:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 502 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 53 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 61686 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 50727 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1053072:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 3475902:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 164461:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 7201633:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 228 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 76 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 94991 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1662236:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1558378:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1471545:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 988553:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 4513607:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 4846 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 908 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 404592:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1027767:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 26 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 259 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 9185 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 3057182:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 10773 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 1070523:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 43677 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 1690 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=2; 4585358:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 2732270:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 110 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 18426 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 1412 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=2; 708713:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 3125876:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 4558 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 290109:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 5 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 46102 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 13 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=2; 4697418:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 14239082:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 15210 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 45 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 32 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=1; y=2; 235 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1961245:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 7737 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 1596 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 627 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 3549 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 1636 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=2; 68 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 35550 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 7566 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 2939 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 3176 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 8479 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 106716:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=2; 125 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 278749:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 2199081:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 40880 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 18832 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 113546:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 199565:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=2; 1176 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 35 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 1921643:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 2461072:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 55 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 84 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 4099 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=2; 220457:>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; 355680:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 5829154:>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: 98861087, Negative: 1138913 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is NOT validated Hash=acc53aa3214359ca3ffcdf493691b03f Time X045+X046 156.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X047.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047 "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MOV [g],$1 ; MOV EAX,[x] | MOV [y],$1 | MOV EAX,[c] | MOV [a],$1 ; | | MOV [z],$1 | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: movl (%r10),%edx Test X046+X047 Required Histogram (189 states) 867636:>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; 221710:>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; 11724 :>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; 52618 :>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; 18045 :>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; 743 :>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; 726 :>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; 669 :>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; 26222 :>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; 411083:>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; 1126 :>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; 206251:>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; 55 :>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; 272 :>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; 10 :>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; 254 :>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; 221563:>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; 5710 :>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; 19763 :>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; 8927 :>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; 2359658:>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; 12040 :>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; 362402:>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; 13225 :>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; 50 :>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; 281 :>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; 40 :>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; 1305 :>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; 34 :>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; 619 :>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; 37 :>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; 2090 :>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; 8630748:>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; 1339757:>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; 399975:>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; 198367:>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; 61253 :>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; 492 :>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; 5550 :>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; 457 :>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; 186212:>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; 2365999:>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; 13168 :>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; 318113:>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; 26 :>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; 135 :>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; 7 :>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; 76 :>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; 221947:>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; 631 :>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; 21714 :>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; 3138 :>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; 2941651:>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; 1080 :>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; 349122:>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; 5842 :>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; 3 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=1; z=1; 94 :>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; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 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=1; e=2; f=2; g=2; y=1; z=1; 104 :>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; 7481 :>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; 4687 :>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; 21692 :>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; 48690 :>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; 280 :>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; 49 :>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; 1471 :>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; 918 :>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; 1292 :>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; 50998 :>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; 3535 :>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; 3272117:>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; 23 :>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; 242 :>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; 61 :>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; 33106 :>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; 12681 :>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; 1222 :>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; 56711 :>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; 42865 :>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; 195961:>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; 2310 :>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; 1824535:>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; 115138:>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; 92 :>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; 1549 :>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; 875 :>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; 522055:>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; 103 :>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; 3222 :>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; 2539 :>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; 1442867:>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; 561943:>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; 128768:>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; 3125962:>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; 1090854:>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; 5573 :>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; 174 :>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; 37194 :>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; 4648 :>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; 36273 :>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; 453813:>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; 253859:>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; 12189795:>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; 18 :>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; 70 :>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; 423 :>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; 37096 :>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; 26754 :>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; 473 :>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; 197095:>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; 54419 :>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; 370435:>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; 1111 :>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; 4007179:>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; 156137:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; f=2; g=2; y=2; z=1; 9 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 128 :>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; 1793 :>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; 485082:>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; 13 :>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; 324 :>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; 3973 :>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; 1636055:>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; 4861885:>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; 1621166:>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; 2027 :>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; 19294 :>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; 93103 :>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; 14649 :>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; 250 :>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; 624 :>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; 307318:>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; 5910263:>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; 757 :>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; 404580:>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; 3437 :>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; 34320 :>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; 73 :>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; 2894 :>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; 1930456:>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; 334633:>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; 15871 :>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; 21728 :>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; 14493044:>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; 817592:>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; 714283:>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; 63874 :>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; 55911 :>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; 580564:>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; 383 :>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; 48912 :>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; 117647:>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; 1396592:>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; 868 :>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; 106751:>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; 200 :>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; 150 :>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; 458 :>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; 2650 :>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; 36 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=1; f=1; g=1; y=2; z=2; 87 :>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; 295 :>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; 341 :>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; 50453 :>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; 910 :>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; 3421245:>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; 30 :>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; 819 :>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; 58 :>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; 47632 :>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; 4733 :>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; 1220 :>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; 14733 :>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; 19059 :>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; 261088:>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; 4373 :>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; 2223813:>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; 145491:>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; 769 :>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; 14930 :>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; 1381 :>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; 1193699:>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; 2455 :>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; 40769 :>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; 7663 :>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; 4131347:>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: 96743013, Negative: 3256987 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 172.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X048.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048 "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | MOV [a],$1 ; MOV [c],$1 | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047+X048 Required Histogram (63 states) 4058761:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 5107507:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 71508 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 3761 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 50610 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 23149 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 3386 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 32 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 2735316:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 7543 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 6120387:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5020 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 288753:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 212 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 8948412:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 680 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1427983:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 14771534:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 17814 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 5608 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 171433:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 4328841:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 15062 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 3474 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 613171:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 4672 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 905650:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 2503 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 266291:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 670 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4890739:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2083 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3058801:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 7580363:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 35607 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 4194 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 1692218:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 2377555:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 47059 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 4517 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1588401:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 7299 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2713419:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 2560 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1966352:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 8874 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 13384037:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 7125 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 3145 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 3742385:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 7 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 46 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 102626:>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 5078997:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 8080 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 1881 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 22 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 3 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 22 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=2; 86655 :>0:EAX=0; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 266 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1644192:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 727 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; No Witnesses Positive: 81889430, Negative: 18110570 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 130.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X049.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049 "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [b],$1 ; MOV EBX,[b] | MOV [c],$1 | MOV EAX,[c] ; MOV [y],$1 | MOV EBX,[a] | ; MOV EAX,[x] | MOV EAX,[y] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl (%r9),%edx _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%r10),%edx _litmus_P1_3_: movl (%rdi),%eax Test X048+X049 Required Histogram (32 states) 104758:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 204486:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2089975:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 17645386:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 7395 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 1744 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 106572:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 117136:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 89921 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 19927 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 592979:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 1806682:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 23398287:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 54533 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 11272635:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 587477:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 125109:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 16569556:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 332 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 15326351:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 6684 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 33353 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 9490 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 214807:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 232733:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 27 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 1874 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 9316538:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 60991 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 110 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2144 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; No Witnesses Positive: 96455203, Negative: 3544797 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 90.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X050.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050 "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV EBX,[c] | MOV [x],$1 | MOV [y],$1 | ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r9),%edx _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X049+X050 Required Histogram (125 states) 21874 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 5313 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 658571:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1658917:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 11104 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1089 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1606304:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2471888:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3214 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 137 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 70666 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 22849 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 31696 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 77 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1962336:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 96212 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 44583 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1813 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 504536:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 174024:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 9850 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 207 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 135040:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 48798 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1878665:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1789 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 878048:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 57566 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4839937:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1913 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3349377:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 58873 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 6277 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 368754:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 67362 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 6459595:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1325 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 762 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 83955 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 287563:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 482 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 173 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 130 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2875 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 130 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 542212:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5831093:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1526158:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9409285:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2602 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1180 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 31967 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 28692 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7606997:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 73198 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1841639:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 280577:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 629185:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1115 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 308239:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 14479 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 90241 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 169254:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 12109 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 168125:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3560104:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2915075:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2268889:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 7231095:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 12190 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2960 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 347 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 257 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5858734:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 133281:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2262368:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 173144:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 43460 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 5464 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1303 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1396 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 38300 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 6278 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 4650 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3885 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 909624:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 4886 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 442 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 205 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 6336154:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 12232 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 16241 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2218 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10384 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2880323:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1172 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2832638:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 5508 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 40877 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1146 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 45418 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 18 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 14 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 451 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 198351:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3270075:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1413 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 228174:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2718 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 4651 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 105 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 422 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1753013:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 30003 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 123 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 189 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 428477:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3995 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 68 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 46 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; No Witnesses Positive: 98541987, Negative: 1458013 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 127.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X051.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051 "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [e],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV EBX,[d] | MOV [c],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r8),%edx _litmus_P3_2_: movl $1,(%rdi) _litmus_P3_3_: movl (%r10),%eax _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X050+X051 Required Histogram (231 states) 60275 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 13218 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 15626 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 76134 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 59240 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1124 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 82933 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 77203 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 151936:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 4149 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 3396259:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2293470:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 95649 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 258 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 3908600:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1438284:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 5495 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 15344 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 227 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 8339 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 115278:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 85393 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1783991:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2332060:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 52 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 280 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1904 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2002733:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 18595 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 5490 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 6324 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1065233:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1579 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 6358 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2301 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2658948:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 6271 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 49069 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 7155 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1427446:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 517 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 33691 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1886 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 917952:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 103235:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 704 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7039 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 274 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5296230:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 346773:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 45464 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 64046 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 913 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 19101 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 14057 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2721 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 27038 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1049797:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 288501:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1721585:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 2465088:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 7825 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 452 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1468 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4631 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 8586 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 183 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 38967 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 30275 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 319 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 2227 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1317 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 697 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4463 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 15 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 3234 :>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=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 3375864:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 201637:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 5379 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 26898 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 11991068:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1924948:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 651487:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 527518:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 186239:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1517 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 539 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 622 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 181477:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 582 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 3546 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 722 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2042105:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 319616:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 91 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6329 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1678 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 105 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 330044:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 46344 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 3142 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 229 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 821 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 9119 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 228 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 135897:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 200 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 782 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 336 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 82145 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 258 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1445 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 12029 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 2273955:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 51 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 114 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 9814 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 1471192:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 615 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 752592:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 31 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 945783:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 19 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 219 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 3159 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1588275:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 22142 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 12073386:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 3813 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 79 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1606 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 10 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 924 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 12 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 52 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 111 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 11 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 169 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 12 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 595 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 89 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1482 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 922678:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 35 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 103605:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4395 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 2488568:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 158 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 342340:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 995 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 76097 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 30 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 224768:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 24921 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 837449:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 10106 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 4661186:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 29 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 205 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 16 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 7120 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 20 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 189 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 401 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 35064 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 154 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1074869:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1827088:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 138 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 490 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 222 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 156167:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 456773:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 33 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 3885 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 240920:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 56 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 46537 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 49725 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2406742:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1686 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 426960:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 202 :>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; 183 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 6 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 158 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 156 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 5385 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 5665822:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 12 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 530524:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 737 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 163 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 692 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 313234:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 34957 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; No Witnesses Positive: 93324241, Negative: 6675759 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 144.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X052.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052 "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$1 | MOV EAX,[a] ; MOV EAX,[c] | MOV [x],$2 | MOV EBX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl (%rsi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%r10) _litmus_P2_2_: movl (%r9),%edx _litmus_P2_3_: movl (%rdi),%eax Test X051+X052 Required Histogram (128 states) 1011 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 1515 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 1330 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 491699:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 39852 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 20826 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 19570 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 219750:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 346 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 184 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 5 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 11 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 273802:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 7787 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 6039 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 5104 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 4028 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 2299 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 4219 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 422107:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 1006 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 143 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 722 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 1785 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 28672 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1472 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 308 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 384 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 94625 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 812 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 571 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 637 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 20336 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 116026:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 33929 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 9037251:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 659526:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 971392:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 360845:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 3037612:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 646198:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 3020483:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 319 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 4130 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 13750790:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 5628177:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 73244 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 119533:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 24725 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 39321 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 35499 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 2575155:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 1891 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 205 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 1088 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 2403 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 3268422:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1513686:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2546 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 5938 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 4843667:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 90535 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1977 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 3391 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 12156 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 2718 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 131071:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 5096401:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 1595516:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 80654 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 3958446:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2574935:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 1139 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 145 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 36 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 27 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 3176352:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 8715 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 90862 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 8436 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1506413:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 4346 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 5915368:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 6267257:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1622898:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 141 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 4150688:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 33360 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 2144781:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 832 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 84966 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 906 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 9419033:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 414 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 266657:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 2542 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 726 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 233 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 1000 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 70277 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 25162 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 2837 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 20396 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 33667 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 406 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 135 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 5 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 10 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 59359 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 873 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 3111 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 383 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 3743 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 367 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 4277 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 33322 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 331 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 7 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 225 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 80 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 12113 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 366 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 310 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 33 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 24473 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 66 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 592 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 43 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; No Witnesses Positive: 91987806, Negative: 8012194 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 132.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X053.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053 "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV EAX,[d] ; MOV [c],$1 | MOV [x],$2 | MOV [y],$1 | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X052+X053 Required Histogram (127 states) 171316:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 272735:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 170941:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 37517 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 1715 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 32 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 509902:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 479 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 10180 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 771161:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 7557 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 8364 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 64 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 5552 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 28 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 2314915:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 2148389:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 193706:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 50456 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 6523007:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 5915 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 13346799:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 1623 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 336322:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 9729960:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 6059 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 15008 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 4112724:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1079 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1173291:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 90 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 178 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 52 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 3834 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 873 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 18 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 125200:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 82 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 7868 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 112045:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 22775 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 9796 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 100 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 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; 76909 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 78 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 1708 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 395 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 2058 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 667 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=1; 55515 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 5 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 3532821:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 66 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 107400:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1765704:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 6210 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 7517 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1024636:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 266 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 2735324:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 208 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 668009:>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 2446809:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 3016559:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 2581924:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 3342 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 124 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3972608:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3469 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 35735 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 6233060:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 42768 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 166588:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 144 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 11551 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 71 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 3443 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 3430 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 7666 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 2311 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 533 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 31720 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 116 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 613 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 23252 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 56 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 142 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 89 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 341 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 4487 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 5469 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 3204801:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 2893606:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 42 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 8437068:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 7268 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 72325 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 5453082:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 2039237:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 4913472:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 222 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 6 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 2132059:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 4731 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 83 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 21 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 851 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 281 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=2; x=2; 33 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 18995 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 22 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 1008 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 17997 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 750 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 524 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 173 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 7668 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 25 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; No Witnesses Positive: 98951254, Negative: 1048746 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 135.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X054.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054 "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [c],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV [b],$2 | MOV [y],$1 | | ; MOV EAX,[c] | MOV [b],$1 | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $2,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: movl (%rcx),%eax Test X053+X054 Required Histogram (64 states) 1501296:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 228552:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 2004525:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 221297:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 943069:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 163248:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 17070 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 4402 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 1772905:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 8036596:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 1874731:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 4865063:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 832113:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 2242873:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 4387 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 7495 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 4458376:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 11155 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 8367906:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 13920 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 16984776:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 17968 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 6583432:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 516 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1065 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 902 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 2129 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 201 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 3624 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 1038 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 236 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 3 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 2903 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 4471 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 329265:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 96067 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 86712 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 52674 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 76427 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 49161 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 20417 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 5852490:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 1157173:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 12918380:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 114682:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 6374834:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 63170 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 2501295:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 2025 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 29 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=2; 1717108:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 8358 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 2994824:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 1180 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 4402893:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1637 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 13 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 14 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=2; 1707 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 619 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 1420 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 91 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 1021 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; 71 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; No Witnesses Positive: 94144236, Negative: 5855764 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 123.73 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X055.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055 "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$2 | MOV [a],$1 | MOV [d],$2 | MOV [c],$1 ; MOV EAX,[c] | MOV [b],$1 | MOV EAX,[a] | MOV [d],$1 ; MOV [y],$1 | MOV [x],$2 | | ; MOV [x],$1 | MOV EAX,[y] | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r8) _litmus_P0_1_: movl (%rdi),%eax _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rsi) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%rcx) _litmus_P2_1_: movl (%rsi),%eax Test X054+X055 Required Histogram (64 states) 949764:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1680760:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 38697 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 19966 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 136202:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 15398 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 8555 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 16 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 3476323:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7323105:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 8696 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3357 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 9271704:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 5203508:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 1148 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 75 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 4155 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 1617222:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 1261 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 37963 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 86483 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1403798:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 7863 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 19693 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 3004 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 4669074:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 70 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 5491 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 3571046:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 13445547:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 857 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 8012 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 2396977:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 1884337:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=2; 15885843:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 1959239:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 184107:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 3009 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=2; 4298796:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 267 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 3575 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 3426 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=2; 1090 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 272 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 1759 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 140 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=2; 208 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 12 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 24124 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 2656797:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=2; 4366843:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 5445186:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 167625:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 922765:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=2; 5587842:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 1175110:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 32 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 3305 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=2; 23 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 2287 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 1311 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 2655 :>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=2; 151 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 2074 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; No Witnesses Positive: 91740959, Negative: 8259041 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 123.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X056.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056 "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$2 | MOV EAX,[a] ; MOV [c],$1 | MOV [x],$2 | MOV EAX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $2,(%r8) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl $1,(%rcx) Test X055+X056 Required Histogram (124 states) 93446 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 562017:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 28699 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 6624 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 7937 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 15965 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 7159 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1797 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 1748846:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 3928611:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 11689818:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 158717:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 8176 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 17813 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 943760:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 3862 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 39294 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 6431 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 262198:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 2073 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 14420 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 4964 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 251047:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 2077 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 171944:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 24725 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=1; 7765555:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 21650 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 5577 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 1812 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=1; 5673424:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1679 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 304794:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 4537014:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 58012 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 29523 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 14555 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 282177:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 8479 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 8421 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 3065 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 12491 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 1453 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 436 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 117 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 234 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 390 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 61 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 1533225:>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 2582940:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 2866316:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 64055 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 2601473:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 5947492:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 9209356:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 239250:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 7113 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 2759 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=1; 28170 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 1117 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 652 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 230 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=1; 20498 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 380 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 1108 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 700095:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 137 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 3 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 13758 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 382337:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 7803 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 477 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 76322 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 8306795:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 2416317:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 2627 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 45889 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 2768642:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 2496275:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 4263 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 33 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 6 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=2; 7 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=2; 6158 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 2719 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 26907 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 434 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 446 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 215 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=2; x=1; z=2; 3389 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=2; 4321 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 1875 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=1; z=2; 1043338:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1397 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 2263 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 4634868:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 116 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 24 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 27664 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 6967931:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 11921 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 3227 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 77 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 14836 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 46 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 2 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 374 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 17998 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 521 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 25 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 597 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 3018 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=2; 38 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 1 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=2; 704260:>1:EAX=0; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 4465948:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 946353:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 40285 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 2 :>1:EAX=0; 2:EAX=0; 3:EAX=0; b=2; c=2; x=2; z=2; 2 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=2; 857 :>1:EAX=0; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 473 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=2; x=2; z=2; 3476 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 339 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; No Witnesses Positive: 92441612, Negative: 7558388 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 139.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./src/X057.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057 "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$2 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV [d],$1 ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $2,(%rdx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl (%r10),%edx _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%rdi),%eax Test X056+X057 Required Histogram (126 states) 805994:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 24344 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 95 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 4560 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 10689296:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 26045 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 355358:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 59042 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 130993:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 28339 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 28 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 7199 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1873439:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 13108 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 37998 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 27743 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 388952:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 136541:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 310 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 34076 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 3757783:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 155212:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 352767:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 146417:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 3 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 254 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 594 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 2 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=1; y=1; 83 :>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; 400 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 6012545:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 353885:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 249 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 14666 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 19065 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 164 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 149 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 632 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 5394848:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 8158846:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 153 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 669772:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 15835 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 1479 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 124 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 2590 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 2875478:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 4987348:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 1118 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 736941:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 5410 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 6133 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 245 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 3314 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 958 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 3528700:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 779754:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 77 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=1; 1 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 415 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 378 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 1861 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 43 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 11209 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 51033 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 3574 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 4848922:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 1750038:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 1081 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 8298 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 108 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 146315:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 23763 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 3132 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 1054443:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 3800315:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 20673 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 47943 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 859 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 475886:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 527390:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 77765 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 5304776:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 12833332:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 7 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 313 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 1 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 81849 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 77 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 78 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=1; y=2; 592 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 2401836:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 476 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 4283 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 17 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 15931 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 5 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 3 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 8 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 282 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 4167 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 377884:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 87 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 3267851:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 78 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 366 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 141 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 11342 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 25313 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 329948:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 669 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 3353524:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 268 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 2133 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 318 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 23214 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 206 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 335591:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 1 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 6126705:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 1 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=2; x=2; y=2; 38 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=2; x=2; y=2; 1 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; 13386 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; No Witnesses Positive: 99943181, Negative: 56819 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 143.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X000-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000-F "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV [a],$1 | MOV EAX,[x] ; MOV EAX,[y] | MOV [b],$1 ; MOV ECX,[a] | MOV ECX,[b] ; MFENCE | MFENCE ; MOV EBX,[x] | MOV EDX,[a] ; MOV EDX,[b] | MOV EBX,[y] ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P1_2_: movl $1,(%r12) _litmus_P1_3_: movl (%r12),%ecx _litmus_P1_4_: mfence _litmus_P1_5_: movl (%r13),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi Test X000+X000-F Required Histogram (6 states) 61849241:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 20080850:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 70159382:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 508355:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2569116:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 44833056:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is validated Hash=a19341112d54204d1bbe4a1195f7d646 Time X000+X000-F 119.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X001-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001-F "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [y],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [a],$1 | MOV [c],$1 | MOV EAX,[b] ; MOV EAX,[y] | MOV EAX,[x] | MFENCE ; MOV ECX,[a] | MFENCE | MOV EBX,[c] ; MFENCE | MOV EBX,[y] | ; MOV EBX,[x] | MOV ECX,[c] | ; MOV EDX,[b] | MOV EDX,[a] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl (%r11),%eax _litmus_P0_3_: movl (%r13),%ecx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r12) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r11),%edx _litmus_P1_5_: movl (%r12),%ecx _litmus_P1_6_: movl (%r13),%esi Test X000+X001-F Required Histogram (17 states) 5025377:>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; 45797 :>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; 245224:>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; 5782331:>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; 82 :>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; 13082728:>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; 18574617:>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; 1384765:>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; 24888983:>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; 4578 :>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; 72904 :>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; 43550 :>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; 1641817:>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; 12349330:>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; 5600656:>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; 1333163:>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; 9924098:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=d8834f44395c3fd85433c620e8547f24 Time X000+X001-F 104.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X002-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002-F "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV ECX,[c] | MOV [x],$1 | MOV [d],$1 ; MOV [z],$1 | MOV EAX,[x] | MOV EAX,[y] ; MFENCE | MOV [b],$1 | MFENCE ; MOV EDX,[d] | MOV ECX,[b] | MOV EBX,[z] ; MOV EAX,[z] | MFENCE | MOV ECX,[d] ; MOV EBX,[x] | MOV EDX,[c] | MOV EDX,[a] ; | MOV EBX,[y] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r13),%ecx _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r12),%esi _litmus_P0_5_: movl (%r11),%eax _litmus_P0_6_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: movl (%rbx),%eax _litmus_P1_3_: movl $1,(%r13) _litmus_P1_4_: movl (%r13),%ecx _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx Test X001+X002-F Required Histogram (23 states) 2358888:>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; 4324904:>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; 12914774:>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; 2489202:>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; 11161 :>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; 2977201:>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; 321873:>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; 3967313:>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; 8877741:>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; 782 :>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; 91175 :>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; 5032683:>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; 4983040:>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; 8634127:>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; 93878 :>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; 1924728:>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; 1790628:>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; 6370638:>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; 299970:>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; 18411601:>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; 5239950:>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; 1103568:>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; 7780175:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=710a2e4a46ac96c0de70d74bc6392c08 Time X001+X002-F 123.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X003-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-F "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV EAX,[y] | MOV [c],$1 ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] ; MOV EAX,[x] | MFENCE | MFENCE ; MFENCE | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,(%r14) _litmus_P0_2_: movl $1,(%rbx) _litmus_P0_3_: movl (%rbx),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r11),%edx _litmus_P0_6_: movl (%r13),%ecx _litmus_P0_7_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rbx),%ecx _litmus_P1_5_: movl (%r9),%edx Test X002+X003-F Required Histogram (24 states) 3328348:>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; 3204038:>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; 15250922:>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; 2927453:>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; 761 :>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; 4723796:>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; 737405:>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; 4634561:>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; 8606201:>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; 41 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 23489 :>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; 3471733:>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; 3810880:>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; 11582956:>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; 58902 :>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; 2107055:>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; 1988754:>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; 4251379:>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; 7419 :>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; 1295145:>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; 14619749:>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; 1958348:>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; 2953073:>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; 8457592:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=7cc2a4267e02cfaceed569b68484fcb7 Time X002+X003-F 122.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X004-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004-F "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 | MOV EAX,[c] ; MFENCE | MFENCE | MOV ECX,[d] | MFENCE ; MOV EBX,[c] | MOV ECX,[b] | MFENCE | MOV EBX,[d] ; MOV EAX,[x] | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X003+X004-F Required Histogram (59 states) 224504:>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; 277593:>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; 953527:>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; 3063 :>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; 346581:>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; 143 :>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; 2501373:>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; 462482:>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; 800287:>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; 1484613:>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; 75 :>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; 44 :>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; 374024:>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; 254756:>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; 8621662:>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; 1631 :>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; 988588:>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; 1786159:>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; 945073:>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; 907552:>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; 4541059:>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; 2389076:>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; 217397:>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; 3950019:>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; 7867880:>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; 58938 :>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; 3143372:>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; 795779:>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; 931083:>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; 2659697:>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; 10099479:>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; 1607 :>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; 35267 :>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; 5304395:>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; 392861:>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; 2119324:>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; 1337201:>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; 61239 :>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; 2234562:>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; 162147:>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; 3987217:>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; 6 :>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; 29 :>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; 15 :>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; 64467 :>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; 99 :>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; 669471:>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; 1792788:>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; 5209288:>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; 224715:>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; 2147968:>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; 764022:>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; 1530021:>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; 3403 :>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; 436616:>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; 6859212:>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; 3293136:>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; 432015:>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; 3349400:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is validated Hash=a7466e6d5dcf4c884dd4c43f9ffc8d5f Time X003+X004-F 140.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X005-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005-F "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MFENCE | MFENCE | MOV [e],$1 | MOV ECX,[d] ; MOV EBX,[d] | MOV EAX,[y] | MOV ECX,[e] | MFENCE ; MOV EAX,[x] | MOV [c],$1 | MFENCE | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: movl (%r12),%ecx _litmus_P3_3_: mfence _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X004+X005-F Required Histogram (76 states) 1009272:>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; 2595707:>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; 94754 :>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; 2767166:>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; 411233:>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; 7314946:>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; 379144:>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; 2364 :>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; 1047881:>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; 186143:>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; 1596924:>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; 1429785:>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; 505524:>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; 3396774:>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; 1478705:>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; 100464:>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; 1484442:>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; 2152818:>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; 56186 :>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; 1231724:>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; 327672:>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; 2769849:>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; 18 :>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; 2288 :>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; 11450 :>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; 56 :>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; 507491:>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; 4454752:>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; 3105925:>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; 1098299:>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; 7905380:>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; 2694787:>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; 107972:>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; 1375660:>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; 2754115:>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; 167603:>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; 983047:>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; 33718 :>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; 1567973:>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; 2266656:>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; 121 :>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; 777320:>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; 807408:>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; 2544651:>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; 640 :>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; 1094937:>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; 3740278:>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; 1523219:>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; 156053:>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; 3093390:>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; 133920:>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; 4698333:>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; 1365621:>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; 232 :>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; 232843:>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; 2429292:>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; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 23752 :>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; 792156:>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; 427682:>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; 166620:>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; 569963:>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; 1561149:>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; 670224:>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; 150017:>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; 845169:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; 11 :>0:EAX=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; 37105 :>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; 1213074:>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; 1051145:>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; 617040:>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; 1805799:>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; 962664:>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; 4467781:>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; 2178 :>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; 661530:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is validated Hash=5b5ad7da7652d83fd4fa0f8b6a13b2dc Time X004+X005-F 154.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X006-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-F "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MOV [x],$1 | MFENCE | MOV EAX,[y] | MFENCE ; MOV EAX,[b] | MOV EAX,[y] | MFENCE | MOV EBX,[a] ; MFENCE | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%rbx),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%esi Test X005+X006-F Required Histogram (86 states) 4061 :>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; 1803832:>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; 29 :>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; 2800 :>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; 2555454:>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; 5 :>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; 170 :>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; 102293:>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; 472 :>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; 1576112:>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; 1612 :>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; 648511:>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; 217603:>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; 6961 :>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; 6017125:>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; 7 :>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; 3605 :>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; 5407238:>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; 33 :>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; 42 :>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; 212251:>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; 57 :>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; 117731:>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; 251 :>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; 119980:>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; 19556 :>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; 2024 :>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; 2288839:>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; 1196 :>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; 3520196:>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; 2990 :>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; 978801:>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; 221523:>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; 1272 :>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; 1875438:>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; 1531706:>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; 738527:>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; 223008:>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; 1310861:>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; 980393:>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; 9076480:>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; 39 :>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; 5005244:>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; 702796:>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; 2295 :>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; 65135 :>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; 1667169:>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; 3 :>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; 2128734:>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; 2386949:>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; 5196408:>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; 32 :>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; 339635:>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; 63 :>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; 574443:>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; 247953:>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; 138 :>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; 3019125:>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; 2441 :>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; 23 :>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; 768570:>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; 69 :>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; 6537 :>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; 1439303:>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; 370 :>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; 1596045:>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; 704700:>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; 387 :>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; 7654285:>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; 2424407:>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; 33 :>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; 1646753:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 146226:>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; 76 :>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; 1719 :>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; 1022863:>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; 258 :>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; 1055224:>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; 351 :>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; 5285100:>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; 1438 :>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; 10024 :>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; 11468162:>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; 244 :>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; 1857184:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is validated Hash=5dffe0b533fe15ab584c9720d6a89c81 Time X005+X006-F 144.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X007-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007-F "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[c] ; MOV [c],$1 | MFENCE | MOV ECX,[d] | MFENCE ; MOV [x],$1 | MOV ECX,[b] | MFENCE | MOV EBX,[d] ; | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $2,(%r8) _litmus_P3_1_: movl (%r8),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X006+X007-F Required Histogram (129 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; 1060 :>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; 9 :>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; 431 :>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; 53 :>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; 94 :>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; 1828 :>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; 151869:>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; 464179:>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; 225220:>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; 28 :>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; 2357 :>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; 191217:>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; 14362 :>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; 716944:>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; 3837 :>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; 1140469:>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; 94 :>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; 72966 :>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; 232087:>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; 21956 :>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; 8261743:>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; 85348 :>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; 721290:>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; 1349564:>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; 1213730:>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; 4901974:>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; 996514:>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; 29 :>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; 1161 :>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; 4351 :>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; 1157 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; 1 :>1:EAX=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; 86 :>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; 898 :>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; 147 :>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; 1463 :>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; 36 :>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; 2460 :>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; 214 :>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; 324 :>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; 7 :>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; 10773 :>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; 240 :>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; 1544 :>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; 320 :>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; 574 :>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; 2686 :>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; 583 :>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; 28944 :>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; 2651559:>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; 4680336:>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; 2278442:>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; 687 :>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; 40023 :>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; 492203:>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; 85354 :>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; 2070345:>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; 13316 :>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; 3392884:>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; 54 :>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; 170415:>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; 338958:>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; 113 :>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; 4287807:>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; 63968 :>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; 1719504:>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; 13318 :>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; 148882:>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; 1116796:>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; 561693:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 2 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=2; x=1; 17123 :>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; 783873:>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; 9695 :>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; 28 :>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; 471526:>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; 110161:>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; 171085:>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; 186 :>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; 5565 :>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; 215091:>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; 1076838:>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; 199656:>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; 183 :>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; 4679 :>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; 219810:>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; 12558 :>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; 260297:>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; 4325 :>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; 508783:>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; 10 :>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; 81724 :>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; 71619 :>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; 11718 :>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; 3600793:>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; 131141:>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; 379618:>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; 486003:>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; 367295:>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; 2106333:>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; 177585:>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; 90 :>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; 1231 :>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; 759 :>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; 490288:>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; 2941975:>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; 460 :>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; 1945270:>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; 5131083:>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; 4715 :>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; 3799 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; 1 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; 401 :>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; 2939 :>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; 4242650:>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; 1746669:>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; 2014 :>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; 6754 :>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; 391507:>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; 847423:>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; 3314400:>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; 3657048:>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; 2173236:>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; 7412946:>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; 688 :>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; 1686144:>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; 7554324:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=752abbfab6cc15c4377d1ef103935604 Time X006+X007-F 144.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X008-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008-F "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MFENCE ; MFENCE | MOV [c],$1 | MOV ECX,[e] | MOV ECX,[d] ; MOV EAX,[x] | | MFENCE | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: movl $2,(%r12) _litmus_P3_1_: movl $1,(%r11) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,(%r12) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X007+X008-F Required Histogram (129 states) 170171:>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; 2210 :>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; 1476 :>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; 1239 :>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; 293081:>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; 100186:>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; 947383:>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; 2166503:>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; 871 :>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; 11368 :>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; 387558:>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; 4339447:>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; 324368:>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; 95998 :>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; 744 :>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; 5753 :>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; 256266:>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; 843552:>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; 544954:>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; 2977940:>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; 602736:>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; 617046:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=1; 26 :>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; 132190:>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; 7 :>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; 504 :>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; 113477:>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; 676474:>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; 42738 :>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; 855906:>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; 225337:>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; 2088007:>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; 186 :>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; 62 :>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; 186556:>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; 109328:>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; 1969587:>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; 283636:>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; 1609059:>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; 18899 :>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; 67 :>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; 5886 :>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; 714955:>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; 114 :>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; 64 :>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; 412424:>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; 7412 :>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; 1646181:>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; 403 :>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; 919 :>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; 16196 :>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; 758579:>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; 14294 :>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; 273 :>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; 487718:>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; 1396 :>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; 159520:>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; 1583056:>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; 1153835:>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; 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=1; c=2; d=1; y=1; 281756:>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; 631 :>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; 692875:>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; 941908:>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; 148232:>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; 89 :>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; 335758:>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; 1751 :>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; 582241:>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; 538467:>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; 2599 :>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; 10195 :>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; 2715 :>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; 1305602:>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; 79601 :>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; 5301349:>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; 4559935:>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; 3266777:>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; 215140:>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; 473 :>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; 686 :>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; 1199906:>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; 1537836:>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; 2337 :>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; 2248 :>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; 3342851:>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; 1236951:>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; 166 :>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; 15 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=2; y=1; 723584:>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; 1019 :>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; 1970 :>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; 769733:>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; 1324 :>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; 37347 :>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; 329745:>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; 699679:>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; 248557:>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; 3022225:>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; 157194:>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; 1325751:>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; 3 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=1; d=1; y=2; 5668 :>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; 12880 :>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; 431498:>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; 7 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 4217 :>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; 635 :>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; 47 :>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; 115213:>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; 1002919:>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; 7514718:>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; 1277117:>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; 855907:>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; 2015002:>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; 530068:>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; 2175901:>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; 527092:>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; 2447440:>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; 2990058:>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; 1512905:>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; 630854:>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; 991575:>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; 2014318:>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; 2535412:>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; 1279444:>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; 3192478:>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; 3061231:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is validated Hash=61d602676d239b5816171936f5c965c5 Time X007+X008-F 159.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X009-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009-F "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [x],$1 | MOV [d],$1 | MFENCE | MFENCE ; MOV EAX,[c] | MOV [b],$1 | MOV EBX,[z] | MOV EBX,[a] ; MFENCE | MOV EAX,[b] | | ; MOV EBX,[d] | MFENCE | | ; | MOV EBX,[c] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl $1,(%r11) _litmus_P1_4_: movl (%r11),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r10),%edx _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl (%r8),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%edx Test X008+X009-F Required Histogram (54 states) 209 :>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; 8 :>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; 3130187:>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; 83164 :>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; 3639184:>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; 5564 :>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; 255 :>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; 7425 :>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; 2802741:>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; 352101:>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; 8053592:>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; 718 :>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; 1346 :>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; 1014543:>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; 304798:>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; 5659750:>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; 834 :>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; 122 :>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; 3795 :>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; 9870 :>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; 57437 :>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; 392136:>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; 1079938:>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; 254313:>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; 2886 :>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; 1551 :>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; 6172946:>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; 1364270:>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; 146 :>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; 219 :>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; 11548170:>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; 1657402:>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; 14618 :>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; 1124 :>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; 12121908:>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; 260239:>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; 1233536:>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; 5 :>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; 18068 :>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; 10665818:>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; 19988 :>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; 4199498:>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; 3088367:>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; 3727 :>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; 1582827:>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; 4932711:>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; 68201 :>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; 5495784:>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; 350574:>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; 538227:>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; 360576:>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; 490734:>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; 4755148:>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; 2196702:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is validated Hash=0ff32b697bdcb52be85e40364e0dff10 Time X008+X009-F 139.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X010-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010-F "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [z],$1 | MOV [a],$1 | MOV EAX,[d] ; MOV [x],$1 | MFENCE | MFENCE ; MOV EAX,[x] | MOV ECX,[b] | MOV EBX,[a] ; MOV [c],$1 | MOV EAX,[y] | ; MOV ECX,[c] | MOV EBX,[z] | ; MFENCE | | ; MOV EDX,[d] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r15) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r12),%eax _litmus_P0_4_: movl $1,(%r14) _litmus_P0_5_: movl (%r14),%ecx _litmus_P0_6_: mfence _litmus_P0_7_: movl (%r13),%esi _litmus_P0_8_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%rbx) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X009+X010-F Required Histogram (17 states) 5416554:>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; 262873:>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; 47990 :>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; 6266513:>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; 246441:>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; 8483969:>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; 23325661:>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; 1777346:>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; 25565889:>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; 76099 :>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; 678746:>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; 9735 :>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; 86050 :>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; 9109544:>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; 10302690:>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; 67341 :>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; 8276559:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=db4ebb4443db4f4848dbbd010a173a17 Time X009+X010-F 114.79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X011-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011-F "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [b],$1 | MOV [e],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV [c],$1 | MFENCE ; MFENCE | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[x] | MFENCE | MOV ECX,[e] ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%rbx),%ecx _litmus_P2_6_: movl (%r12),%esi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rdi),%edx Test X010+X011-F Required Histogram (24 states) 3633226:>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; 12504115:>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; 3403935:>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; 20 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; 4297343:>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; 580055:>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; 40 :>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; 28613 :>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; 2068675:>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; 2071448:>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; 2751481:>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; 931 :>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; 243467:>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; 15113468:>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; 2023879:>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; 3665389:>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; 6640833:>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; 5536715:>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; 4245374:>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; 11279703:>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; 5222703:>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; 11153741:>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; 109222:>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; 3425624:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=66a4c4040090a251694090ab4b8d8174 Time X010+X011-F 129.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X012-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012-F "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[z] ; MOV EAX,[b] | MOV [c],$1 | MFENCE ; MOV [x],$1 | MFENCE | MOV EBX,[a] ; MFENCE | MOV ECX,[b] | ; MOV EBX,[c] | MOV EAX,[y] | ; | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X011+X012-F Required Histogram (17 states) 5649491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 12649990:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 64 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 26412 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 14532216:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 12836603:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1371374:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1084 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3155568:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 25843 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6164772:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6507476:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 3169747:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1437634:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1568261:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 28618336:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 2285129:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=6003be6c0e70227e631f2f4a931d567d Time X011+X012-F 110.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X013-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013-F "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MFENCE | MOV EAX,[x] | MOV EAX,[d] | MFENCE ; MOV EAX,[x] | MFENCE | MFENCE | MOV EAX,[d] ; MOV [b],$1 | MOV EBX,[y] | MOV EBX,[a] | ; MOV EBX,[b] | MOV [a],$1 | | ; MFENCE | MFENCE | | ; MOV ECX,[c] | MOV ECX,[b] | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r10),%eax _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%rbx),%edx _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r11),%ecx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,(%rbx) _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r11),%ecx _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx Test X012+X013-F Required Histogram (45 states) 2845933:>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; 917 :>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; 380299:>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; 6 :>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; 153872:>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; 544486:>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; 80 :>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; 10157819:>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; 3851002:>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; 73776 :>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; 10009075:>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; 2 :>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; 4584 :>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; 574 :>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; 415715:>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; 98173 :>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; 356666:>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; 894976:>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; 443985:>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; 1772976:>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; 3245461:>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; 54046 :>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; 10254529:>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; 54 :>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; 9487 :>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; 2131 :>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; 648168:>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; 45074 :>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; 496817:>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; 9462592:>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; 1165217:>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; 14192189:>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; 8151762:>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; 757605:>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; 13651354:>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; 44 :>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; 40904 :>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; 252 :>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; 204935:>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; 515786:>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; 333585:>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; 1963915:>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; 1934553:>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; 278679:>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; 585945:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=114370a943de07eecdb2cba36e449003 Time X012+X013-F 128.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X014-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014-F "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV EAX,[x] | MFENCE | MOV EAX,[z] ; MFENCE | MOV [b],$1 | MOV EAX,[z] | MFENCE ; MOV EAX,[x] | MOV [c],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EBX,[c] | MFENCE | MOV EBX,[e] | MOV [d],$1 ; MOV ECX,[d] | MOV EBX,[y] | MFENCE | MFENCE ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $2,(%r11) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,(%r9) _litmus_P1_4_: mfence _litmus_P1_5_: movl (%rdi),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%rbx),%ecx Test X013+X014-F Required Histogram (188 states) 36 :>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; 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=0; 3:ECX=0; c=1; 20 :>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; 436 :>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; 14017 :>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; 464118:>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; 1139431:>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; 157451:>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; 236 :>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; 42 :>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; 22 :>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; 903 :>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; 343 :>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; 31 :>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; 3321 :>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; 769083:>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; 178432:>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; 60140 :>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; 415 :>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; 2359 :>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; 35 :>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; 56493 :>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; 4829441:>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; 2048702:>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; 482371:>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; 225 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=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; 9 :>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; 184 :>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; 14 :>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; 364102:>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; 47 :>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; 742 :>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; 3947 :>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; 303597:>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; 3097 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 36 :>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; 53 :>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; 3 :>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; 2 :>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; 8 :>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; 216 :>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; 1430 :>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; 113 :>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; 7 :>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; 820 :>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; 117 :>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; 65 :>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; 12587 :>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; 517012:>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; 1809833:>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; 138334:>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; 21109 :>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; 545883:>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; 179680:>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; 31757 :>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; 3898 :>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; 46160 :>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; 4400274:>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; 121148:>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; 55931 :>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; 821709:>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; 1142672:>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; 82965 :>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; 756 :>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; 670 :>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; 59 :>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; 6901 :>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; 794164:>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; 271674:>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; 117673:>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; 2 :>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; 222 :>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; 1360 :>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; 65 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 14144 :>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; 881224:>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; 587597:>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; 182260:>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; 416 :>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; 11 :>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; 1 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 30 :>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; 42224 :>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; 1267 :>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; 1758 :>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; 69 :>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; 8 :>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; 5 :>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; 141 :>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; 9 :>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; 1 :>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; 2 :>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; 1627 :>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; 836 :>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; 148 :>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; 949 :>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; 346228:>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; 20062 :>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; 17039 :>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; 9840 :>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; 1108907:>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; 6136784:>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; 751905:>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; 57916 :>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; 2369309:>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; 522723:>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; 146397:>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; 20 :>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; 5425 :>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; 1893322:>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; 9642 :>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; 11441 :>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; 79909 :>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; 309146:>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; 19159 :>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; 3057 :>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; 315364:>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; 256304:>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; 14792 :>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; 20 :>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; 938 :>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; 68728 :>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; 1998659:>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; 3952067:>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; 331993:>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; 22408 :>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; 1218352:>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; 5923 :>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; 7257 :>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; 9537 :>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; 529425:>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; 615644:>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; 60407 :>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; 1082 :>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; 45857 :>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; 202 :>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; 28 :>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; 18511 :>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; 384464:>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; 5083042:>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; 305577:>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; 50646 :>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; 880214:>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; 67163 :>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; 13359 :>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; 39 :>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; 376407:>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; 159 :>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; 1337 :>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; 1984 :>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; 6789942:>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; 227 :>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; 7335355:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=2; 0:ECX=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; 376 :>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; 266 :>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; 376 :>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; 1041 :>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; 1572596:>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; 2930306:>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; 30684 :>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; 380956:>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; 985 :>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; 1880127:>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; 132 :>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; 1095812:>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; 121 :>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; 215733:>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; 1429 :>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; 1953327:>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; 1885 :>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; 1008493:>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; 2285 :>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; 2398339:>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; 823881:>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; 834295:>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; 1135 :>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; 4736 :>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; 2723283:>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; 628933:>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; 4635762:>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; 3391910:>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; 2803531:>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; 1295481:>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; 399664:>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; 674436:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is validated Hash=edc75d5c9e80bb9964090a1071325063 Time X013+X014-F 157.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X015-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015-F "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$1 | MOV EAX,[z] ; MOV [x],$1 | MFENCE | MOV EBX,[e] | MFENCE ; MFENCE | MOV EAX,[x] | MFENCE | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | MOV ECX,[b] | ; | MOV ECX,[c] | MOV EAX,[z] | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl (%r11),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%rbx),%ecx _litmus_P2_5_: movl (%r9),%eax Test X014+X015-F Required Histogram (72 states) 1702499:>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; 340860:>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; 365258:>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; 1711759:>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; 938853:>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; 850040:>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; 113729:>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; 857542:>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; 1203 :>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; 3197 :>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; 944613:>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; 7251947:>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; 8288 :>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; 7620969:>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; 432071:>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; 30841 :>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; 215674:>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; 28144 :>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; 177879:>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; 1243104:>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; 88775 :>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; 2222814:>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; 1126729:>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; 1368042:>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; 1304309:>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; 52960 :>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; 197191:>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; 155113:>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; 38584 :>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; 804893:>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; 784 :>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; 2216220:>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; 30639 :>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; 4169 :>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; 4818 :>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; 2153 :>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; 9178 :>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; 251642:>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; 1538 :>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; 467520:>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; 3241328:>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; 5840916:>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; 23719 :>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; 2156332:>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; 1306399:>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; 32011 :>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; 564658:>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; 62227 :>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; 359694:>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; 811240:>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; 163627:>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; 1361096:>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; 699168:>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; 320348:>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; 5440074:>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; 8 :>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; 881309:>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; 16442 :>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; 1894559:>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; 2003869:>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; 537687:>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; 8919494:>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; 2898954:>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; 3750958:>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; 48268 :>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; 1135 :>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; 717297:>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; 544336:>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; 3702126:>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; 9232 :>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; 14326550:>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; 2178398:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is validated Hash=7b4c08b6e27baeb407057a459e31cacd Time X014+X015-F 148.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X016-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016-F "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [x],$1 | MFENCE | MOV EAX,[z] ; MFENCE | MOV EAX,[z] | MFENCE ; MOV ECX,[c] | MOV EBX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl (%r11),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,(%r12) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%r11),%ecx _litmus_P0_5_: movl (%r10),%eax _litmus_P0_6_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl (%r10),%edx Test X015+X016-F Required Histogram (23 states) 1937759:>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; 2156711:>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; 18434449:>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; 4062830:>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; 81036 :>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; 2687513:>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; 890046:>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; 5493957:>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; 5468698:>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; 97062 :>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; 10498 :>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; 5505279:>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; 4208859:>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; 9253892:>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; 50 :>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; 265474:>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; 2533577:>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; 8798496:>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; 2015781:>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; 12187551:>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; 5125397:>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; 735752:>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; 8049333:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is validated Hash=c96f7f706eca1b2f7e694f21ef338fad Time X015+X016-F 119.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X017-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017-F "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MFENCE ; MFENCE | MFENCE | MOV ECX,[d] | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[b] | MFENCE | ; MOV EAX,[x] | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X016+X017-F Required Histogram (56 states) 289666:>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; 136182:>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; 1163985:>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; 5685 :>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; 476165:>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; 3520 :>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; 2716338:>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; 1246415:>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; 800403:>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; 1464968:>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; 65 :>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; 294218:>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; 263522:>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; 9138831:>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; 109 :>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; 953891:>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; 1633752:>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; 1318648:>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; 698478:>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; 5705247:>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; 2057538:>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; 166307:>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; 2311779:>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; 7209280:>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; 61993 :>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; 3514198:>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; 557200:>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; 1175552:>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; 1369050:>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; 12362918:>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; 1469 :>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; 41715 :>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; 6528835:>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; 874899:>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; 1392363:>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; 2447348:>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; 53489 :>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; 2154364:>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; 163880:>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; 3739790:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 44 :>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; 46514 :>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; 336863:>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; 1764021:>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; 5461208:>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; 161191:>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; 1784498:>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; 701229:>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; 2049231:>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; 2292 :>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; 450125:>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; 5070063:>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; 3055693:>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; 110385:>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; 2512586:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is validated Hash=3ff52202ee51c81415a9192864e43bc0 Time X016+X017-F 136.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X018-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018-F "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MFENCE | MOV EAX,[z] ; MFENCE | MFENCE | MOV EAX,[z] | MFENCE ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EBX,[e] | MOV [d],$1 ; | | MFENCE | MFENCE ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%rbx),%ecx Test X017+X018-F Required Histogram (126 states) 74 :>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; 122 :>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; 374 :>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; 8 :>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; 752254:>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; 1225957:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 641 :>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; 399 :>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; 4080 :>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; 220989:>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; 2824264:>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; 1641 :>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; 2449 :>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; 1156779:>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; 9285656:>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; 221 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>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; 163 :>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; 37 :>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; 316416:>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; 2076 :>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; 208654:>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; 12459 :>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; 46 :>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; 179 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1224 :>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; 1608 :>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; 63 :>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; 767 :>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; 2120610:>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; 3179775:>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; 253264:>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; 769703:>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; 3404934:>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; 653640:>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; 699085:>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; 708116:>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; 436 :>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; 3278 :>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; 111848:>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; 1937723:>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; 1175 :>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; 955 :>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; 284810:>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; 2119132:>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; 1 :>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; 16 :>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; 2 :>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; 1667 :>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; 338 :>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; 245377:>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; 6 :>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; 674 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 7638 :>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; 546 :>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; 6162 :>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; 3496 :>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; 971489:>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; 4961949:>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; 6206691:>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; 311987:>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; 1353027:>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; 1799047:>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; 142778:>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; 103577:>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; 126741:>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; 209729:>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; 1225453:>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; 319 :>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; 2893661:>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; 7094737:>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; 4305 :>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; 553627:>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; 656751:>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; 2645276:>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; 4 :>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; 38934 :>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; 3888213:>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; 2445633:>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; 10269 :>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; 339199:>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; 16 :>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; 139007:>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; 2 :>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; 181 :>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; 800 :>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; 1008 :>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; 6694908:>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; 2612069:>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; 390 :>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; 256 :>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; 178 :>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; 246 :>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; 1327192:>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; 1835783:>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; 1224 :>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; 23222 :>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; 327 :>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; 842259:>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; 27 :>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; 440662:>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; 197 :>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; 247301:>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; 574 :>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; 1546103:>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; 2134 :>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; 1247910:>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; 478 :>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; 1072422:>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; 156630:>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; 127996:>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; 162 :>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; 1196 :>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; 2772456:>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; 366761:>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; 3213942:>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; 1272595:>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; 2727967:>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; 695997:>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; 48739 :>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; 61262 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is validated Hash=badb246595333e510ff77788794607b7 Time X017+X018-F 153.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X019-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019-F "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | MOV EAX,[z] ; MFENCE | MFENCE | MOV EBX,[c] | MFENCE ; MOV EAX,[c] | MOV EAX,[y] | MFENCE | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV ECX,[d] | ; | | MOV EAX,[z] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%rbx),%edx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r11),%ecx _litmus_P2_5_: movl (%r9),%eax Test X018+X019-F Required Histogram (55 states) 1726497:>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; 5047 :>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; 6713515:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 2 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; 1272 :>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; 2589972:>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; 370589:>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; 1041574:>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; 5203871:>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; 8115 :>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; 9416292:>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; 28331 :>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; 2738536:>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; 129722:>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; 49884 :>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; 170350:>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; 1096405:>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; 7300645:>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; 549726:>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; 3018986:>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; 3114853:>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; 1429817:>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; 1315385:>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; 145812:>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; 732844:>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; 1414582:>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; 7841127:>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; 70 :>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; 4444612:>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; 946690:>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; 27764 :>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; 43276 :>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; 979819:>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; 1 :>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; 1773579:>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; 3407097:>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; 4875480:>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; 62 :>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; 590873:>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; 89275 :>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; 494686:>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; 1633317:>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; 185128:>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; 665899:>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; 13958 :>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; 771852:>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; 3355237:>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; 4719922:>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; 1592758:>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; 27926 :>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; 512993:>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; 7195 :>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; 2747340:>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; 7908270:>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; 31170 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is validated Hash=0a58ed247195cb5eca2fc047e3f42af3 Time X018+X019-F 141.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X020-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020-F "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MFENCE ; MOV [c],$1 | MFENCE | MOV ECX,[d] | MOV EAX,[d] ; MOV [x],$1 | MOV EBX,[b] | MFENCE | ; | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X019+X020-F Required Histogram (56 states) 207690:>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; 919685:>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; 4408 :>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; 728242:>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; 726485:>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; 1158788:>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; 80 :>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; 251285:>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; 8562017:>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; 801519:>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; 4024484:>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; 5759582:>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; 3030940:>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; 8702992:>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; 51723 :>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; 1326802:>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; 1951264:>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; 3192254:>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; 44 :>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; 287289:>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; 4214238:>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; 1658485:>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; 197203:>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; 1505439:>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; 63 :>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; 753200:>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; 1104 :>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; 890407:>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; 104452:>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; 226810:>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; 1772903:>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; 5087 :>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; 692233:>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; 214339:>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; 483334:>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; 11 :>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; 114370:>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; 3399065:>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; 426364:>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; 1389859:>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; 2303341:>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; 310423:>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; 3511859:>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; 1427884:>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; 3124281:>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; 2709756:>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; 1528086:>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; 3881 :>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; 99132 :>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; 1134852:>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; 3251035:>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; 3214968:>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; 1575724:>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; 8847763:>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; 1476344:>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; 5744132:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is validated Hash=e33f564c87154c8406cf13aa3fb74ab2 Time X019+X020-F 141.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X021-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021-F "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [c],$2 | MOV [b],$1 | MFENCE | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV EAX,[z] | MFENCE ; MFENCE | MOV [c],$1 | MOV [e],$1 | MOV EBX,[a] ; MOV EAX,[x] | | MOV EBX,[e] | MOV [d],$2 ; | | MFENCE | MFENCE ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl (%r9),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $2,(%r11) _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r10) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: mfence _litmus_P2_6_: movl (%rbx),%ecx Test X020+X021-F Required Histogram (126 states) 94 :>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; 194 :>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; 681774:>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; 1056104:>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; 17 :>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; 757 :>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; 1009727:>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; 5854867:>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; 4 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=1; 20924 :>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; 4088 :>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; 1 :>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; 84 :>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; 38974 :>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; 104241:>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; 95314 :>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; 1363530:>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; 212410:>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; 1584089:>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; 301 :>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; 97898 :>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; 4542 :>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; 540477:>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; 19802 :>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; 153599:>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; 19054 :>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; 34774 :>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; 35 :>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; 27378 :>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; 661 :>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; 40119 :>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; 35 :>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; 332899:>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; 1652 :>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; 3043540:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 120 :>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; 12340 :>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; 1564427:>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; 987011:>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; 1289131:>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; 1077174:>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; 216590:>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; 2445 :>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; 287491:>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; 36881 :>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; 2 :>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; 7471 :>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; 101 :>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; 2 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=2; y=1; 14 :>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; 27759 :>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; 29123 :>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; 603 :>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; 19 :>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; 394235:>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; 2800 :>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; 2860 :>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; 2738 :>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; 2899279:>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; 452472:>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; 8135 :>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; 46154 :>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; 10421 :>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; 9257 :>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; 99 :>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; 9825 :>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; 2566 :>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; 34894 :>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; 5531369:>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; 6496433:>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; 1865473:>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; 165963:>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; 2699380:>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; 4661898:>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; 3464294:>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; 1500062:>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; 390 :>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; 586 :>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; 10421 :>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; 3864 :>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; 161 :>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; 5674 :>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; 4437 :>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; 886941:>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; 1861 :>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; 3631297:>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; 104030:>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; 422743:>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; 2949005:>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; 8525 :>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; 77965 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; d=1; y=2; 3 :>0:EAX=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; 18 :>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; 5648 :>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; 21 :>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; 6 :>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; 924 :>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; 363 :>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; 9574938:>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; 48 :>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; 486112:>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; 712281:>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; 1628360:>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; 135533:>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; 218192:>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; 15278 :>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; 53114 :>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; 187 :>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; 213 :>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; 4011915:>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; 2814637:>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; 42 :>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; 2614 :>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; 775180:>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; 1059439:>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; 1654671:>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; 1959052:>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; 22849 :>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; 1204 :>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; 4216557:>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; 2871 :>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; 14576 :>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; 5894026:>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; 4487952:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is validated Hash=1fa9eed6011bdc09f3a0bd1310e8c011 Time X020+X021-F 159.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X022-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022-F "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [b],$2 | MOV [c],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[b] | MOV [y],$1 | MOV EAX,[z] | MFENCE ; MOV [x],$1 | MOV [b],$1 | | MOV EBX,[a] ; MFENCE | | | ; MOV EBX,[c] | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: movl (%r9),%eax _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X021+X022-F Required Histogram (44 states) 1894 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 3382 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1256783:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 9240 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 8675 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 5389237:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 8139 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 7627 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5114215:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 3304 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 914 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 780557:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5269397:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 7903489:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 4800549:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 230699:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 435234:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 215897:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 3786933:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 1333897:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 10261943:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1856912:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 12833432:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 552649:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 7 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 332 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1579 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 1186584:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 47 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 20768 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 230384:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 859 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 61859 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1584786:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1156464:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 13098965:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 4625198:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 8606780:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 270428:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 436767:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 456278:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 301116:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 4427470:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 1468331:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is validated Hash=4e24cc82fbfac878138e28a275dec343 Time X021+X022-F 130.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X023-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023-F "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$1 ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[d] | MOV [d],$1 ; MOV [b],$2 | MFENCE | MFENCE | ; MOV EAX,[b] | MOV EBX,[y] | MOV EBX,[a] | ; MFENCE | MOV [a],$1 | | ; MOV EBX,[c] | MOV [b],$1 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $2,(%r10) _litmus_P0_3_: movl (%r10),%eax _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r9),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%edx _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl $1,(%r9) _litmus_P2_0_: movl $2,(%rdi) _litmus_P2_1_: movl (%rdi),%eax _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r8),%edx Test X022+X023-F Required Histogram (97 states) 36 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1294 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 39236 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1369 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 505555:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2575 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 33 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 14683 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 888889:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3654 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 5018944:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 155 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 163 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1068 :>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; 911 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 30 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 90237 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 175 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 103351:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 192 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 31 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 980127:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 230 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 185186:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 650 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 56 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 160159:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 10056515:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 8301 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 228872:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 1819 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 12651 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 20 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 169 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1319863:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 9582240:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 15978 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 43095 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 13 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 704 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 205228:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 68 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 14537 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 754 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2590 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 3060988:>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; 31411 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 567 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 330694:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 226 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1764 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 587671:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1175 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2434698:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 3517086:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 141594:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 312508:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 13853304:>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=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2578 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 194876:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2662 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 4265 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 17 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 12154189:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 1353 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 10387119:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 10360 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 1835 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 91 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 2656053:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 901 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 77407 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 14 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 395 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 8 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 68 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 2329859:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 831 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 12042082:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 31 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 3086390:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1405 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 3278617:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 235 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 168 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is validated Hash=4439cbb244cf8ec7c035adafa998e0cf Time X022+X023-F 133.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X024-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024-F "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$2 | MOV EAX,[z] ; MOV [x],$1 | MFENCE | MOV EAX,[e] | MFENCE ; MOV [e],$1 | MOV EAX,[x] | MFENCE | MOV EBX,[a] ; | MOV [c],$1 | MOV EBX,[b] | ; | MOV ECX,[c] | MOV [z],$1 | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,(%rbx) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r10),%edx _litmus_P2_5_: movl $1,(%rdi) Test X023+X024-F Required Histogram (128 states) 488 :>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; 40 :>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; 97 :>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; 83 :>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; 300 :>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; 2 :>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; 1362219:>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; 944840:>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; 844864:>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; 3434 :>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; 610 :>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; 15 :>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; 10 :>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; 1890 :>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; 1605 :>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; 5361425:>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; 6335586:>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; 3244 :>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; 4407 :>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; 1024573:>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; 1815529:>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; 524 :>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; 963 :>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; 629 :>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; 3 :>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; 2 :>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; 4506 :>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; 3710 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 5 :>1:EAX=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; 11 :>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; 810 :>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; 979 :>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; 39705 :>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; 224288:>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; 178551:>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; 5736 :>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; 1016 :>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; 33 :>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; 1567 :>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; 3939 :>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; 4052680:>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; 2234840:>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; 2392 :>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; 10793 :>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; 667425:>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; 1123298:>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; 1989518:>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; 147148:>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; 558036:>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; 279383:>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; 479097:>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; 426244:>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; 2796 :>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; 93 :>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; 502 :>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; 234 :>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; 431 :>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; 539 :>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; 5302269:>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; 174130:>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; 1195898:>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; 638960:>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; 740272:>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; 514470:>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; 83 :>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; 373 :>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; 5155847:>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; 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; 3752 :>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; 142 :>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; 1265242:>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; 9 :>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; 4620 :>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; 21 :>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; 779 :>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; 1605 :>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; 3221064:>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; 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=1; 8423 :>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; 204 :>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; 983394:>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; 1006164:>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; 955378:>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; 3368344:>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; 3236 :>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; 1133 :>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; 7043 :>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; 4324786:>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; 4428131:>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; 14114522:>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; 1340474:>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; 324163:>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; 317409:>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; 87934 :>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; 659250:>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; 695 :>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; 1620 :>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; 1262549:>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; 1528763:>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; 1352170:>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; 48 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=1; x=1; z=2; 14 :>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; 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=1; z=2; 58 :>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; 69 :>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; 809443:>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; 2766394:>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; 493 :>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; 396 :>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; 211426:>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; 404279:>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; 99265 :>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; 6687 :>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; 24660 :>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; 6179 :>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; 37210 :>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; 15231 :>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; 653230:>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; 3 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; e=1; x=2; z=2; 1616 :>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; 7875515:>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; 610 :>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; 65 :>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; 221054:>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; 1427989:>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; 83996 :>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; 911052:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=2ee42593ffd520c9e5300555541c3319 Time X023+X024-F 154.04 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X025-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025-F "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [x],$1 | MOV [z],$1 | MFENCE ; MOV [c],$1 | MFENCE | MOV EAX,[z] ; MOV EAX,[x] | MOV EAX,[b] | MOV EBX,[a] ; MFENCE | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl $2,(%r12) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r8),%eax _litmus_P0_5_: mfence _litmus_P0_6_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%eax Test X024+X025-F Required Histogram (48 states) 6133 :>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; 2570 :>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; 1456101:>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; 288086:>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; 2132064:>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; 2485059:>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; 19068668:>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; 27579 :>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; 70593 :>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; 8815 :>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; 3345 :>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; 5182 :>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; 2728 :>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; 417211:>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; 280932:>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; 5017 :>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; 1642816:>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; 445 :>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; 389216:>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; 2822691:>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; 1548948:>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; 231637:>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; 1287477:>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; 382 :>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; 2852241:>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; 3161 :>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; 11763 :>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; 5 :>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; 42474 :>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; 5395394:>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; 193460:>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; 57 :>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; 4948249:>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; 3110015:>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; 4894178:>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; 886446:>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; 37352 :>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; 380 :>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; 7044114:>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; 1827576:>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; 7175920:>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; 208019:>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; 144488:>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; 19299 :>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; 6813794:>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; 5277614:>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; 14930301:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is validated Hash=cadd8e4dc6f6e7690179bb9970d4122c Time X024+X025-F 124.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X026-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026-F "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MFENCE | MFENCE | MOV ECX,[d] | ; MOV EBX,[c] | MOV EAX,[b] | MFENCE | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X025+X026-F Required Histogram (119 states) 268 :>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; 94 :>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; 736 :>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; 4 :>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; 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; 612 :>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; 8 :>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; 2090 :>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; 1790 :>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; 187 :>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; 20157 :>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; 63375 :>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; 3501467:>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; 595260:>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; 1181116:>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; 1230590:>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; 11184465:>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; 1668 :>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; 37227 :>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; 32275 :>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; 34752 :>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; 1926 :>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; 77346 :>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; 46 :>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; 397 :>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; 5250023:>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; 821383:>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; 862233:>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; 1872364:>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; 1105 :>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; 1411 :>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; 605 :>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; 10 :>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; 9889 :>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; 7513 :>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; 3301 :>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; 243 :>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; 5261 :>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; 24 :>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; 1422 :>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; 79 :>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; 941 :>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; 5748 :>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; 52807 :>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; 1216525:>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; 47 :>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; 154 :>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; 91049 :>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; 2129422:>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; 49516 :>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; 296434:>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; 153197:>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; 1518938:>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; 1275913:>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; 1573840:>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; 4221 :>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; 833147:>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; 3609 :>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; 19720 :>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; 2424724:>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; 1277585:>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; 17134 :>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; 738629:>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; 4811 :>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; 544809:>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; 270949:>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; 1741846:>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; 7608 :>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; 10115 :>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; 56 :>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; 21851 :>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; 32488 :>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; 89 :>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; 1247187:>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; 18168 :>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; 3229150:>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; 1364522:>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; 1050063:>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; 358 :>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; 1055173:>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; 343251:>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; 45 :>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; 1322407:>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; 1845729:>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; 452233:>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; 886112:>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; 4415078:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 9 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=1; 13403 :>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; 1897654:>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; 141032:>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; 1474910:>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; 3183605:>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; 414 :>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; 1617 :>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; 7637 :>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; 1234 :>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; 3321 :>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; 240 :>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; 47302 :>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; 1490708:>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; 3 :>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; 25 :>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; 1288686:>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; 3092308:>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; 381845:>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; 1341032:>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; 27 :>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; 129596:>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; 1425946:>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; 72 :>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; 476442:>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; 12091165:>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; 2116628:>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; 2450443:>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; 655531:>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; 5935035:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=f15fd3613855f21f22805d0f1f7d8fa9 Time X025+X026-F 142.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X027-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027-F "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MFENCE | MFENCE | MOV [e],$2 | MFENCE ; MOV EBX,[d] | MOV EAX,[y] | MOV EAX,[e] | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MFENCE | MOV [d],$1 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $1,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,(%r9) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r10),%edx Test X026+X027-F Required Histogram (202 states) 2 :>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; 13 :>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; 247 :>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; 45 :>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; 116 :>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; 417 :>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; 2209 :>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; 2044 :>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; 226811:>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; 1576370:>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; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=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; 8 :>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; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1219 :>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; 8 :>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; 1122 :>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; 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=1; 12172 :>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; 716 :>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; 8827 :>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; 531 :>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; 716607:>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=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 2214 :>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; 1311 :>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; 79 :>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; 213 :>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; 3 :>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=1; z=1; 1 :>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; 2126 :>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; 5629 :>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; 5965 :>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; 3626 :>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; 167 :>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; 123 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; e=1; z=1; 65 :>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; 5 :>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; 1389107:>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; 107839:>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; 85764 :>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; 85359 :>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; 1175 :>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; 2887 :>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; 17 :>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; 2488 :>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; 968 :>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; 19 :>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; 185 :>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; 510471:>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; 2143695:>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; 44293 :>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; 2715892:>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; 1648388:>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; 2376 :>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; 234506:>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; 113 :>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; 223 :>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; 212 :>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; 47 :>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; 28 :>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; 365995:>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; 659 :>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; 561 :>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; 2331 :>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; 1088903:>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; 572 :>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; 893660:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=1; 1 :>0:EAX=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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=1; z=1; 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; 8879 :>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; 218 :>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; 345 :>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; 132 :>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; 279 :>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; 691 :>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; 1965 :>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; 479 :>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; 8 :>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; 1926745:>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; 613322:>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; 15362 :>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; 28203 :>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; 892 :>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; 14 :>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; 935154:>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; 1472579:>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; 629 :>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; 7694 :>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; 156810:>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; 2666044:>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; 2824 :>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; 4440 :>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; 799487:>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; 7703417:>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; 589082:>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; 2828 :>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; 376177:>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; 12135 :>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; 1899873:>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; 2883213:>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; 258131:>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; 749704:>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; 3329364:>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; 530359:>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; 813743:>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; 565416:>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; 149417:>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; 1119 :>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; 6761227:>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; 5 :>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; 2540760:>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; 4 :>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; 1085794:>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; 1468221:>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; 93 :>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; 4807 :>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; 133 :>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; 408 :>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; 959 :>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; 6391 :>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; 294002:>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; 3550076:>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; 44 :>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; 2002 :>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; 4 :>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; 132 :>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; 4 :>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; 1551 :>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; 67 :>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; 243097:>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; 112 :>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; 56 :>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; 4 :>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; 7032490:>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; 8059545:>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; 417324:>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; 1661413:>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; 21 :>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; 207 :>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; 630 :>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; 357 :>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; 38 :>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; 153 :>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; 282678:>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; 1649008:>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; 2760 :>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; 2978274:>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; 5880628:>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; 594 :>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; 352548:>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; 45 :>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; 535 :>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; 1789855:>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; 110 :>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; 941 :>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; 678 :>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; 834088:>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; 827 :>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; 1736317:>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; 495077:>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; 302626:>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; 453 :>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; 212 :>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; 24 :>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; 33 :>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; 3784333:>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; 745979:>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; 2499616:>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; 1116912:>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; 52 :>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; 120 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 1 :>0:EAX=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; 2 :>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; 6 :>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; 312 :>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; 485 :>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; 3 :>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; 233 :>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; 45 :>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; 16 :>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; 409 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 1310 :>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; 677 :>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; 36 :>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; 380 :>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; 15 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=2; z=2; 276 :>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; 425 :>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; 329 :>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; 453 :>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; 40 :>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; 138 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=e3fa595c942d49b9ec694f338f959a9c Time X026+X027-F 157.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X028-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028-F "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$2 | MOV EAX,[z] ; MOV [c],$1 | MFENCE | MFENCE | MFENCE ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; | MOV [b],$1 | MOV EBX,[d] | ; | | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r10),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P2_5_: movl $1,(%rdi) Test X027+X028-F Required Histogram (104 states) 281 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 141343:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4614754:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 77556 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1191068:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 34976 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2773573:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 48 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 4151 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 76 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 453 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 26 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1321 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 71233 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1686140:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 138084:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1013995:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 49130 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1505287:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 310 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 148 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 204 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1072910:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1292955:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 99237 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 4682094:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 4085322:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 323 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 917 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 29 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 3356 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1547 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 23695 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1389156:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 63932 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1926106:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 605856:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 55020 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 2503256:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1784694:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 19 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 2438 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 1075 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 33308 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 5341227:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1722365:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 2719349:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 22310 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 4003 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 10 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 5465938:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 16294 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 23 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 541081:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2120576:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 208994:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 13369 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 663 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 2467 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 140 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 16 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 743090:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1235313:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 377469:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 10244 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 1367224:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 685298:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1916654:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 4429 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 1763 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 5546 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 5953386:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 5206010:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 9908418:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 1243925:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 621 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 39890 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 6237498:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 8464 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 82647 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 16125 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 552147:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1061425:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 128821:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 598043:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1006992:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 102479:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 8396 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 894133:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 2181199:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 26524 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 99809 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 143494:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 137375:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 1125 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 278069:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 438511:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 3512328:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 19242 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 2132 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 1795313:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 82529 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 775672:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is validated Hash=23885d7f9f679c9e50f7c360e4c0c9fa Time X027+X028-F 147.50 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X029-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029-F "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [c],$1 | MFENCE | MOV ECX,[d] | ; MOV [x],$1 | MOV EAX,[b] | MFENCE | ; | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl (%r12),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X028+X029-F Required Histogram (121 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; 199 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 746 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 16 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1170 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 25107 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3042552:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 8250245:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 46050 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 65027 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 587 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1065231:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1437 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1460 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1082 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 9176 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 4301 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 20 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 6055 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1093848:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 161 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1762378:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 234647:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1354129:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 466706:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 20684 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 456933:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 832 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 237994:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1920983:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 5047 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 43172 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 185 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 677793:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 120 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 1710 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 10 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 173229:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 87 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 283782:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 118411:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 436414:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1195243:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 9865 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 911306:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 2922 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 336956:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1322301:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 5117 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 21202 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 500 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 733284:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 891587:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 544 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 756909:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 281632:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 1066277:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3314603:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 13231 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2456501:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 611 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 528 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 221685:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 74 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 51522 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 185 :>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; 2866 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 2302203:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 9539 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1002635:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 722 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 2069 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 9349 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 15780 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 8 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1149 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 1556058:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 57306 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 7009491:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 9015 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 1957 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 1611016:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 2602206:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 524416:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 40501 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 3956778:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1494400:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 1864689:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 19049 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2120210:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2544308:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 2543027:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 315 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 5909 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 89 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1362230:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 16 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 2310263:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 43130 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 4148 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 1527 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 196101:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 6 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2768180:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 729991:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1174062:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 67 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 10987358:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 4272207:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1347787:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1420731:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 116 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 2406 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 818680:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 1536693:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 4312924:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=edb74fdd230b4ef74ad29075f8085535 Time X028+X029-F 146.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X030-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030-F "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [d],$1 | MOV [y],$1 | MOV [e],$2 | MFENCE ; MFENCE | MOV [c],$1 | MOV EAX,[e] | MOV EBX,[a] ; MOV EAX,[x] | | MFENCE | MOV [d],$2 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $2,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,(%rsi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r10),%edx Test X029+X030-F Required Histogram (215 states) 9 :>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; 164 :>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; 16 :>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; 109 :>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; 374 :>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; 171555:>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; 1152916:>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; 13 :>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; 975 :>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; 440 :>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; 316237:>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; 19 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 14 :>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; 3 :>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; 17008 :>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; 21333 :>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; 6 :>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; 42 :>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; 202 :>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; 25982 :>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; 276 :>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; 1 :>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; 268 :>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; 111 :>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; 770432:>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; 1037 :>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; 810026:>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; 15 :>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; 35 :>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; 1493 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 20274 :>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; 15 :>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=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 12333 :>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; 11673 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 28 :>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; 2366 :>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; 34389 :>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; 2 :>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; 2212 :>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; 1781 :>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; 4 :>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; 4 :>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; 4130 :>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; 2439 :>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; 123 :>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; 1559106:>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; 127446:>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; 1935 :>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; 448 :>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; 2361029:>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; 967515:>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; 4 :>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; 247 :>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; 2 :>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; 4558 :>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; 67 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 740 :>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; 1982 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=1; y=1; z=1; 43047 :>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; 817413:>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; 1200818:>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; 679610:>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; 4493987:>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; 23041 :>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; 3563 :>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; 34837 :>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; 81792 :>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; 363019:>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; 2578938:>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; 5 :>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; 9970 :>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; 16301 :>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; 262 :>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; 32821 :>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; 29234 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 749100:>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; 3770 :>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; 2864840:>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; 355547:>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; 237 :>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; 1811 :>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; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 4 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 5797 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=1; y=2; z=1; 1 :>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; 2038 :>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; 2 :>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; 574 :>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; 1165 :>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; 1646198:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=1; y=2; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 110 :>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; 114 :>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; 208515:>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=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 4 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 81 :>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; 4729 :>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; 4 :>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; 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; 5563 :>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; 4720 :>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; 1938 :>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; 1871 :>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; 1527706:>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; 1689641:>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; 6 :>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; 11 :>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; 19212 :>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; 6 :>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; 10983 :>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; 2732 :>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; 3221800:>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; 360570:>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; 2714971:>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; 10724 :>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; 80370 :>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; 10465547:>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; 396735:>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; 23804 :>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; 67924 :>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; 4179695:>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; 2504120:>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; 30617 :>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; 3484217:>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; 99 :>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; 388 :>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; 215681:>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; 2307032:>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; 25 :>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; 1534 :>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; 52 :>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; 57159 :>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; 2 :>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; 34032 :>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; 219563:>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; 16 :>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; 10 :>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; 14245 :>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; 96 :>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; 3129057:>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; 1611 :>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; 1064462:>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; 349125:>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; 10 :>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; 194359:>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; 13388 :>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; 65561 :>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=0; 2:EAX=1; 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=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 5921 :>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; 126 :>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; 7511339:>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; 8193676:>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; 730 :>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; 265 :>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; 2600227:>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; 3013997:>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; 7552 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=1; z=2; 5053 :>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; 1990450:>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; 85 :>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; 2488994:>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; 49 :>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; 95 :>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; 4 :>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; 173 :>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=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; 19 :>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; 24 :>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; 447 :>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; 24 :>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; 1 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=1; z=2; 3 :>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; 537 :>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; 11 :>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; 867 :>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; 605 :>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; 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=2; 99 :>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=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 53 :>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; 234 :>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; 1540986:>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; 11 :>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; 256001:>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; 8 :>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; 59 :>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; 88 :>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; 1001985:>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; 1362169:>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; 8224 :>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; 687 :>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; 6872248:>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; 304 :>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; 22 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=2; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=2; y=2; z=2; 162 :>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; 220 :>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; 814 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is validated Hash=9eb017c6e0c94b9b0cfbd9d932f3c77b Time X029+X030-F 165.44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X031-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031-F "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [d],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [e],$1 | MOV [b],$1 | | MFENCE ; MOV EAX,[e] | MOV [c],$1 | | MOV EBX,[a] ; MOV [x],$1 | MOV EAX,[c] | | ; MFENCE | MFENCE | | ; MOV EBX,[b] | MOV EBX,[d] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl (%rdi),%eax _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r10),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%r9),%edx _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030+X031-F Required Histogram (55 states) 1068 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1226 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2632299:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 315363:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 7541602:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 314 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 143 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 2106 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 1092 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 42956 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 196335:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 292 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 10 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5577380:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 949860:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 9416 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 220 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 9350429:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 144580:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1105 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 9893123:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 16023 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 4144633:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 8149 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 61 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 4899 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 3631996:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 58170 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 4377603:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 302863:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 368352:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 5676 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 1625 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4320880:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1590506:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 4283796:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 105564:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 4591610:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1221394:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 299460:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 5754172:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1724463:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 326896:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 13705450:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 1321116:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 2226969:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 65195 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 4476753:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 9433 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2645012:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 849427:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 900901:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is validated Hash=67651d25ad4c924d2a9dc52674f1a96b Time X030+X031-F 146.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X032-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032-F "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [d],$1 | MOV [y],$1 | MOV [f],$1 ; MOV [e],$1 | MOV [z],$1 | MOV [b],$1 ; MOV [a],$1 | MOV EAX,[z] | MOV EAX,[b] ; MOV [x],$1 | MFENCE | MFENCE ; MOV ECX,[e] | MOV EBX,[a] | MOV EBX,[c] ; MOV EAX,[x] | MOV [c],$1 | ; MFENCE | MFENCE | ; MOV EDX,[f] | MOV ECX,[d] | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,(%r15) _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%eax _litmus_P0_6_: mfence _litmus_P0_7_: movl (%r12),%esi _litmus_P0_8_: movl (%r11),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: movl (%r9),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%edx _litmus_P1_5_: movl $1,(%rbx) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%r11),%ecx Test X031+X032-F Required Histogram (15 states) 4483611:>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; 136 :>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; 10887452:>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; 11456715:>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; 2324490:>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; 9478274:>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; 21614481:>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; 637487:>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; 14947272:>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; 2155402:>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; 9039192:>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; 2965712:>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; 8592848:>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; 5430 :>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; 1411498:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=5fb5ed2b902400da40bc7e822016cbd0 Time X031+X032-F 126.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X033-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033-F "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV ECX,[c] ; MOV EBX,[f] | MOV [e],$1 | MFENCE ; MFENCE | MOV EAX,[y] | MOV EDX,[d] ; MOV EAX,[x] | MFENCE | MOV [z],$1 ; MOV ECX,[g] | MOV EBX,[z] | MOV [a],$1 ; | | MOV EAX,[a] ; | | MFENCE ; | | MOV EBX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,(%r13) _litmus_P2_2_: movl (%r13),%ecx _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r12),%esi _litmus_P2_5_: movl $1,(%r11) _litmus_P2_6_: movl $1,(%r15) _litmus_P2_7_: movl (%r15),%eax _litmus_P2_8_: mfence _litmus_P2_9_: movl (%r14),%edx _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r12) _litmus_P0_3_: movl (%r11),%edx _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,(%r11) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%r10) _litmus_P1_4_: movl (%r8),%eax _litmus_P1_5_: mfence _litmus_P1_6_: movl (%rdi),%edx Test X032+X033-F Required Histogram (29 states) 1511933:>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; 9706422:>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; 882 :>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; 1100 :>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; 4556 :>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; 4912840:>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; 65 :>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; 11728486:>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; 7033181:>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; 90 :>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; 91271 :>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; 8380622:>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; 3429232:>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; 503645:>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; 3356723:>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; 5249266:>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; 24859 :>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; 827505:>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; 2037296:>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; 1720 :>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; 6245012:>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; 3692 :>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; 398325:>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; 3999935:>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; 3330414:>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; 4103689:>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; 22567766:>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; 393 :>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; 549080:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=980a02dab70e76bcf5895e5b9dae0e5d Time X032+X033-F 140.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X034-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034-F "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [a],$1 ; MOV [x],$1 | MOV [e],$1 | MOV EAX,[a] ; MOV [d],$1 | MFENCE | MFENCE ; MOV EAX,[d] | MOV ECX,[c] | MOV EBX,[b] ; MFENCE | MOV EAX,[y] | ; MOV EBX,[e] | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rdi) _litmus_P2_1_: movl $1,(%r9) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,(%rbx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X033+X034-F Required Histogram (17 states) 5569963:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 13091556:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 85 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 15237 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 14792376:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 12778491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 1410837:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 697 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3262444:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 14539 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6428567:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6286628:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 2800858:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 1297870:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1921770:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 27712257:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 2615825:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=9798442dc074ce2034b1c43281df72d6 Time X033+X034-F 120.84 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X035-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035-F "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$1 | MOV [c],$1 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MFENCE | MOV EAX,[y] | MOV EAX,[d] ; MOV EAX,[x] | MFENCE | MFENCE ; MOV EBX,[c] | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MFENCE | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,(%r12) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%rbx),%ecx Test X034+X035-F Required Histogram (18 states) 6671268:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 532 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 54 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3764285:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 12633781:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 154693:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 16295539:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 20526623:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 524796:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 19930253:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 17 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 544 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1826502:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3994689:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 4742053:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 6088648:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 193656:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2652067:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=cdc0e4561e33d6789a45e57d354aec96 Time X034+X035-F 113.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X036-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036-F "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$1 ; MFENCE | MOV [x],$1 | MOV [y],$1 | MFENCE ; MOV EAX,[x] | MFENCE | MOV [b],$1 | MOV EAX,[f] ; MOV [d],$1 | MOV EBX,[d] | MOV [z],$1 | ; MFENCE | MOV EAX,[y] | MOV EAX,[z] | ; MOV EBX,[e] | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X035+X036-F Required Histogram (70 states) 822 :>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; 731957:>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; 295085:>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; 106548:>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; 1450 :>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; 64559 :>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; 84219 :>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; 2763222:>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; 66147 :>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; 714934:>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; 4 :>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; 2025109:>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; 48 :>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; 880 :>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; 101 :>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; 386945:>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; 10171 :>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; 14348795:>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; 40 :>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; 10572 :>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; 4237725:>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; 1235255:>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; 227737:>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; 2488301:>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; 1117220:>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; 1000030:>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; 293 :>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; 8185651:>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; 815411:>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; 95 :>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; 192659:>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; 8343 :>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; 8702748:>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; 367805:>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; 152335:>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; 3848288:>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; 1390167:>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; 103 :>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; 19493 :>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; 5535 :>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; 385777:>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; 3928702:>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; 63615 :>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; 5094271:>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; 310340:>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; 7981 :>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; 1418353:>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; 60852 :>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; 6 :>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; 5606989:>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; 12 :>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; 205 :>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; 163 :>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; 3764 :>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; 1351 :>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; 1376073:>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; 2869 :>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; 8017081:>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; 1159 :>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; 262918:>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; 14228 :>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; 4869620:>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; 1132450:>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; 482128:>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; 89466 :>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; 82135 :>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; 6669640:>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; 212746:>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; 3762599:>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; 535705:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is validated Hash=35c1157a8289aee8144d78af5c82cba0 Time X035+X036-F 151.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X037-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; MFENCE | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV EBX,[f] | MOV [e],$1 | MOV [y],$1 | MFENCE ; MOV [b],$1 | MFENCE | MOV EBX,[c] | MOV ECX,[g] ; MFENCE | MOV EAX,[y] | MFENCE | MOV [a],$1 ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,(%r10) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X036+X037-F Required Histogram (100 states) 232 :>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; 44 :>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; 905652:>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; 1413128:>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; 63 :>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; 2100 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 177726:>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; 2290745:>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; 360 :>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; 1660 :>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; 932375:>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; 6569102:>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; 197918:>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; 1033 :>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; 222158:>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; 8174 :>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; 918970:>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; 1128763:>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; 294025:>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; 575704:>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; 1381540:>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; 176384:>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; 879358:>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; 385113:>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; 259 :>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; 2340 :>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; 165229:>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; 2647806:>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; 965 :>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; 2037 :>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; 417941:>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; 2436387:>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; 71 :>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; 174 :>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; 675 :>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; 37 :>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; 97289 :>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; 802 :>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; 7 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 27170 :>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; 38 :>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; 4366 :>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; 4441 :>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; 1330936:>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; 4561263:>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; 3352644:>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; 747606:>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; 3050302:>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; 1917371:>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; 92892 :>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; 438752:>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; 233204:>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; 80819 :>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; 834711:>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; 2 :>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; 2205 :>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; 1868461:>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; 3360288:>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; 3865 :>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; 433257:>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; 449891:>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; 2313209:>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; 1280 :>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; 129178:>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; 4009595:>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; 2670524:>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; 211896:>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; 1129910:>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; 396051:>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; 801 :>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; 8290366:>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; 2 :>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; 3354832:>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; 34 :>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; 587234:>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; 867758:>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; 155 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 5135 :>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; 334 :>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; 2936566:>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; 1257651:>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; 607 :>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; 669176:>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; 462 :>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; 2329400:>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; 2769 :>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; 5090117:>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; 386 :>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; 2798523:>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; 492630:>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; 1095049:>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; 2114 :>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; 2515796:>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; 846000:>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; 1408124:>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; 1961068:>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; 2371669:>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; 2804562:>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; 49044 :>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; 371163:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is validated Hash=20188209d898ef6b10dadd20a525d214 Time X036+X037-F 167.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X038-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$1 | MOV [a],$1 ; MFENCE | MFENCE | MOV [f],$1 | MOV EAX,[a] ; MOV EAX,[e] | MOV EAX,[y] | MFENCE | MFENCE ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] | MOV EBX,[b] ; | | MOV EBX,[f] | ; | | MOV ECX,[c] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r11) _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%r12),%ecx Test X037+X038-F Required Histogram (56 states) 2181972:>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; 1701 :>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; 4055866:>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; 9 :>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; 101213:>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; 2633368:>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; 384558:>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; 1133896:>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; 7189768:>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; 6274 :>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; 9410422:>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; 6355 :>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; 802777:>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; 262504:>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; 100430:>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; 300068:>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; 3244478:>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; 7166453:>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; 511691:>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; 2965363:>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; 2988893:>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; 1419479:>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; 654175:>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; 194672:>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; 1164964:>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; 1400508:>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; 7752895:>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; 85 :>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; 4765004:>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; 679768:>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; 2408 :>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; 92185 :>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; 1602686:>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; 7 :>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; 2195866:>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; 3350421:>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; 4294609:>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; 68 :>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; 399943:>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; 136386:>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; 337363:>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; 1443987:>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; 17 :>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; 197910:>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; 911631:>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; 110483:>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; 832061:>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; 3668592:>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; 2853472:>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; 947360:>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; 53940 :>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; 871707:>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; 63430 :>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; 2709019:>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; 9306105:>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; 138735:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=bbb5184c0793d0079988eef13e7bae61 Time X037+X038-F 154.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X039-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039-F "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$1 | MFENCE ; MOV [d],$1 | MFENCE | MOV [b],$1 | MOV EAX,[f] ; MOV [e],$1 | MOV EBX,[d] | MOV [z],$1 | ; | MOV EAX,[y] | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X038+X039-F Required Histogram (72 states) 328843:>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; 113498:>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; 17775 :>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; 19126 :>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; 376712:>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; 1198189:>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; 6014 :>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; 11637031:>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; 2468030:>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; 1253373:>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; 898481:>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; 5183219:>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; 1325165:>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; 140864:>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; 104622:>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; 1113844:>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; 4633499:>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; 36182 :>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; 6311407:>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; 3350711:>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; 42854 :>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; 525853:>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; 666176:>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; 769 :>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; 296822:>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; 4303 :>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; 279694:>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; 288111:>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; 15132 :>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; 47745 :>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; 60564 :>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; 453910:>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; 18770 :>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; 3024000:>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; 600694:>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; 485900:>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; 470469:>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; 746 :>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; 484644:>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; 297 :>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; 3022403:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 5 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 378 :>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; 4391 :>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; 5818 :>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; 2953359:>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; 8244068:>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; 5799 :>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; 5521733:>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; 967 :>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; 3673610:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; e=1; x=2; 5 :>1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=1; x=2; 1448 :>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; 651 :>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; 4899 :>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; 25695 :>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; 1612981:>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; 607033:>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; 138 :>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; 4 :>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; 3452417:>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; 3144229:>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; 141 :>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; 1506478:>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; 46 :>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; 7028823:>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; 1 :>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; 532 :>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; 629 :>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; 903 :>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; 2090929:>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; 8805449:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is validated Hash=b1f774c276588b2d27b3ceafd8fcc0f1 Time X038+X039-F 154.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X040-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040-F "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$1 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MFENCE ; MFENCE | MOV [y],$1 | MOV EBX,[c] | MOV ECX,[g] ; MOV EAX,[x] | | MFENCE | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%r11) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: mfence _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,(%r10) _litmus_P2_3_: movl (%r12),%edx _litmus_P2_4_: mfence _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X039+X040-F Required Histogram (99 states) 729069:>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; 1152129:>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; 672250:>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; 4399602:>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; 217961:>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; 15531 :>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; 646524:>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; 390750:>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; 98601 :>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; 1578599:>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; 316100:>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; 1994752:>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; 32 :>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; 40879 :>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; 3553 :>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; 882040:>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; 484114:>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; 2441672:>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; 358848:>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; 294363:>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; 4086 :>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; 259838:>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; 127096:>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; 913279:>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; 384543:>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; 1807406:>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; 50 :>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; 7418 :>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; 2331843:>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; 1086790:>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; 990025:>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; 1721338:>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; 1245624:>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; 5810 :>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; 1151956:>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; 278506:>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; 64 :>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; 18 :>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; 83 :>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; 208 :>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; 258563:>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; 1287 :>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; 1396414:>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; 90061 :>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; 147 :>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; 1213 :>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; 454 :>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; 489 :>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; 113 :>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; 18 :>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; 744 :>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; 5688861:>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; 4502405:>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; 2254050:>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; 70791 :>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; 2140903:>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; 2493720:>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; 4239972:>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; 1234962:>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; 29 :>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; 425 :>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; 152 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 132 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 941808:>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; 1490217:>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; 26457 :>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; 286632:>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; 3436427:>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; 523161:>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; 1014549:>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; 34 :>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; 9 :>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; 54899 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 3 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=1; y=2; 354 :>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; 9939 :>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; 177315:>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; 9120292:>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; 1215714:>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; 821692:>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; 3862235:>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; 990189:>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; 2337113:>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; 39 :>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; 547 :>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; 2742899:>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; 1021602:>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; 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=2; y=2; 234 :>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; 916913:>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; 1049287:>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; 2566396:>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; 2149947:>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; 421 :>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; 1472845:>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; 166 :>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; 1098 :>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; 4421949:>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; 3937355:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is validated Hash=a1859e663cd886e61093652e3c8c3f1c Time X039+X040-F 170.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X041-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [d],$1 | MOV [e],$1 | MFENCE | MOV [a],$1 ; MOV [b],$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV EAX,[d] | MOV [c],$1 | | MFENCE ; MOV [x],$1 | | | MOV EBX,[b] ; MFENCE | | | ; MOV EBX,[e] | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: mfence _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X040+X041-F Required Histogram (37 states) 2332 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2678894:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 9126 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 7791689:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 8005 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 5586519:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 3538 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 719216:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 5637103:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 6438064:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 3312584:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 77700 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 530897:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 191521:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 3868466:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 1118883:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 9777231:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 1609868:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 12024284:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 529905:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 429 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 407 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 2344096:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 63 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 401238:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 981 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1976593:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1561204:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 13728942:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 4254513:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 6375845:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 293728:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 380701:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 466353:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 378600:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 4293053:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1627429:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is validated Hash=e7650fd2d09c1255f7629e84d614d35e Time X040+X041-F 144.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X042-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042-F "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV [x],$2 | MOV [c],$2 ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[d] ; MOV [c],$1 | MFENCE | MFENCE ; | MOV EBX,[z] | MOV EBX,[a] ; | MOV [a],$1 | ; | MFENCE | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: mfence _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,(%r12) _litmus_P1_6_: mfence _litmus_P1_7_: movl (%rbx),%ecx Test X041+X042-F Required Histogram (18 states) 5787958:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2375 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 3307886:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 12481958:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 18412901:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 1272 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 3264271:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 1013014:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 1807 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 320829:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 2324973:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 167 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 2712118:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 3059877:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 20719939:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 97509 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 17932622:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 8558524:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is validated Hash=15732a70bad9241b5da164775d7c8edc Time X041+X042-F 116.55 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X043-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043-F "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$1 ; MFENCE | MOV [x],$1 | MOV [y],$2 | MOV [f],$1 ; MOV EAX,[x] | MFENCE | MOV [b],$1 | ; MOV [d],$1 | MOV EAX,[d] | MOV [z],$1 | ; MFENCE | MOV [y],$1 | MOV EAX,[z] | ; MOV EBX,[e] | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%r9) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X042+X043-F Required Histogram (70 states) 96 :>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; 239644:>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; 7143 :>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; 8721750:>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; 376347:>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; 110281:>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; 3415388:>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; 1134440:>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; 102 :>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; 23870 :>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; 5102 :>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; 382882:>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; 3700421:>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; 50355 :>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; 4298642:>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; 242736:>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; 56540 :>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; 2 :>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; 5082079:>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; 10 :>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; 201 :>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; 180 :>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; 3411 :>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; 1073 :>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; 260842:>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; 11919 :>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; 3970926:>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; 5400580:>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; 196591:>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; 2387245:>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; 361285:>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; 1061 :>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; 1275124:>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; 496535:>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; 139527:>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; 1417 :>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; 82522 :>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; 279545:>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; 3517463:>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; 78533 :>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; 5 :>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; 2851332:>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; 49 :>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; 1093 :>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; 23 :>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; 11051 :>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; 4872333:>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; 2276086:>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; 3167 :>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; 9310247:>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; 791131:>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; 6751 :>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; 1050374:>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; 1183 :>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; 1177969:>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; 1539 :>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; 4558826:>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; 598970:>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; 462597:>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; 16377 :>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; 26462 :>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; 1267372:>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; 189 :>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; 907050:>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; 10116 :>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; 17538846:>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; 1676169:>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; 664626:>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; 2465265:>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; 1138992:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is validated Hash=e17a5f0464b1cf7387177b1c3ac867b0 Time X042+X043-F 155.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,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,(%r10) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r10),%edx Test X043+X044-F Required Histogram (100 states) 88 :>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; 183 :>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; 93091 :>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; 524829:>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; 225 :>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; 5647 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 881 :>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; 836 :>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; 429536:>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; 571527:>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; 11885 :>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; 184100:>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; 60630 :>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; 191405:>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; 1029511:>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; 118 :>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; 51502 :>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; 1844937:>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; 1208815:>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; 82110 :>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; 532127:>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; 129594:>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; 481 :>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; 2020959:>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; 27 :>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; 1006267:>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; 89 :>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; 950615:>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; 1540485:>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; 9788 :>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; 138931:>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; 630 :>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; 531 :>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; 1124548:>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; 2311980:>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; 91 :>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; 2597 :>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; 198491:>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; 2433277:>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; 331 :>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; 3439 :>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; 824344:>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; 7133912:>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; 681690:>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; 14375 :>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; 346206:>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; 25536 :>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; 1250129:>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; 1964341:>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; 405568:>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; 741669:>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; 2349776:>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; 599592:>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; 1042989:>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; 571518:>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; 925150:>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; 1933 :>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; 10273948:>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; 16 :>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; 4397180:>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; 104 :>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; 1086551:>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; 1222683:>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; 2331 :>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; 8377 :>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; 458 :>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; 2900 :>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; 371165:>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; 3794076:>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; 124 :>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; 1080 :>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; 1545 :>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; 77 :>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; 185378:>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; 5343688:>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; 3526288:>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; 959614:>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; 3300401:>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; 130633:>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; 1266012:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; g=1; z=2; 4779 :>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; 2528073:>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; 4372796:>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; 5439 :>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; 572322:>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; 300 :>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; 3797908:>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; 1141 :>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; 1573135:>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; 714 :>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; 3411027:>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; 529350:>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; 1044160:>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; 3284410:>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; 1302622:>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; 1713643:>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; 2407684:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is validated Hash=69d454290ad6f9da19a3a7879ce1f123 Time X043+X044-F 173.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X045-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$2 | MOV [a],$1 ; MOV [e],$1 | MFENCE | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | MFENCE ; | MOV [d],$1 | MOV EAX,[f] | MOV EBX,[b] ; | | MFENCE | ; | | MOV EBX,[c] | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,(%r10) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl $1,(%rdi) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r11),%edx Test X044+X045-F Required Histogram (56 states) 2323642:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 91886 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 4401825:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 133306:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 100453:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 872103:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 331893:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 5145922:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 3514753:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 851 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1890761:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 186901:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 3959 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2673772:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2091974:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1309 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 4962225:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 1306950:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3043127:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 28081 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 5182946:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 14611 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 1941434:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 254976:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 356445:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 66174 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1058460:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 869068:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 2480060:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 2980258:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 5405539:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 9628581:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2598119:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 80 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 164423:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 8016117:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 68792 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 2683253:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1366420:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 377080:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 1371496:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 734225:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 2245043:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 3435641:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 16441 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 551390:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 455358:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 713429:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 3539 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 734600:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 1125 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 5492960:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 149355:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 2771822:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 360910:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 2344137:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is validated Hash=f7deb252a2e5933e0f159811244b4976 Time X044+X045-F 161.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X046-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046-F "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$2 ; MOV [x],$1 | MOV [x],$2 | MOV [y],$2 | MOV [f],$1 ; MOV [d],$1 | MFENCE | MOV [b],$1 | ; MOV [e],$1 | MOV EAX,[d] | MOV [z],$1 | ; | MOV [y],$1 | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MFENCE | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $2,(%rsi) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,(%rbx) _litmus_P2_2_: movl $1,(%r14) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r11),%eax _litmus_P2_5_: movl (%r14),%ecx _litmus_P2_6_: mfence _litmus_P2_7_: movl (%r13),%esi _litmus_P2_8_: movl (%r15),%edx Test X045+X046-F Required Histogram (70 states) 5020337:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1453755:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 138551:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 126110:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 4188424:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 31812 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 2711420:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 400151:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 332495:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 394596:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 20275 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 69034 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 450286:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 19586 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 668446:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 474201:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 562102:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 188492:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 24391 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 40266 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1672480:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 7488 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 2929412:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1004780:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 558 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 18917 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 5695 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 4595706:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1029 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 3037219:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1594 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 4398 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 987877:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 126 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1539496:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 39 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 6100404:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 757 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 774 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 6459121:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 963 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 805834:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 317 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 3861181:>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; 447 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 5985 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 8559216:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1183399:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 5295024:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 838055:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 3503214:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 7106 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 50868 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 2512126:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 256994:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 667456:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 14647933:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1523282:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1201164:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 495151:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 309 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 4230 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 381 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1110551:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 5050 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 3048082:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 310 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 4732758:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is validated Hash=41672086938f1a822089be4cd351b80b Time X045+X046-F 159.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X047-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047-F "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV [z],$2 ; MOV [b],$1 | MOV [e],$1 | MOV [y],$2 | MOV [g],$1 ; MFENCE | MOV [y],$1 | MOV EAX,[c] | MOV [a],$1 ; MOV EAX,[x] | | MOV [z],$1 | MOV EAX,[a] ; | | MFENCE | MFENCE ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%r9) _litmus_P3_1_: movl $2,(%rdi) _litmus_P3_2_: movl $1,(%r8) _litmus_P3_3_: movl $1,(%r11) _litmus_P3_4_: movl (%r11),%eax _litmus_P3_5_: mfence _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: mfence _litmus_P2_6_: movl (%r10),%edx Test X046+X047-F Required Histogram (99 states) 48862 :>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; 425292:>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; 443 :>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; 238656:>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; 147457:>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; 76314 :>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; 36512 :>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; 325582:>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; 118447:>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; 532877:>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; 326 :>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; 82526 :>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; 24 :>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; 61 :>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; 173 :>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; 633545:>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; 10046 :>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; 1889746:>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; 520351:>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; 9 :>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; 3966 :>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; 931690:>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; 2017857:>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; 622837:>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; 5000943:>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; 317468:>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; 32037 :>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; 809874:>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; 408541:>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; 890127:>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; 2458515:>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; 450 :>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; 11620 :>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; 200 :>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; 106 :>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; 98 :>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; 486 :>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; 915195:>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; 11547 :>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; 2523625:>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; 253801:>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; 11 :>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; 125 :>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; 4 :>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; 12177 :>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; 3117 :>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; 63844 :>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; 1407907:>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; 1327343:>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; 84 :>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; 1262277:>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; 1060302:>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; 200 :>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; 1723926:>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; 270020:>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; 3534455:>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; 691581:>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; 1019866:>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; 10621798:>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; 1607835:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 41 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 728 :>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; 3897949:>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; 1639226:>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; 1003 :>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; 2346446:>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; 247159:>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; 2583908:>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; 50 :>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; 81854 :>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; 679599:>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; 2800025:>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; 3504 :>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; 327119:>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; 3070469:>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; 1396592:>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; 1225056:>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; 1300442:>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; 330 :>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; 1353 :>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; 272 :>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; 6750130:>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; 4671157:>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; 3085465:>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; 2804450:>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; 436 :>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; 198 :>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; 944558:>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; 1526802:>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; 255 :>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; 5 :>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; 2168 :>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; 1764362:>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; 1491169:>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; 39 :>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; 1216291:>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; 1406717:>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; 480 :>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; 5827089:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is validated Hash=4a033c28005401c7529408461555a5d1 Time X046+X047-F 177.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X048-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-F "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | MOV [a],$1 ; MOV [c],$1 | MOV [y],$1 | | MOV EAX,[a] ; MFENCE | MFENCE | | MFENCE ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdi) _litmus_P3_1_: movl $1,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: mfence _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rdi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047+X048-F Required Histogram (44 states) 5462251:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2608 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 3900000:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 87528 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 623 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 226149:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 510 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5126181:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 2604159:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 209 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 10285628:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 624786:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 10004830:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 116 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1292437:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 7345730:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 250 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1674541:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 327 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 248996:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 685850:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 542 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 3504818:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2020111:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 5509138:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 722 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 1445790:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 4083098:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 2212 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 3772352:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 132 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1245726:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 735791:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 797 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 14196249:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 3406883:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 1297536:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 474 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 6505085:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 54 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 829163:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 233 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 836583:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1032802:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is validated Hash=f24340f42451c957a79ee2df57f86a30 Time X047+X048-F 137.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X049-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049-F "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV [a],$1 | MOV [x],$1 | MOV [b],$1 ; MFENCE | MOV [c],$1 | MFENCE ; MOV EBX,[b] | MFENCE | MOV EAX,[c] ; MOV [y],$1 | MOV EBX,[a] | ; MFENCE | MOV EAX,[y] | ; MOV EAX,[x] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: mfence _litmus_P0_5_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%r9) _litmus_P1_2_: mfence _litmus_P1_3_: movl (%r10),%edx _litmus_P1_4_: movl (%rdi),%eax Test X048+X049-F Required Histogram (18 states) 6270951:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 28176 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 256 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 7409627:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 7020557:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 1865763:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 4738550:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 16335068:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2778875:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 22998174:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 36823 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 93801 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 3511616:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 3669202:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 6774870:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 14263817:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2810 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2201064:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is validated Hash=13a34ddecb3ea2d0f0d60f301597a4e8 Time X048+X049-F 100.77 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X050-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050-F "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [b],$1 | MFENCE | MFENCE | MFENCE ; MFENCE | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV EBX,[c] | MOV [x],$1 | MOV [y],$1 | ; MOV EAX,[x] | MFENCE | MFENCE | ; | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: mfence _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl $1,(%r8) _litmus_P1_4_: mfence _litmus_P1_5_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X049+X050-F Required Histogram (87 states) 53 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 291 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 459276:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 308955:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 227253:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 251 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 85 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 63681 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 101 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 582 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 206 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 488266:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 53 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4913079:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 361104:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 482857:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 103 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 826090:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 345 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 433 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 398 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 351668:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3698 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 12984267:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 17 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 23 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3580 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1244502:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3170726:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 449905:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3098036:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3358592:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1493618:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2835 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4986274:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 936737:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 8 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 271 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 276 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 119430:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3544 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6114379:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 638152:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 246426:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3760370:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3021521:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 109 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1478 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 264 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 27253 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2161 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 417013:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1192 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 192 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 711 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1027 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 9033128:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 188383:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 5878385:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1408529:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 37442 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1367945:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 38 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 157994:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 391 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3140872:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 483 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 398 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1465 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2837 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 1589 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2388175:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 166 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 8825957:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1873 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 185424:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3518 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1650141:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2589428:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 958424:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 73004 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 333967:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 5773148:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 244205:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 723033:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 455940:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=6eef6d4d5dc6b2dfa2b303d135075287 Time X049+X050-F 136.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X051-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051-F "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [e],$1 | MOV [d],$1 ; MOV [a],$1 | MOV [b],$1 | MFENCE | MFENCE ; MFENCE | MOV [c],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV EBX,[d] | MFENCE | MOV [y],$1 | MOV [z],$1 ; MOV EAX,[x] | MOV EAX,[y] | MFENCE | MFENCE ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%r8),%edx _litmus_P3_3_: movl $1,(%rdi) _litmus_P3_4_: mfence _litmus_P3_5_: movl (%r10),%eax _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,(%r10) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $1,(%rdi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X050+X051-F Required Histogram (123 states) 18 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 62 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 325 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1530 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 747957:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2510962:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 93223 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 2509529:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 87162 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1440799:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 276 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 806 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 980 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 325 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 794 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 975 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 501022:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 3473 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1996411:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 549514:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 308 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 105 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 77 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 520 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 278 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 29 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 241 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1079 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2515213:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 909750:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1824473:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 3625309:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 603366:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 14359 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1293550:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1039932:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 83583 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 624683:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 280 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 330522:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1634843:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 82 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 24 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4752 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 17845 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 846 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1277 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 396 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6588593:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2922249:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1663717:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 7575944:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2519 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 503 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 311 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2558 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1826181:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 66847 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 942946:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1345297:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 760323:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1378977:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 740 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 71445 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1542675:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 931130:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 12261 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 278614:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1921103:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1859782:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 17125 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 578579:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 681769:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 147188:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 26483 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 296965:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 205 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 2566 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 735396:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 232 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 222 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 8131292:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 802542:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 151 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 103 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 3747 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 81 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1724 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 217 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 575548:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 5344423:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 71 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 18765 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 375 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1552934:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 2490 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1267100:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 290726:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 306488:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1963182:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 273568:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1459 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3231 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 736307:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 4068051:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 59 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2527 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 115 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 113361:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 2978328:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3522532:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 497017:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1462573:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1394093:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 5415145:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3075 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 111259:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=43550f3b91c197adb36b1d55912ecc72 Time X050+X051-F 152.17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X052-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052-F "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$1 | MFENCE ; MFENCE | MOV [x],$2 | MFENCE | MOV EAX,[a] ; MOV EAX,[c] | MFENCE | MOV EBX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: mfence _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%r10) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%r9),%edx _litmus_P2_4_: movl (%rdi),%eax Test X051+X052-F Required Histogram (69 states) 443798:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 46 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 1764348:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 4 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 662378:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 14806 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 456028:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1521859:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 91 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 2899016:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 341 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 635211:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 43106 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1572 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 60341 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 334678:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1971839:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 11112 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1026667:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1069504:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 2419627:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 2787280:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 121896:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 784325:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 2368139:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 7109670:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 183152:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 10204750:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 3694264:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 267971:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 94097 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 972135:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 6876 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2786779:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 6587100:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 5314841:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 239389:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 3474782:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 294715:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 441808:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 3541466:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 221571:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1801135:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 649704:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 687758:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 6447484:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 3164195:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 2628424:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 20822 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 815999:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 128015:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 2232148:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 13983053:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 602872:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 101 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 432 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 1 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 189 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 514 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 1017 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 723 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 59 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 5 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 39 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 198 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 333 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 825 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 575 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is validated Hash=9a2d88b0a4a008e730cf4d54c3b5f018 Time X051+X052-F 139.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X053-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053-F "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MFENCE | MFENCE ; MOV [c],$1 | MOV [x],$2 | MOV EBX,[a] | MOV EAX,[d] ; MOV [x],$1 | MFENCE | MOV [y],$1 | ; | MOV EAX,[y] | MFENCE | ; | | MOV EAX,[z] | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rsi) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X052+X053-F Required Histogram (89 states) 57597 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 242 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 122574:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 6 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 810249:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 236984:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 603494:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 483 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 445683:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 22 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 40738 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 56823 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 128 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 506082:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 1817 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 185081:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 614627:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 503528:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 15707602:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 934141:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 1529 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 7897145:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 9617 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1055474:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1727240:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 1809738:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 7965325:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 861054:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 49068 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 84 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 30060 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 103 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 98369 :>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; 206013:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 61775 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 1351445:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 219 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 39 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 865658:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 2971 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 327376:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 160463:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 283680:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 5268993:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 290899:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 288337:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 1678 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 4204734:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 33 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 4367318:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3409265:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 3524829:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 1451 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 4165739:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 76 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 61705 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 246332:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 256 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 1 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 362 :>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; 21721 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 12581 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 12339 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 3 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 7766 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 35 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 569 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 1431 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 479 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 1034129:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 5741680:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 1708129:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 1167566:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 4091 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 10346881:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 19 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 4195784:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 4280869:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 6406 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 23 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 6064 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 10730 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 26 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 11729 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 4564 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is validated Hash=1fdf47ad853862e35a39678c0aecb761 Time X052+X053-F 142.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X054-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054-F "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [x],$1 | MOV [c],$1 | MFENCE | MFENCE ; MOV [b],$2 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; MFENCE | MOV [b],$1 | | ; MOV EAX,[c] | | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $2,(%rdi) _litmus_P0_3_: mfence _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,(%rsi) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rcx),%eax Test X053+X054-F Required Histogram (44 states) 1258 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 483879:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 5426 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 2207782:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 4363 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1939797:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1396 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 290638:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 5759219:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 9799703:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 6327868:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 415657:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 472031:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 373171:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 4046761:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 2374818:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 10489049:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 3167102:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 12724203:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 973492:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 243 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 2850 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 9858 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 1346 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 2 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 284 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 313514:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 40 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 41135 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 425 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 440745:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 1139398:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 13790968:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 4695651:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 9167133:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 313928:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 737101:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 585969:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 265714:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 4908855:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1717386:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 3205 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 1198 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 5439 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is validated Hash=9d748520f2b485a201191028215cfa36 Time X053+X054-F 127.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X055-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055-F "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$2 | MOV [a],$1 | MOV [d],$2 | MOV [c],$1 ; MFENCE | MOV [b],$1 | MFENCE | MOV [d],$1 ; MOV EAX,[c] | MOV [x],$2 | MOV EAX,[a] | ; MOV [y],$1 | MFENCE | | ; MOV [x],$1 | MOV EAX,[y] | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $2,(%r8) _litmus_P0_1_: mfence _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P0_4_: movl $1,(%rsi) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%rcx) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%rsi),%eax Test X054+X055-F Required Histogram (45 states) 195985:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1684154:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1019559:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 2937041:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 577553:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 181904:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 1711602:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 169137:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 453084:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7124155:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 119940:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 181083:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3882510:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 12176691:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 354591:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 60459 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 81 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 587537:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 300 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 1158208:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 236871:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1947682:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 810366:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 2566332:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 1780345:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 23979 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 893404:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 17594668:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 128690:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 242641:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 9580241:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 6376858:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 5844732:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 88732 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 117 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 514 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 358 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 286 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 1221578:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 6389528:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 5360846:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 4334749:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 131 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 70 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 708 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is validated Hash=23d83db2a0b909ab2a514070318c52d1 Time X054+X055-F 128.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X056-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056-F "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [b],$2 | MOV [b],$1 | MOV [c],$2 | MFENCE ; MOV [c],$1 | MOV [x],$2 | MFENCE | MOV EAX,[a] ; MOV [x],$1 | MFENCE | MOV EAX,[d] | ; | MOV EAX,[y] | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $2,(%rcx) _litmus_P3_1_: mfence _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: mfence _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $2,(%r8) _litmus_P2_2_: mfence _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl $1,(%rcx) Test X055+X056-F Required Histogram (69 states) 511875:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 47 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 356168:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 127403:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 132 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 184742:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 2615195:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 5297301:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 8627258:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 233824:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 3442326:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 3080103:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 21 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 117564:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 162268:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 41 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 202025:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 157752:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 3726970:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 743857:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 8797363:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 718050:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 4615769:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 1004316:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 2549049:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 614652:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 7215 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 5491 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 3215 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 3969 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 1220753:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 858501:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 3924273:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 4461742:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 4479781:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 14147098:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 6581 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 23960 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 11727 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 14807 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 111350:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 2 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 710628:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 6 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 46440 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 2037917:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 117356:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 655140:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 3594565:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 1067358:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 3083763:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 23 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 2113 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 12380 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 208275:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 38266 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 619548:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 4 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 7470762:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 143758:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 598 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 2 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 20290 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 1198 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 1871349:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 97908 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 1030567:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 205 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 3045 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is validated Hash=bffe5d576fa3b08a51938cccf539678e Time X055+X056-F 143.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./F/X057-F.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057-F "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV [d],$2 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | MFENCE | MOV [d],$1 ; MOV [c],$1 | MOV [x],$2 | MOV EBX,[a] | ; MOV [x],$1 | MOV [y],$1 | MOV [y],$2 | ; | | MFENCE | ; | | MOV EAX,[z] | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $2,(%rdx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: mfence _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $2,(%r8) _litmus_P2_4_: mfence _litmus_P2_5_: movl (%rdi),%eax Test X056+X057-F Required Histogram (89 states) 519325:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 331588:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 29 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 17519 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 7963928:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 827304:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 322856:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 248488:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 38921 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 101680:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 10148 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 1060908:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 292182:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 25478 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 64043 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 88053 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 99924 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 12 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 46662 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 948232:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 186898:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 136394:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 223643:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 7 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 67 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 8 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 3189158:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 2984697:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 89 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 85766 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 13156 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 6411 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 47 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 1071 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 1480950:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 8535367:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 41 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 1290136:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 8154 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 10364 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 15 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 2139 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 484422:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 3530433:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 45 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 1485064:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 715 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 551 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 19 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 2337 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 1339761:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 904534:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 36 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 1919 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 41764 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 29642 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 45542 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 2519958:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 4271168:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 1475 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 216757:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 3662 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 20431 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 345854:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 4451305:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 744 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 962042:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 3884 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 10906 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 1578549:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 21561466:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 92998 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 3032832:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 5061 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 67411 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 36 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 430 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 34180 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 4976249:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 87 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 13008 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 6911 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 6895122:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 7 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 28701 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 3675 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 9853404:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 13042 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=954b5208b2f83191befca0b773a00abf Time X056+X057-F 147.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X000-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000-A "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; MOV [y],$1 | MOV [x],$1 ; MOV ESI,$1 | MOV EAX,[x] ; XCHG [a],ESI | MOV ESI,$1 ; MOV EAX,[y] | XCHG [b],ESI ; MOV ECX,[a] | MOV ECX,[b] ; MOV EBX,[x] | MOV EDX,[a] ; MOV EDX,[b] | MOV EBX,[y] ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl (%rbx),%eax _litmus_P1_2_: movl $1,%r14d _litmus_P1_3_: xchgl %r14d,(%r12) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r13),%esi _litmus_P1_6_: movl (%r11),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: movl (%r11),%eax _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi Test X000+X000-A Required Histogram (6 states) 67882299:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 10163249:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 55359121:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 1348601:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 101015:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 65145715:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is validated Hash=58a08ed94dd0d2cfaeb8fb44f7c6a493 Time X000+X000-A 121.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X001-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001-A "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [y],$1 | MOV [x],$1 | MOV ECX,$1 ; MOV ESI,$1 | MOV ESI,$1 | XCHG [b],ECX ; XCHG [a],ESI | XCHG [c],ESI | MOV EAX,[b] ; MOV EAX,[y] | MOV EAX,[x] | MOV EBX,[c] ; MOV ECX,[a] | MOV EBX,[y] | ; MOV EBX,[x] | MOV ECX,[c] | ; MOV EDX,[b] | MOV EDX,[a] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r11) _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: movl (%r11),%eax _litmus_P0_4_: movl (%r13),%ecx _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r12) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl (%r11),%edx _litmus_P1_5_: movl (%r12),%ecx _litmus_P1_6_: movl (%r13),%esi Test X000+X001-A Required Histogram (17 states) 6419598:>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; 244925:>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; 39619 :>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; 9744547:>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; 1996 :>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; 9385704:>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; 22188987:>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; 3114660:>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; 18508937:>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; 16024 :>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; 74796 :>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; 88555 :>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; 2103393:>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; 6837245:>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; 3536556:>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; 427603:>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; 17266855:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=b69d08921031374022d43ec2f1266b41 Time X000+X001-A 106.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X002-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002-A "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV ECX,[c] | MOV ESI,$1 | MOV ESI,$1 ; MOV ESI,$1 | XCHG [x],ESI | XCHG [d],ESI ; XCHG [z],ESI | MOV EAX,[x] | MOV EAX,[y] ; MOV EDX,[d] | MOV [b],$1 | MOV EBX,[z] ; MOV EAX,[z] | MOV ECX,[b] | MOV ECX,[d] ; MOV EBX,[x] | MOV EDX,[c] | MOV EDX,[a] ; | MOV EBX,[y] | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%rbx),%eax _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%r13),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl (%r13),%ecx _litmus_P0_2_: movl $1,%r14d _litmus_P0_3_: xchgl %r14d,(%r11) _litmus_P0_4_: movl (%r12),%esi _litmus_P0_5_: movl (%r11),%eax _litmus_P0_6_: movl (%rbx),%edx _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rbx) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx Test X001+X002-A Required Histogram (23 states) 3352380:>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; 9052482:>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; 7204699:>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; 5585813:>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; 73015 :>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; 1562155:>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; 374039:>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; 7246461:>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; 4954564:>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; 4820 :>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; 945557:>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; 3992380:>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; 7739735:>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; 4525951:>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; 24165 :>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; 2166553:>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; 5410802:>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; 3859656:>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; 131956:>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; 12907087:>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; 6202479:>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; 2415312:>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; 10267939:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=0ed7511457233341d72fa3ac4bfcf5f9 Time X001+X002-A 125.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X003-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-A "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV ESI,$1 | MOV EAX,[y] | MOV ESI,$1 ; XCHG [a],ESI | MOV EDX,$1 | XCHG [c],ESI ; MOV [x],$1 | XCHG [d],EDX | MOV EAX,[z] ; MOV EAX,[x] | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV EBX,[z] | MOV ECX,[c] ; MOV ECX,[b] | | MOV EDX,[d] ; MOV EDX,[c] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r13) _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: movl $1,(%rbx) _litmus_P0_4_: movl (%rbx),%eax _litmus_P0_5_: movl (%r11),%edx _litmus_P0_6_: movl (%r13),%ecx _litmus_P0_7_: movl (%r12),%esi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl (%r10),%eax _litmus_P1_2_: movl $1,%r12d _litmus_P1_3_: xchgl %r12d,(%r11) _litmus_P1_4_: movl (%rbx),%ecx _litmus_P1_5_: movl (%r9),%edx Test X002+X003-A Required Histogram (24 states) 4621961:>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; 4712141:>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; 10560458:>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; 6444098:>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; 16650 :>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; 2498563:>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; 573440:>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; 8036483:>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; 5366810:>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; 2411 :>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; 44249 :>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; 2804791:>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; 7518881:>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; 5253663:>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; 31100 :>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; 2938006:>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; 4175431:>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; 4075505:>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; 70411 :>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; 1339807:>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; 10177298:>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; 2576674:>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; 2799942:>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; 13361227:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=4960d6b7c9c82a9573def7d91860166e Time X002+X003-A 124.64 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X004-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004-A "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV ECX,$1 ; MOV ECX,$1 | MOV EDX,$1 | MOV ESI,$1 | XCHG [c],ECX ; XCHG [z],ECX | XCHG [x],EDX | XCHG [y],ESI | MOV EAX,[c] ; MOV EBX,[c] | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; MOV EAX,[x] | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%r8) _litmus_P3_2_: movl (%r8),%eax _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X003+X004-A Required Histogram (59 states) 326981:>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; 1121351:>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; 987718:>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; 4410 :>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; 558170:>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; 27 :>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; 1864700:>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; 123896:>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; 2892945:>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; 853186:>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; 9893 :>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; 4975 :>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; 561082:>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; 752686:>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; 6921186:>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; 3329 :>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; 503481:>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; 3414537:>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; 733429:>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; 2478885:>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; 3759340:>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; 2041181:>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; 75295 :>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; 3873847:>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; 5201244:>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; 223080:>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; 3350937:>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; 2371434:>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; 496445:>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; 2783152:>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; 6514365:>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; 9577 :>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; 27349 :>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; 4054697:>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; 87718 :>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; 1406928:>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; 612394:>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; 358327:>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; 3493769:>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; 182616:>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; 2751746:>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; 628 :>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; 4738 :>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; 2228 :>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; 132724:>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; 2308 :>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; 760031:>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; 2243220:>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; 4578407:>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; 244076:>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; 1669695:>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; 2822117:>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; 1366523:>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; 123947:>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; 801125:>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; 6781283:>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; 1623092:>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; 2120207:>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; 6931343:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is validated Hash=bb73ba4a123b696bf7d83644b8532fe9 Time X003+X004-A 144.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X005-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005-A "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV EAX,[y] | MOV ESI,$1 ; XCHG [a],ECX | XCHG [b],EBX | MOV ESI,$1 | XCHG [z],ESI ; MOV EBX,[d] | MOV EAX,[y] | XCHG [e],ESI | MOV ECX,[d] ; MOV EAX,[x] | MOV [c],$1 | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r12) _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,%r14d _litmus_P2_3_: xchgl %r14d,(%r12) _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X004+X005-A Required Histogram (77 states) 1646442:>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; 2974289:>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; 358142:>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; 2473478:>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; 1019272:>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; 5157971:>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; 884821:>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; 4182 :>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; 711537:>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; 393045:>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; 2108865:>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; 1190968:>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; 326468:>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; 2308852:>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; 1859215:>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; 112096:>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; 893448:>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; 1659476:>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; 456081:>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; 2264123:>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; 256780:>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; 940796:>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; 6280 :>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; 104749:>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; 6245 :>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; 14115 :>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; 624832:>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; 6024793:>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; 2508521:>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; 717995:>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; 7003639:>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; 924580:>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; 6774 :>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; 1409825:>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; 2016109:>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; 611906:>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; 1227691:>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; 7 :>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; 141055:>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; 968215:>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; 1975182:>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; 73 :>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; 1012198:>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; 1000813:>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; 1472678:>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; 18052 :>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; 1805790:>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; 3584816:>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; 1295853:>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; 591678:>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; 6994843:>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; 558473:>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; 5576889:>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; 754698:>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; 2455 :>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; 486951:>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; 1403811:>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; 122 :>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; 10215 :>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; 1424824:>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; 289253:>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; 574804:>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; 385866:>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; 495231:>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; 730936:>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; 415843:>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; 1583571:>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; 2 :>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; 57156 :>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; 1960940:>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; 2160905:>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; 289492:>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; 932278:>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; 875860:>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; 4256490:>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; 7528 :>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; 695753:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is validated Hash=ca80902e627810ee7e2d863c3d38673a Time X004+X005-A 159.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X006-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-A "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV ECX,$2 | MOV EBX,$1 | MOV ESI,$1 | XCHG [z],ECX ; XCHG [b],ECX | XCHG [d],EBX | XCHG [c],ESI | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[y] | MOV EBX,[a] ; MOV EAX,[b] | MOV [b],$1 | MOV EBX,[z] | ; MOV EBX,[c] | | MOV ECX,[c] | ; | | MOV EDX,[d] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%rbx) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r13) _litmus_P2_3_: movl (%rbx),%eax _litmus_P2_4_: movl (%r11),%edx _litmus_P2_5_: movl (%r13),%ecx _litmus_P2_6_: movl (%r12),%esi Test X005+X006-A Required Histogram (92 states) 155221:>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; 1560309:>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; 125160:>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; 164355:>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; 1972184:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; 7 :>0:EAX=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; 26 :>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; 11385 :>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; 45205 :>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; 90383 :>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; 1642193:>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; 127356:>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; 63957 :>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; 573 :>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; 1646652:>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; 630990:>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; 4686289:>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; 69599 :>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; 370506:>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; 4351692:>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; 90773 :>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; 30898 :>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; 628455:>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; 15337 :>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; 371735:>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; 57919 :>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; 18007 :>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; 37 :>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; 283113:>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; 186832:>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; 1209793:>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; 336033:>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; 4656332:>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; 327178:>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; 98913 :>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; 781 :>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; 2721225:>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; 563577:>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; 4662659:>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; 2154469:>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; 1087461:>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; 513730:>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; 431659:>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; 3660347:>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; 6298303:>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; 8736 :>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; 3842734:>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; 2518925:>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; 67672 :>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; 512121:>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; 2100323:>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; 316 :>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; 1348422:>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; 5082207:>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; 4033834:>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; 7181 :>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; 2126842:>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; 178 :>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; 412201:>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; 748710:>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; 807 :>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; 1160123:>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 1140 :>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; 159 :>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; 417577:>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; 212 :>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; 2312 :>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; 1381520:>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; 569 :>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; 316976:>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; 1612326:>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; 3714 :>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; 3978303:>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; 2431748:>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; 668 :>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; 943193:>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; 247 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 214349:>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; 944 :>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; 5316 :>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; 447961:>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; 1463 :>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; 274453:>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; 4911 :>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; 4550232:>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; 4873 :>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; 16772 :>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; 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=1; b=1; x=2; 9819526:>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; 3780 :>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; 1473810:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is validated Hash=9826dbfec1eb83327c0baff3f5a74c4b Time X005+X006-A 147.21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X007-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007-A "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV ECX,$2 ; MOV [z],$1 | MOV EDX,$2 | MOV ESI,$1 | XCHG [c],ECX ; MOV [c],$1 | XCHG [x],EDX | XCHG [y],ESI | MOV EAX,[c] ; MOV [x],$1 | MOV ECX,[b] | MOV ECX,[d] | MOV EBX,[d] ; | MOV EAX,[x] | MOV EDX,[a] | ; | MOV EBX,[y] | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%r8) _litmus_P3_2_: movl (%r8),%eax _litmus_P3_3_: movl (%rdi),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rbx) _litmus_P1_1_: movl $2,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X006+X007-A Required Histogram (132 states) 7 :>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; 68186 :>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; 18 :>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; 2 :>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; 25465 :>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; 18846 :>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; 10401 :>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; 15 :>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; 163 :>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; 231997:>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; 393236:>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; 302660:>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; 13 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 5783 :>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; 74210 :>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; 50499 :>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; 1730274:>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; 491 :>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; 452252:>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; 1011 :>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; 108020:>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; 211577:>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; 851 :>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; 8101395:>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; 4731 :>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; 221366:>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; 729049:>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; 1416525:>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; 3453855:>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; 743625:>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; 73 :>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; 61737 :>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; 101314:>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; 32865 :>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; 7 :>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; 2649 :>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; 15687 :>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; 4442 :>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; 98440 :>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; 49 :>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; 45941 :>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; 29 :>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; 18664 :>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; 9475 :>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; 9 :>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; 446927:>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; 207 :>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; 47989 :>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; 11866 :>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; 53809 :>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; 211607:>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; 39414 :>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; 1850 :>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; 2598106:>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; 2043092:>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; 1387615:>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; 94 :>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; 37048 :>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; 148485:>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; 75330 :>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; 2348968:>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; 817 :>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; 1685195:>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; 362 :>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; 192845:>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; 266341:>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; 3 :>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; 2973261:>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; 2250 :>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; 1218667:>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; 5354 :>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; 130459:>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; 1997951:>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; 1027356:>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; 8 :>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; 8 :>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; 877 :>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; 1553852:>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; 403 :>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; 168 :>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; 696302:>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; 240849:>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; 291590:>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; 271 :>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; 1742 :>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; 697535:>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; 937637:>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; 286342:>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; 127 :>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; 21656 :>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; 125960:>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; 30863 :>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; 779165:>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; 588 :>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; 320885:>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; 181 :>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; 105084:>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; 45017 :>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; 686 :>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; 3901341:>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; 3494 :>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; 301025:>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; 577099:>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; 457215:>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; 2093716:>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; 162342:>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; 29451 :>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; 153048:>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; 100574:>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; 983396:>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; 2963734:>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; 664 :>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; 3582426:>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; 4500307:>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; 216830:>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; 193532:>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; 32 :>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; 52913 :>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; 270362:>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; 3505374:>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; 1098070:>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; 553 :>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; 31218 :>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; 1531509:>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; 1045944:>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; 5256472:>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; 2778069:>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; 3329029:>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; 5966177:>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; 575 :>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; 3476750:>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; 7597791:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=aa23c4b869be7e49bdc68760f4b08cae Time X006+X007-A 145.71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X008-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008-A "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV ESI,$1 ; MOV EBX,$1 | MOV [y],$1 | MOV ESI,$1 | XCHG [z],ESI ; XCHG [d],EBX | MOV [c],$1 | XCHG [e],ESI | MOV ECX,[d] ; MOV EAX,[x] | | MOV ECX,[e] | MOV EDX,[e] ; | | MOV EDX,[b] | MOV EAX,[z] ; | | MOV EBX,[z] | MOV EBX,[a] ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: movl $2,(%r12) _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: movl (%r12),%ecx _litmus_P3_4_: movl (%rbx),%esi _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r13),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rsi) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%rbx) _litmus_P2_1_: movl (%rbx),%eax _litmus_P2_2_: movl $1,%r14d _litmus_P2_3_: xchgl %r14d,(%r12) _litmus_P2_4_: movl (%r12),%ecx _litmus_P2_5_: movl (%r13),%esi _litmus_P2_6_: movl (%r11),%edx Test X007+X008-A Required Histogram (130 states) 139802:>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; 2750 :>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; 3749 :>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; 6337 :>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; 370294:>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; 109884:>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; 1021192:>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; 2519711:>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; 4995 :>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; 50589 :>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; 864338:>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; 4039963:>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; 221051:>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; 251125:>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; 797 :>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; 8478 :>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; 158234:>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; 1071038:>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; 810773:>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; 3535355:>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; 625999:>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; 388386:>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; 22 :>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; 713 :>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; 172805:>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; 48 :>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; 2161 :>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; 347864:>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; 1802124:>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; 177288:>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; 2284516:>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; 88906 :>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; 825462:>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; 3141 :>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; 1214 :>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; 508403:>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; 59479 :>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; 678548:>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; 102450:>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; 627660:>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; 7 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 9439 :>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; 25 :>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; 5696 :>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; 751911:>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; 514 :>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; 820 :>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; 821570:>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; 16010 :>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; 1566264:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 1144 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=0; c=2; d=1; y=1; 1633 :>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; 68762 :>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; 1086574:>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; 1912 :>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; 830 :>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; 721039:>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; 3222 :>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; 332063:>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; 2388314:>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; 332391:>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; 312 :>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; 404565:>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; 313 :>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; 1039778:>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; 209265:>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; 27714 :>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; 142 :>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; 99602 :>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; 914 :>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; 452807:>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; 882309:>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; 31858 :>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; 29777 :>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; 11664 :>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; 1825327:>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; 247977:>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; 5540738:>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; 3629984:>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; 975319:>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; 70933 :>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; 2069 :>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; 2392 :>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; 951639:>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; 1473725:>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; 5247 :>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; 4775 :>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; 3428945:>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; 1702516:>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; 500 :>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; 187 :>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; 643397:>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; 14 :>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; 2068 :>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; 655887:>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; 1158 :>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; 43072 :>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; 349959:>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; 874422:>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; 620312:>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; 3346258:>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; 75944 :>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; 882701:>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; 156 :>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; 30953 :>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; 37072 :>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; 699232:>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; 520 :>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; 1083 :>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; 2985 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 21 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=1; d=1; y=2; 43977 :>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; 1117067:>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; 9254496:>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; 1232910:>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; 1753803:>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; 2907662:>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; 1091180:>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; 963962:>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; 294079:>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; 1056046:>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; 3181434:>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; 1884092:>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; 956124:>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; 1522667:>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; 1408928:>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; 1707402:>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; 1287228:>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; 3370190:>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; 1648462:>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is validated Hash=5a138a75139a6b7947f385f34f18bdcc Time X007+X008-A 162.53 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X009-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009-A "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV [x],$2 | MOV ECX,$2 | MOV ECX,$1 ; XCHG [c],ECX | MOV [y],$1 | XCHG [y],ECX | XCHG [z],ECX ; MOV [a],$1 | MOV ECX,$1 | MOV EAX,[y] | MOV EAX,[z] ; MOV [x],$1 | XCHG [d],ECX | MOV EBX,[z] | MOV EBX,[a] ; MOV EAX,[c] | MOV [b],$1 | | ; MOV EBX,[d] | MOV EAX,[b] | | ; | MOV EBX,[c] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r9) _litmus_P0_2_: movl $1,(%r10) _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,%ebx _litmus_P1_3_: xchgl %ebx,(%r9) _litmus_P1_4_: movl $1,(%r11) _litmus_P1_5_: movl (%r11),%eax _litmus_P1_6_: movl (%r10),%edx _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%r8) _litmus_P2_2_: movl (%r8),%eax _litmus_P2_3_: movl (%rdi),%edx Test X008+X009-A Required Histogram (56 states) 87162 :>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; 197 :>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; 11404 :>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; 3638667:>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; 2323733:>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; 3650399:>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; 279898:>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; 185584:>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; 332032:>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; 2291151:>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; 4247068:>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; 4370886:>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; 78471 :>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; 49097 :>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; 95584 :>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; 930330:>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; 2965497:>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; 2670609:>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; 37902 :>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; 187345:>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; 134135:>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; 40756 :>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; 638885:>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; 372945:>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; 1793760:>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; 35027 :>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; 98309 :>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; 3255 :>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; 5843364:>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; 84935 :>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; 65870 :>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; 2582 :>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; 10161523:>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; 251838:>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; 644538:>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; 20365 :>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; 7390263:>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; 83275 :>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; 3572936:>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; 2094 :>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; 257751:>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; 12429817:>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; 1637162:>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; 4502983:>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; 3676454:>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; 452981:>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; 1541956:>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; 3581923:>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; 1342108:>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; 2937711:>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; 735922:>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; 43257 :>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; 1535334:>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; 87425 :>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; 5265471:>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; 298074:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is validated Hash=2816b8749bde7afdf69db9a41eb8ae9a Time X008+X009-A 140.14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X010-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010-A "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV ECX,$1 ; MOV ESI,$1 | MOV EDX,$1 | XCHG [d],ECX ; XCHG [z],ESI | XCHG [a],EDX | MOV EAX,[d] ; MOV [x],$1 | MOV ECX,[b] | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | ; MOV [c],$1 | MOV EBX,[z] | ; MOV ECX,[c] | | ; MOV EDX,[d] | | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,%ecx _litmus_P0_2_: xchgl %ecx,(%r11) _litmus_P0_3_: movl $1,(%r12) _litmus_P0_4_: movl (%r12),%esi _litmus_P0_5_: movl $1,(%r14) _litmus_P0_6_: movl (%r14),%eax _litmus_P0_7_: movl (%r13),%edx _litmus_P0_8_: movl (%r15),%edi _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: movl (%r11),%ecx _litmus_P1_4_: movl (%r10),%eax _litmus_P1_5_: movl (%r9),%edx Test X009+X010-A Required Histogram (17 states) 7102002:>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; 289126:>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; 270191:>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; 10307397:>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; 491077:>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; 10486500:>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; 19649441:>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; 3732205:>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; 21305435:>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; 344017:>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; 1713329:>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; 67364 :>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; 189882:>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; 8449432:>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; 5944851:>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; 276618:>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; 9381133:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=acb7a63abe5c6d21be54f3d1740ae6e6 Time X009+X010-A 114.46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X011-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011-A "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [d],$1 | MOV ECX,$1 | MOV ESI,$1 ; MOV EDX,$1 | XCHG [b],ECX | XCHG [e],ESI ; XCHG [a],EDX | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV EAX,[y] | MOV ECX,[e] ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%rbx),%ecx _litmus_P2_6_: movl (%r12),%esi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,%r13d _litmus_P0_3_: xchgl %r13d,(%r12) _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r9) _litmus_P1_1_: movl $1,%ebx _litmus_P1_2_: xchgl %ebx,(%r11) _litmus_P1_3_: movl $1,(%r8) _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl (%r8),%eax _litmus_P1_6_: movl (%rdi),%edx Test X010+X011-A Required Histogram (24 states) 5360592:>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; 10710722:>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; 6212309:>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; 18920 :>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; 2157599:>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; 552942:>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; 258728:>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; 92854 :>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; 2867234:>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; 4670343:>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; 6766881:>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; 398 :>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; 1671783:>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; 10519566:>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; 1756085:>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; 2029751:>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; 12170130:>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; 3762027:>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; 7872399:>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; 5633310:>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; 7182766:>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; 4845324:>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; 231073:>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; 2656264:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=2b6e00fd033659ec4cbc995ecb842453 Time X010+X011-A 129.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X012-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012-A "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [x],$2 | MOV ECX,$1 ; MOV ECX,$1 | MOV [y],$1 | XCHG [z],ECX ; XCHG [a],ECX | MOV EDX,$1 | MOV EAX,[z] ; MOV EAX,[b] | XCHG [c],EDX | MOV EBX,[a] ; MOV [x],$1 | MOV ECX,[b] | ; MOV EBX,[c] | MOV EAX,[y] | ; | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r9) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,%r13d _litmus_P1_3_: xchgl %r13d,(%rbx) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X011+X012-A Required Histogram (17 states) 9868444:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 11923439:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 8400 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 3389370:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 16156258:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 8934961:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 751534:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 791939:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 4187169:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3409119:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 13362239:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 5220085:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 3867 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 2974687:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1357 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 19011046:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 6086 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=05de287283b5a24fcc7451f3a24f9cab Time X011+X012-A 110.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X013-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013-A "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV EDX,$1 | MOV EDX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [y],EDX | XCHG [x],EDX | XCHG [d],ECX | XCHG [c],EBX ; MOV EAX,[x] | MOV EAX,[x] | MOV EAX,[d] | MOV EAX,[d] ; MOV EDX,$1 | MOV EBX,[y] | MOV EBX,[a] | ; XCHG [b],EDX | MOV EDX,$1 | | ; MOV EBX,[b] | XCHG [a],EDX | | ; MOV ECX,[c] | MOV ECX,[b] | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%r12d _litmus_P0_1_: xchgl %r12d,(%r9) _litmus_P0_2_: movl (%r10),%eax _litmus_P0_3_: movl $1,%r12d _litmus_P0_4_: xchgl %r12d,(%rbx) _litmus_P0_5_: movl (%rbx),%edx _litmus_P0_6_: movl (%r11),%ecx _litmus_P1_0_: movl $1,%r12d _litmus_P1_1_: xchgl %r12d,(%r10) _litmus_P1_2_: movl (%r10),%eax _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl $1,%r12d _litmus_P1_5_: xchgl %r12d,(%rbx) _litmus_P1_6_: movl (%r11),%ecx _litmus_P2_0_: movl $1,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx Test X012+X013-A Required Histogram (45 states) 3378218:>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; 28554 :>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; 996925:>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; 15 :>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; 486244:>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; 1826016:>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; 4160 :>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; 11566533:>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; 4112461:>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; 451586:>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; 9903118:>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; 646 :>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; 2248 :>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; 19703 :>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; 430588:>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; 94669 :>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; 556609:>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; 1613904:>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; 27219 :>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; 2626998:>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; 1236518:>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; 268430:>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; 10126175:>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; 2286 :>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; 15787 :>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; 81558 :>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; 2064508:>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; 79262 :>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; 1171436:>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; 8590462:>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; 416887:>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; 15054518:>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; 7354892:>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; 1805149:>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; 8721025:>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; 2665 :>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; 18326 :>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; 11918 :>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; 261223:>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; 275819:>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; 386550:>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; 2464071:>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; 147836:>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; 734953:>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; 581332:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=b3be5c00436a09941d5292a17b190469 Time X012+X013-A 132.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X014-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014-A "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV EDX,$1 | MOV EDX,$1 ; MOV EDX,$2 | MOV EAX,[x] | XCHG [y],EDX | XCHG [z],EDX ; XCHG [c],EDX | MOV [b],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[x] | MOV ECX,$1 | MOV EDX,$1 | MOV EBX,[a] ; MOV EBX,[c] | XCHG [c],ECX | XCHG [e],EDX | MOV EDX,$1 ; MOV ECX,[d] | MOV EBX,[y] | MOV EBX,[e] | XCHG [d],EDX ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: movl $1,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,%r12d _litmus_P3_5_: xchgl %r12d,(%r11) _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $2,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r10),%ecx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl (%r8),%eax _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl $1,%r11d _litmus_P1_4_: xchgl %r11d,(%r9) _litmus_P1_5_: movl (%rdi),%edx _litmus_P2_0_: movl $1,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,%r12d _litmus_P2_4_: xchgl %r12d,(%r11) _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%rbx),%ecx Test X013+X014-A Required Histogram (200 states) 15 :>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; 1 :>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; 1488 :>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; 1602 :>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; 460 :>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; 20933 :>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; 22 :>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; 1822 :>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; 820169:>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; 1370314:>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; 191661:>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; 35 :>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; 8 :>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; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3206 :>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; 367 :>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; 764 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 1 :>0:EAX=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; 14011 :>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; 32385 :>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; 5143 :>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; 5208 :>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; 1093692:>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; 375294:>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; 117117:>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; 5061 :>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; 113035:>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; 8457 :>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; 10898 :>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; 3056955:>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; 1775398:>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; 465886:>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; 8900 :>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; 9 :>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; 2 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 57 :>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; 191 :>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; 48 :>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; 644019:>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; 443 :>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; 74 :>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; 7708 :>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; 62120 :>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; 3525 :>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; 9 :>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; 3473 :>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; 5516 :>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; 405 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 452 :>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; 20 :>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; 2640 :>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; 82867 :>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; 3485 :>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; 31 :>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; 13544 :>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; 162 :>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; 668 :>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; 1211 :>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; 781982:>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; 3382525:>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; 230606:>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; 3275 :>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; 762960:>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; 22519 :>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; 10291 :>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; 514 :>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; 155136:>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; 5741878:>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; 220795:>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; 4313 :>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; 1311554:>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; 155672:>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; 50503 :>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; 6911 :>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; 42624 :>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; 12847 :>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; 1094 :>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; 765525:>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; 349436:>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; 139507:>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; 590 :>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; 36618 :>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; 1268 :>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; 257 :>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; 178891:>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; 119983:>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; 46293 :>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; 3751 :>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; 2378 :>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; 3965 :>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; 39 :>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; 72663 :>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; 2066 :>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; 7720 :>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; 2271 :>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; 981 :>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; 441 :>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; 29 :>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; 6588 :>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; 729 :>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; 73 :>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; 15546 :>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; 50915 :>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; 12187 :>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; 492 :>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; 367039:>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; 31802 :>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; 46883 :>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; 2061 :>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; 1219826:>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; 7010716:>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; 588291:>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; 4642 :>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; 1703889:>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; 92505 :>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; 60958 :>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; 23 :>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; 26846 :>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; 724608:>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; 16891 :>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; 410 :>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; 132266:>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; 24482 :>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; 8088 :>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; 1623 :>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; 646207:>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; 1140956:>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; 53523 :>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; 65 :>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; 23673 :>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; 16 :>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; 2 :>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; 3909 :>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; 2231947:>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; 4298109:>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; 624345:>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; 1883 :>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; 1179193:>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; 3436 :>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; 8514 :>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; 748 :>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; 438060:>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; 735063:>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; 71788 :>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; 427 :>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; 79318 :>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; 262 :>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; 20 :>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; 1044 :>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; 686683:>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; 2883746:>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; 240176:>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; 2498 :>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; 935703:>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; 11878 :>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; 7635 :>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; 902 :>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; 674515:>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; 24 :>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; 8673 :>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; 41 :>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; 25043 :>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; 145197:>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; 7944726:>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; 14996 :>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; 5125416:>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; 19 :>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; 21426 :>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; 4500 :>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; 9610 :>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; 4427 :>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; 4719099:>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; 859790:>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; 436602:>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; 174346:>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; 34586 :>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; 1646165:>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; 1309 :>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; 168050:>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; 20436 :>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; 487292:>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; 57209 :>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; 1761255:>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; 83465 :>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; 604200:>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; 57360 :>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; 1239158:>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; 1478886:>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; 324533:>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; 10801 :>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; 5169 :>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; 5177430:>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; 308957:>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; 6636438:>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; 942824:>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; 3451479:>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; 307432:>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; 1320084:>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; 279263:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is validated Hash=fdfa59e56c2aca907a68074b7fe1ae1e Time X013+X014-A 162.07 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X015-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015-A "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV ECX,$1 ; MOV [d],$1 | MOV ESI,$2 | MOV EDX,$1 | XCHG [z],ECX ; MOV EBX,$1 | XCHG [x],ESI | XCHG [e],EDX | MOV EAX,[z] ; XCHG [x],EBX | MOV EAX,[x] | MOV EBX,[e] | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | MOV ECX,[b] | ; | MOV ECX,[c] | MOV EAX,[z] | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rdi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rcx) _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,%r15d _litmus_P1_2_: xchgl %r15d,(%rbx) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%r11) _litmus_P2_3_: movl (%r11),%edx _litmus_P2_4_: movl (%rbx),%ecx _litmus_P2_5_: movl (%r9),%eax Test X014+X015-A Required Histogram (72 states) 2515013:>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; 228288:>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; 789994:>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; 1601171:>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; 338905:>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; 831735:>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; 416677:>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; 425130:>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; 288 :>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; 3598 :>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; 2262522:>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; 7170338:>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; 52634 :>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; 4795019:>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; 64031 :>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; 1205 :>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; 414321:>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; 15698 :>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; 196216:>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; 698052:>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; 457660:>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; 2272706:>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; 1804371:>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; 603081:>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; 1581389:>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; 120037:>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; 91669 :>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; 181239:>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; 394763:>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; 1771181:>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; 12177 :>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; 1294689:>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; 7336 :>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; 128 :>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; 82566 :>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; 2750 :>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; 23422 :>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; 77580 :>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; 78901 :>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; 497086:>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; 4513728:>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; 5089815:>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; 46477 :>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; 1694356:>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; 181356:>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; 2675 :>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; 1516284:>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; 102008:>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; 223190:>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; 587237:>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; 663542:>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; 2539720:>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; 1172246:>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; 813210:>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; 3065259:>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; 43 :>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; 1009594:>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; 2112 :>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; 2465466:>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; 1618018:>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; 1391295:>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; 7371964:>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; 2843726:>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; 2797614:>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; 290281:>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; 3326 :>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; 603625:>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; 344331:>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; 5933464:>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; 20475 :>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; 12455736:>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; 4462261:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is validated Hash=797d0a2cdf42707d455e2e5c107f63a9 Time X014+X015-A 150.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X016-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016-A "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [a],EDX | XCHG [d],ECX | XCHG [c],ESI ; MOV [x],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV ECX,[c] | MOV EBX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%rbx) _litmus_P0_1_: movl $1,%r13d _litmus_P0_2_: xchgl %r13d,(%r12) _litmus_P0_3_: movl $1,(%r10) _litmus_P0_4_: movl (%r11),%ecx _litmus_P0_5_: movl (%r10),%eax _litmus_P0_6_: movl (%r9),%edx _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r9) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl (%r10),%edx Test X015+X016-A Required Histogram (23 states) 4306613:>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; 5750174:>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; 9712822:>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; 6522872:>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; 72882 :>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; 1587211:>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; 663148:>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; 7822570:>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; 4261578:>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; 39138 :>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; 103517:>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; 3832891:>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; 7827031:>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; 5022816:>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; 1618 :>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; 1371367:>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; 4458389:>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; 7276882:>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; 699167:>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; 12015571:>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; 4109953:>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; 983998:>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; 11557792:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is validated Hash=d39d99a3361f8cbf0c5b09f1ef5d56fa Time X015+X016-A 121.67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X017-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017-A "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV EBX,$1 ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | XCHG [c],EBX ; XCHG [z],ECX | XCHG [a],ECX | XCHG [y],ESI | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X016+X017-A Required Histogram (56 states) 763969:>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; 690179:>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; 1770803:>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; 5090 :>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; 1019756:>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; 1175 :>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; 2721420:>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; 789383:>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; 3189757:>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; 377679:>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; 12213 :>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; 201226:>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; 553384:>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; 8407504:>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; 25 :>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; 296727:>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; 3245487:>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; 1046530:>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; 1597840:>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; 5581626:>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; 1556882:>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; 79781 :>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; 1841340:>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; 5954350:>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; 297743:>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; 4273653:>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; 1679414:>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; 832371:>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; 1433464:>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; 8431185:>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; 6764 :>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; 43405 :>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; 5189587:>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; 518326:>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; 1238712:>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; 2230366:>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; 423763:>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; 3709427:>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; 112444:>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; 1724126:>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; 1090 :>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; 4378 :>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; 77430 :>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; 303529:>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; 2005702:>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; 4450149:>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; 87943 :>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; 1285460:>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; 2320089:>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; 2026650:>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; 9807 :>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; 895047:>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; 4203663:>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; 1566851:>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; 447049:>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; 6466287:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is validated Hash=411f88c3b4ea11ecd4e19efb02d1bfb6 Time X016+X017-A 140.70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X018-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018-A "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV EDX,$1 | MOV EDX,$1 ; MOV ECX,$2 | MOV EBX,$1 | XCHG [y],EDX | XCHG [z],EDX ; XCHG [c],ECX | XCHG [b],EBX | MOV EAX,[z] | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | MOV EDX,$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | XCHG [e],EDX | MOV EDX,$1 ; | | MOV EBX,[e] | XCHG [d],EDX ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: movl $1,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $1,%r12d _litmus_P3_5_: xchgl %r12d,(%r11) _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,%r12d _litmus_P2_4_: xchgl %r12d,(%r11) _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%rbx),%ecx Test X017+X018-A Required Histogram (132 states) 17 :>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; 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=0; c=1; 985 :>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; 3026 :>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; 17284 :>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; 133 :>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; 1074355:>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; 1639843:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3 :>0:EAX=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; 44 :>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; 139 :>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; 123 :>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; 6431 :>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; 30409 :>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; 60287 :>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; 397370:>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; 2319293:>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; 75705 :>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; 65779 :>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; 1180929:>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; 6267698:>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; 10088 :>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; 123 :>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; 63 :>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; 149 :>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; 509838:>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; 3770 :>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; 46006 :>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; 26207 :>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; 5688 :>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; 9245 :>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; 108 :>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; 62624 :>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; 25447 :>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; 12 :>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; 2512 :>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; 3721965:>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; 3420032:>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; 13078 :>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; 368020:>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; 4361949:>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; 1559334:>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; 72341 :>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; 588506:>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; 32218 :>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; 89418 :>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; 192660:>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; 1410901:>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; 28035 :>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; 7393 :>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; 67758 :>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; 392421:>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; 7 :>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; 23 :>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; 1434 :>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; 43496 :>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; 522 :>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; 187311:>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; 2286 :>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; 12395 :>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; 329 :>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; 16246 :>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; 32331 :>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; 114334:>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; 6985 :>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; 736599:>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; 6470675:>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; 4996695:>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; 36725 :>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; 703164:>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; 630724:>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; 197329:>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; 11553 :>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; 70158 :>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; 1297917:>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; 1629461:>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; 7200 :>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; 3657026:>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; 5410360:>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; 102 :>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; 285352:>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; 925104:>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; 1331781:>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; 38 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 37615 :>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; 2291598:>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; 2508003:>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; 2498 :>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; 336707:>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; 753 :>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; 497383:>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; 46 :>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; 9995 :>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; 31 :>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; 15473 :>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; 157429:>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; 7829945:>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; 3598 :>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; 1937193:>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; 7 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 18235 :>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; 6175 :>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; 2236 :>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; 546 :>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; 3694887:>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; 806350:>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; 57764 :>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; 14473 :>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; 33892 :>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; 1543463:>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; 823 :>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; 145606:>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; 33398 :>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; 699990:>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; 34756 :>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; 1105710:>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; 85882 :>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; 628202:>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; 23670 :>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; 678586:>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; 2141622:>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; 260072:>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; 6841 :>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; 2404 :>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; 5330333:>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; 352692:>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; 3195328:>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; 493178:>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; 3285159:>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; 291894:>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; 336801:>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; 77332 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is validated Hash=01414db8977ae73a072e8359a95ea792 Time X017+X018-A 158.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X019-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019-A "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV EBX,$2 | MOV EBX,$1 | MOV EDX,$1 | XCHG [z],ECX ; XCHG [b],EBX | XCHG [d],EBX | XCHG [c],EDX | MOV EAX,[z] ; MOV EAX,[c] | MOV EAX,[y] | MOV EBX,[c] | MOV EBX,[a] ; MOV [x],$1 | MOV [b],$1 | MOV ECX,[d] | ; | | MOV EAX,[z] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%rbx) _litmus_P2_3_: movl (%rbx),%edx _litmus_P2_4_: movl (%r11),%ecx _litmus_P2_5_: movl (%r9),%eax Test X018+X019-A Required Histogram (55 states) 1937889:>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; 207996:>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; 4152579:>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; 15 :>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; 14952 :>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; 1606155:>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; 65530 :>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; 1755443:>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; 3925625:>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; 108243:>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; 6345879:>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; 240131:>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; 2548022:>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; 388775:>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; 27437 :>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; 367138:>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; 729176:>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; 5641999:>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; 169461:>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; 3699185:>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; 4952519:>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; 2596681:>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; 2087520:>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; 443194:>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; 368065:>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; 3183733:>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; 6210057:>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; 11416 :>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; 2944511:>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; 2765539:>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; 216349:>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; 507204:>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; 1709813:>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; 1149 :>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; 1006577:>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; 5404483:>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; 4316674:>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; 8778 :>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; 1537731:>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; 344046:>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; 1144505:>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; 1000188:>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; 308015:>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; 1033309:>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; 20447 :>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; 1932435:>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; 3146272:>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; 4510993:>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; 1240661:>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; 155055:>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; 262646:>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; 5992 :>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; 3479217:>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; 7029451:>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; 183145:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is validated Hash=ff5a01d2679f39beb9df9d520baebfca Time X018+X019-A 143.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X020-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020-A "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV EBX,$2 ; MOV [z],$1 | MOV ECX,$1 | MOV ESI,$1 | XCHG [c],EBX ; MOV [c],$1 | XCHG [a],ECX | XCHG [y],ESI | MOV EAX,[d] ; MOV [x],$1 | MOV EBX,[b] | MOV ECX,[d] | ; | MOV EAX,[y] | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X019+X020-A Required Histogram (56 states) 487499:>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; 1346994:>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; 3847 :>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; 860981:>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; 1744704:>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; 241861:>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; 982 :>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; 97750 :>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; 7981920:>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; 220934:>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; 4480069:>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; 4800543:>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; 2973755:>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; 5622356:>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; 29850 :>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; 1119263:>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; 2406934:>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; 1250626:>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; 358 :>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; 192346:>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; 3326149:>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; 1111815:>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; 190055:>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; 4070477:>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; 8685 :>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; 1357319:>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; 67 :>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; 1505503:>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; 181393:>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; 761920:>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; 2203870:>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; 10230 :>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; 845610:>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; 778139:>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; 281092:>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; 136 :>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; 80816 :>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; 3549460:>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; 257789:>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; 1713141:>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; 2826255:>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; 525782:>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; 3556701:>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; 2480441:>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; 2104612:>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; 1988705:>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; 1349324:>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; 12966 :>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; 511074:>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; 1726532:>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; 5259124:>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; 2105295:>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; 2311896:>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; 7361290:>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; 3135403:>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; 4647362:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is validated Hash=baf718da5ac5fa8be95c313cc45f0cf3 Time X019+X020-A 142.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X021-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021-A "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV EDX,$2 | MOV EDX,$1 ; MOV [c],$2 | MOV [b],$1 | XCHG [y],EDX | XCHG [z],EDX ; MOV EBX,$1 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; XCHG [d],EBX | MOV [c],$1 | MOV EDX,$1 | MOV EBX,[a] ; MOV EAX,[x] | | XCHG [e],EDX | MOV EDX,$2 ; | | MOV EBX,[e] | XCHG [d],EDX ; | | MOV ECX,[b] | MOV ECX,[e] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: movl $1,%r12d _litmus_P3_1_: xchgl %r12d,(%r9) _litmus_P3_2_: movl (%r9),%eax _litmus_P3_3_: movl (%rbx),%edx _litmus_P3_4_: movl $2,%r12d _litmus_P3_5_: xchgl %r12d,(%r11) _litmus_P3_6_: movl (%r10),%ecx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rsi) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,%r12d _litmus_P2_1_: xchgl %r12d,(%r10) _litmus_P2_2_: movl (%r9),%eax _litmus_P2_3_: movl $1,%r12d _litmus_P2_4_: xchgl %r12d,(%r11) _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%rbx),%ecx Test X020+X021-A Required Histogram (131 states) 994 :>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; 3616 :>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; 736154:>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; 1522287:>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; 175 :>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; 15841 :>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; 1008368:>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; 3616206:>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; 86 :>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; 124 :>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; 14569 :>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; 4357 :>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; 46 :>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; 2499 :>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; 29070 :>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; 94345 :>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; 133275:>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; 1332844:>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; 37696 :>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; 261121:>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; 605 :>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; 143896:>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; 4384 :>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; 285621:>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; 23484 :>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; 147117:>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; 3425 :>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; 10400 :>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; 93 :>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; 53267 :>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; 528 :>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; 17295 :>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; 516 :>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; 624136:>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; 29641 :>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; 2411974:>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; 8 :>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; 2250 :>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; 20954 :>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; 1623208:>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; 126195:>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; 1387616:>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; 527243:>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; 83729 :>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; 1012 :>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; 176455:>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; 23264 :>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; 8 :>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; 14661 :>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; 815 :>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; 24 :>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; 160 :>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; 40186 :>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; 47226 :>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; 7770 :>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; 94 :>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; 484466:>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; 10426 :>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; 53150 :>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; 32663 :>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; 3568460:>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; 1252716:>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; 17580 :>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; 64025 :>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; 13861 :>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; 7473 :>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; 765 :>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; 24412 :>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; 15404 :>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; 74604 :>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; 5475741:>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; 5344001:>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; 476372:>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; 162886:>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; 3085558:>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; 5075658:>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; 1601210:>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; 1694211:>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; 6 :>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; 1886 :>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; 5069 :>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; 32578 :>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; 14436 :>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; 311 :>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; 31073 :>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; 14185 :>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; 1086968:>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; 4083 :>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; 3995071:>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; 340829:>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; 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=1; y=2; 964139:>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; 3126343:>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; 61 :>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; 9531 :>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; 108732:>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; 19 :>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; 290 :>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; 17312 :>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; 1116 :>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; 12 :>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; 3605 :>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; 18350 :>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; 10845575:>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; 4471 :>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; 361766:>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; 1139646:>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; 734114:>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; 125925:>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; 55097 :>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; 35409 :>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; 81763 :>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; 9389 :>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; 7345 :>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; 5301317:>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; 4105359:>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; 4 :>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; 2353 :>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; 15816 :>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; 1550204:>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; 1823131:>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; 1110319:>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; 1486927:>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; 11 :>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; 88353 :>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; 37358 :>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; 5693371:>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; 24885 :>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; 68316 :>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; 6938719:>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; 3388476:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is validated Hash=ee743eb62ce92bca3f336658103906ae Time X020+X021-A 160.75 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X022-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022-A "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV ECX,$2 | MOV [c],$1 | XCHG [y],EBX | XCHG [z],ECX ; XCHG [b],ECX | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[z] ; MOV EAX,[b] | MOV [b],$1 | | MOV EBX,[a] ; MOV [x],$1 | | | ; MOV EBX,[c] | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: movl $1,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl (%r9),%eax _litmus_P0_4_: movl $1,(%rdi) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X021+X022-A Required Histogram (45 states) 281055:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 421776:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 909950:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1402148:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1124231:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2844884:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2173660:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1253979:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 2961067:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1277175:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 391099:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 1346763:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 5276077:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 6262188:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 6073748:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 805048:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 423183:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 26431 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 2726161:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 120156:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 9463883:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 342741:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 8442039:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 287463:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 35 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 48 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 419278:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 541261:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 702068:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 260030:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 305763:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 385343:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1027972:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 809151:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1242504:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1911275:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 12648745:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 6549702:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 9240661:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 453287:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 28161 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 1258520:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 111933:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 5078846:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 388512:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is validated Hash=535342671c7e9f34b3cfd5c5f88c286e Time X021+X022-A 130.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X023-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023-A "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [y],$1 | MOV ECX,$2 | MOV ECX,$2 | MOV [c],$1 ; MOV [x],$1 | XCHG [x],ECX | XCHG [d],ECX | MOV [d],$1 ; MOV ECX,$2 | MOV EAX,[x] | MOV EAX,[d] | ; XCHG [b],ECX | MOV EBX,[y] | MOV EBX,[a] | ; MOV EAX,[b] | MOV [a],$1 | | ; MOV EBX,[c] | MOV [b],$1 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,(%r8) _litmus_P0_2_: movl $2,%r11d _litmus_P0_3_: xchgl %r11d,(%r10) _litmus_P0_4_: movl (%r10),%eax _litmus_P0_5_: movl (%r9),%edx _litmus_P1_0_: movl $2,%r11d _litmus_P1_1_: xchgl %r11d,(%r8) _litmus_P1_2_: movl (%r8),%eax _litmus_P1_3_: movl (%rdi),%edx _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl $1,(%r9) _litmus_P2_0_: movl $2,%r9d _litmus_P2_1_: xchgl %r9d,(%rdi) _litmus_P2_2_: movl (%rdi),%eax _litmus_P2_3_: movl (%r8),%edx Test X022+X023-A Required Histogram (128 states) 2 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 3929 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 5389 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 608 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 844 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 55964 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 593 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 10905 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 128576:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2397 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 20127 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 166398:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 157825:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 224 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 183674:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 35893 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1089185:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3340 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 450611:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 313603:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2406910:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 152 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1817 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 8300 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 7339 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 8212 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 541 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 11414 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 111 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 24595 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 19336 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 56008 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 5474 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 21389 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 36404 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 22314 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 96 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 33612 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4675 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 7356 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 4210 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 118657:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 34547 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 38385 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 180323:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 115 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 7153 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 235764:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 9435661:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 194 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 5610 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 5574 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 166810:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 64920 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1156823:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 3 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 122 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 195 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 10218 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1658813:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 6701917:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 124 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 283 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 4542 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 17629 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 57 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 71140 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 113453:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 11383 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 19747 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 1051183:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 16340 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 151896:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2397636:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 992 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 13761 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 124406:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 112200:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 30308 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 4282 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 280323:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 445 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 129358:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 132360:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1029837:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 4294914:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 5276 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 98747 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 1079820:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 15388548:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 19 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1599 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 1310 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 77471 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 207794:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 2264 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 589105:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1890 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 10259723:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 114498:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 9945178:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 220 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 479218:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 11337 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 208112:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 5813 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1992910:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 25284 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 136122:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3288 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 65867 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 226279:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 866 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 7871 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 32349 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 22577 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 2886317:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 54429 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 12029732:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 609 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 4048738:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 67810 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 4436231:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 114332:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 4393 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; 225278:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is validated Hash=aa19adeef3d0e8ee22d9d8e1d1cb5766 Time X022+X023-A 133.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X024-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024-A "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV ECX,$2 ; MOV [d],$1 | MOV ESI,$2 | MOV ECX,$2 | XCHG [z],ECX ; MOV [x],$1 | XCHG [x],ESI | XCHG [e],ECX | MOV EAX,[z] ; MOV [e],$1 | MOV EAX,[x] | MOV EAX,[e] | MOV EBX,[a] ; | MOV [c],$1 | MOV EBX,[b] | ; | MOV ECX,[c] | MOV [z],$1 | ; | MOV EDX,[d] | | ; | MOV EBX,[y] | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,(%rax) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r14) _litmus_P1_1_: movl $2,%r15d _litmus_P1_2_: xchgl %r15d,(%rbx) _litmus_P1_3_: movl (%rbx),%eax _litmus_P1_4_: movl $1,(%r13) _litmus_P1_5_: movl (%r13),%ecx _litmus_P1_6_: movl (%r12),%esi _litmus_P1_7_: movl (%r11),%edx _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r10),%edx _litmus_P2_5_: movl $1,(%rdi) Test X023+X024-A Required Histogram (136 states) 134649:>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; 25191 :>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; 33438 :>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; 33130 :>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; 32619 :>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; 29 :>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; 407 :>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; 1436180:>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; 579791:>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; 739564:>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; 307100:>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; 31907 :>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; 94 :>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; 659 :>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; 70228 :>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; 218170:>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; 5646995:>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; 4164806:>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; 40 :>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; 1157 :>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; 602835:>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; 1502165:>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; 83789 :>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; 67477 :>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; 83749 :>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; 3080 :>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; 295 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 2 :>1:EAX=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; 11 :>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; 576 :>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; 1790 :>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; 459492:>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; 271736:>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; 115 :>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; 33146 :>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; 155235:>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; 35468 :>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; 66657 :>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; 75848 :>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; 420524:>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; 22901 :>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; 80 :>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; 2071 :>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; 35224 :>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; 186242:>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; 2236339:>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; 894902:>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; 44 :>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; 3873 :>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; 370424:>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; 974696:>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; 2776879:>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; 99114 :>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; 196112:>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; 181119:>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; 384752:>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; 508393:>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; 138249:>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; 9403 :>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; 9129 :>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; 8193 :>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; 11572 :>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; 37429 :>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; 5804349:>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; 159807:>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; 589280:>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; 808843:>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; 448072:>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; 1102280:>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; 128211:>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; 62790 :>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; 4678103:>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; 703 :>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; 368766:>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; 256 :>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; 749644:>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; 6522 :>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; 725382:>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; 19 :>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; 6783 :>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; 12 :>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; 32435 :>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; 180073:>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; 1821602:>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; 664 :>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; 492075:>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; 401 :>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; 934105:>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; 1440465:>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; 1347706:>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; 3122242:>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; 255420:>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; 80842 :>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; 183785:>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; 5015460:>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; 6363753:>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; 12102676:>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; 1585888:>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; 275251:>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; 416869:>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; 254665:>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; 242945:>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; 183 :>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; 2087 :>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; 1825763:>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; 868936:>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; 1088914:>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; 14987 :>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; 1134 :>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; 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=2; 39 :>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; 2360 :>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; 8687 :>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; 1857605:>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; 1421401:>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; 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=1; x=1; z=2; 465 :>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; 104784:>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; 446272:>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; 407399:>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; 24238 :>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; 36043 :>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; 23722 :>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; 41817 :>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; 111065:>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; 1239039:>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; 17 :>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; 75928 :>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; 8712833:>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; 167 :>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; 27178 :>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; 224 :>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; 132961:>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; 2428886:>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; 287562:>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; 610854:>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=7d8586ada47cddbb1badd660847727ca Time X023+X024-A 153.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X025-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025-A "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [a],$1 | MOV [d],$1 | MOV ESI,$2 ; MOV [x],$1 | MOV EBX,$1 | XCHG [c],ESI ; MOV ECX,$1 | XCHG [z],EBX | MOV EAX,[z] ; XCHG [c],ECX | MOV EAX,[b] | MOV EBX,[a] ; MOV EAX,[x] | | MOV ECX,[c] ; MOV EBX,[y] | | MOV EDX,[d] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,(%r11) _litmus_P2_1_: movl $2,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl (%r13),%edx _litmus_P2_5_: movl (%r12),%ecx _litmus_P2_6_: movl (%rbx),%esi _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,(%r8) _litmus_P0_3_: movl $1,%ebx _litmus_P0_4_: xchgl %ebx,(%r9) _litmus_P0_5_: movl (%r8),%eax _litmus_P0_6_: movl (%rdi),%edx _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,%r9d _litmus_P1_3_: xchgl %r9d,(%rcx) _litmus_P1_4_: movl (%r8),%eax Test X024+X025-A Required Histogram (48 states) 1544 :>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; 210 :>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; 1247702:>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; 216567:>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; 4193987:>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; 4686684:>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; 16985816:>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; 117538:>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; 168796:>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; 123 :>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; 38 :>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; 860 :>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; 1474 :>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; 18573 :>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; 393688:>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; 5707 :>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; 2008008:>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; 300 :>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; 525047:>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; 2219920:>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; 1554551:>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; 305053:>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; 801721:>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; 657 :>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; 1338696:>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; 9311 :>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; 49919 :>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; 53 :>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; 184 :>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; 226171:>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; 8638746:>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; 532045:>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; 5813 :>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; 7428657:>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; 4952301:>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; 1345239:>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; 437953:>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; 13072 :>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; 1873 :>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; 5105409:>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; 1629046:>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; 8617398:>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; 652566:>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; 317218:>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; 147963:>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; 7385530:>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; 4472080:>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; 11238193:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is validated Hash=7a4881b6f7d405d144dd28f16e07703a Time X024+X025-A 124.97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X026-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026-A "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$2 | MOV [d],$1 ; XCHG [z],ECX | XCHG [a],EBX | XCHG [y],ESI | ; MOV EBX,[c] | MOV EAX,[b] | MOV ECX,[d] | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X025+X026-A Required Histogram (125 states) 2 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; d=1; y=1; 210842:>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; 237172:>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; 646584:>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; 6 :>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; 6 :>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; 40 :>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; 34 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 14 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; d=1; y=1; 431458:>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; 996 :>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; 583945:>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; 312729:>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=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; d=1; y=1; 560 :>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; 153777:>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; 5114238:>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; 1456131:>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; 634278:>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; 1489445:>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; 9144428:>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; 24 :>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; 519 :>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; 3439 :>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; 255 :>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; 112 :>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; 1255 :>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; 75 :>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; 595 :>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; 4834307:>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; 420808:>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; 167853:>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; 1062941:>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; 236838:>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; 165 :>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; 72675 :>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; 56454 :>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; 2222 :>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; 763080:>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; 1650004:>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; 336954:>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; 123465:>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; 1698229:>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; 42 :>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; 3519 :>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; 211818:>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; 40602 :>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; 40378 :>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; 692227:>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; 9238 :>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; 362845:>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; 61 :>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; 322 :>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; 84393 :>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; 1224223:>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; 85979 :>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; 320232:>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; 87943 :>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; 669427:>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; 497525:>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; 386049:>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; 139 :>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; 285293:>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; 3220 :>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; 6665 :>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; 212013:>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; 476232:>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; 62 :>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; 447373:>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; 346 :>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; 1478452:>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; 1084864:>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; 2560512:>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; 489 :>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; 397 :>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; 4 :>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; 894 :>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; 870 :>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; 783 :>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; 1613849:>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; 5984 :>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; 3475893:>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; 1053875:>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; 445223:>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; 2097 :>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; 590406:>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; 327983:>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; 177 :>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; 768869:>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; 1381042:>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; 107435:>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; 1259125:>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; 3112607:>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; 67 :>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; 10296 :>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; 561599:>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; 81039 :>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; 545256:>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; 2965691:>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; 446429:>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; 92 :>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; 731824:>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; 2469566:>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; 784980:>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; 585720:>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; 536 :>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; 240431:>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; 237330:>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; 2439427:>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; 649 :>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; 1731 :>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; 606229:>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; 172060:>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; 517940:>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; 357114:>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; 28 :>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; 53629 :>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; 4627621:>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; 6870 :>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; 851830:>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; 10804613:>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; 3864224:>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; 1158107:>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; 1742092:>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; 5866023:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=d9f738e8bd5ae9851f5879920fb36627 Time X025+X026-A 143.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X027-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027-A "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV ECX,$2 ; MOV ECX,$2 | MOV EBX,$1 | MOV [z],$1 | XCHG [z],ECX ; XCHG [c],ECX | XCHG [b],EBX | MOV ECX,$2 | MOV EAX,[z] ; MOV EBX,[d] | MOV EAX,[y] | XCHG [e],ECX | MOV EBX,[a] ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$1 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: movl $2,%r11d _litmus_P3_1_: xchgl %r11d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $1,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $2,%r11d _litmus_P0_2_: xchgl %r11d,(%r9) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,%r11d _litmus_P2_3_: xchgl %r11d,(%r9) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r10),%edx Test X026+X027-A Required Histogram (279 states) 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 654 :>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; 1855 :>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; 1162 :>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; 1804 :>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; 6648 :>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; 56714 :>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; 4 :>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; 71 :>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; 57 :>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; 3268 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 33 :>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; 2273 :>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; 25 :>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; 9740 :>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; 429 :>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; 8 :>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; 18167 :>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; 41344 :>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; 9900 :>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; 4024 :>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; 40499 :>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; 284404:>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; 4 :>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; 812 :>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; 565 :>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; 2886 :>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; 4406 :>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; 2743 :>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; 154773:>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; 18 :>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; 1361 :>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; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=1; 1282 :>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; 2324 :>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; 16494 :>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; 298 :>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; 157520:>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; 2412 :>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; 13 :>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; 82 :>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; 76 :>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; 261518:>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; 104100:>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; 2918 :>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; 26366 :>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; 1807 :>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; 3103 :>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; 14 :>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; 28302 :>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; 20232 :>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; 19 :>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; 2687 :>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; 89230 :>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; 145880:>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; 440 :>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; 208800:>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; 304793:>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; 8 :>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; 25825 :>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; 39228 :>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; 198 :>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; 2674 :>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; 3360 :>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; 783315:>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; 106211:>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; 15651 :>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; 115622:>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; 90629 :>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; 159825:>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; 4321 :>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; 387586:>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; 169502:>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; 1087 :>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; 91651 :>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; 289782:>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; 533917:>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; 9231 :>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; 575692:>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; 655666:>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; 125 :>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; 154196:>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; 759 :>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; 634 :>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; 60246 :>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; 6 :>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; 1131 :>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; 22 :>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; 10432 :>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; 476 :>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; 49722 :>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; 735 :>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; 67727 :>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; 10790 :>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; 486 :>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; 169042:>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; 4632 :>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; 119334:>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; 150 :>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; 139035:>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; 17741 :>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; 356437:>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; 1590 :>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; 200169:>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; 14353 :>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; 5094 :>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; 8632 :>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; 951 :>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; 98 :>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; 119 :>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; 437113:>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; 55921 :>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; 42722 :>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; 20733 :>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; 5281 :>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; 4105 :>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; 248476:>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; 44677 :>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; 588 :>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; 2858 :>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; 1491340:>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; 225102:>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; 26037 :>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; 50247 :>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; 2 :>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; 688 :>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; 2065 :>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; 3 :>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; 30 :>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; 13 :>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; 1168 :>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; 13333 :>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; 240 :>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; 1848944:>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; 2513438:>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; 10142 :>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; 28189 :>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; 316207:>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; 1458961:>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; 38994 :>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; 18798 :>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; 1431293:>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; 6126352:>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; 2674 :>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; 22 :>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; 134 :>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; 187 :>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; 609 :>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; 1098 :>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; 19 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 5565 :>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; 1680 :>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; 10 :>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; 496 :>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; 1048946:>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; 10547 :>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; 114884:>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; 91759 :>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; 2761305:>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; 2411827:>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; 15866 :>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; 383248:>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; 3653795:>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; 683888:>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; 116956:>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; 651998:>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; 1176 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 16 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; e=2; z=1; 1012 :>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; 3 :>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; 2424 :>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; 1106869:>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; 71718 :>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; 8206195:>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; 78 :>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; 2279920:>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; 1771 :>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; 434 :>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; 8 :>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; 17 :>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; 55 :>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; 2063019:>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; 627266:>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; 487 :>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; 5608 :>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; 27 :>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; 9152 :>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; 22216 :>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; 41519 :>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; 54759 :>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; 525309:>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; 2940714:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; e=1; z=2; 92 :>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; 262 :>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; 752 :>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; 32149 :>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; 16 :>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; 65 :>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; 360 :>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; 19817 :>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; 784 :>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; 192559:>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; 18089 :>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; 53 :>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; 3834 :>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; 3172 :>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; 9147288:>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; 6136191:>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; 111032:>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; 1094726:>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; 8226 :>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; 14902 :>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; 229 :>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; 157562:>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; 60463 :>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; 447 :>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; 22523 :>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; 923386:>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; 1324081:>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; 9086 :>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; 2928451:>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; 4411800:>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; 158 :>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; 242445:>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; 5521 :>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; 20420 :>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; 3170526:>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; 41 :>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; 13500 :>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; 53 :>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; 59080 :>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; 12989 :>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; 1120401:>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; 14390 :>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; 1381742:>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; 2478472:>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; 477358:>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; 35373 :>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; 6879 :>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; 2298 :>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; 2397 :>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; 5143211:>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; 640793:>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; 2507323:>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; 493425:>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; 441 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 20 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 12096 :>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; 35628 :>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; 102 :>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; 89 :>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; 67 :>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; 4198 :>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; 115 :>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; 83711 :>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; 189599:>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; 5004 :>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; 18902 :>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; 34460 :>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; 107086:>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; 145206:>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; 5143 :>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; 199254:>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; 68476 :>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; 601 :>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; 29941 :>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; 20394 :>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; 7923 :>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; 363978:>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; 94 :>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; 139120:>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; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; 150956:>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; 54360 :>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; 189 :>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; 1092 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=e9bc3fad852109561ec1544aaae68f5c Time X026+X027-A 159.59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X028-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028-A "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [b],$2 | MOV EBX,$1 | MOV ECX,$2 | XCHG [z],ECX ; MOV [c],$1 | XCHG [d],EBX | XCHG [c],ECX | MOV EAX,[z] ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; | MOV [b],$1 | MOV EBX,[d] | ; | | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%r8) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: movl (%r10),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P2_5_: movl $1,(%rdi) Test X027+X028-A Required Histogram (106 states) 101405:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 1 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 3329 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=1; c=1; x=1; z=1; 9240 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 4331905:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 21328 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 680588:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 39877 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 2203843:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 503 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 494933:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 570 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 9598 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 7909 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 197726:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 17742 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 920084:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 25870 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 506119:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 38507 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 1309923:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 123173:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 38938 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 27771 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1604143:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 351898:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 12686 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 5006071:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2279587:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 83327 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 3804 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 60 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 411799:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 133762:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 40986 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 330880:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 6986 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1418334:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 347102:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 344941:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 2071055:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 2002096:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 12036 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 76315 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 72348 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 227462:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 4635281:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 2213823:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 3562183:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 8810 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 172069:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 588 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 5869998:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 9759 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 32854 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 92028 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2069366:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 70317 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 20971 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 10180 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 349449:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 2782 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 2034 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 274026:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 871418:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 189227:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 67152 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 2007989:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 667669:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 1634475:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 348521:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 65649 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 114255:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 6825655:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 5337195:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 8207701:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 1751593:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 8 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 13334 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 3976 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 6165456:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 2842 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 37173 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 32501 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 706385:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1589129:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 319016:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 209435:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 1948735:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 18535 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 256 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 1901895:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 804484:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 138590:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 241514:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 279837:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 541049:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 2492 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 593134:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 102744:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 4905939:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 9542 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 10090 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 3344969:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 223770:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 419593:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is validated Hash=75343a46eaf2b859c7dc3d8e520ca51a Time X027+X028-A 147.52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X029-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029-A "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [z],$1 | MOV EBX,$1 | MOV ESI,$2 | MOV [d],$1 ; MOV [c],$1 | XCHG [a],EBX | XCHG [y],ESI | ; MOV [x],$1 | MOV EAX,[b] | MOV ECX,[d] | ; | MOV [y],$1 | MOV EDX,[a] | ; | | MOV EAX,[y] | ; | | MOV EBX,[z] | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: movl (%r12),%ecx _litmus_P2_4_: movl (%r13),%esi _litmus_P2_5_: movl (%rbx),%eax _litmus_P2_6_: movl (%r11),%edx Test X028+X029-A Required Histogram (126 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; 135623:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 524455:>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=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 44 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 34 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 214173:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 423 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 3840106:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 6909574:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 529 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 627 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 703 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 193254:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 163885:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 26 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 64129 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 42084 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 715774:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1126588:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 8197 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 658641:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 261879:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 28 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 967412:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 183664:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 614632:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 111925:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 16778 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 274380:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 1522 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 47 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 505460:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 1894237:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 57 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 685 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 179 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 489791:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 10161 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 410849:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 139 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 56059 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 20924 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 12 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 177068:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 87525 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 229510:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 574798:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 16525 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 955786:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 232 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 907726:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1939052:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 408 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1013 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 962 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 803459:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 266659:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 209 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 414548:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 197589:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 620259:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2357819:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 17626 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 2754502:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 9877 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 213 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 118461:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 79 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 107325:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 200213:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 45 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 721553:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 2329024:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 200 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 184418:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 203425:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 53373 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 555 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 254 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 22 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 719495:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 2057481:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 4880 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 6443683:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1676076:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 227755:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 614972:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 339643:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 834180:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1439 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 4243629:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1467481:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 578044:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 971 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 2893945:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 1853567:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 826329:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 299500:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 19 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 2012347:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 58510 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1864901:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 98 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 136315:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1969 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 1072204:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 556720:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 506843:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 45 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 1141437:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 271692:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 2706224:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 568 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 10513739:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 4444165:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 1411196:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1511320:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 878 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 72 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 882912:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 796171:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 2530375:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 5824200:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=a7998efee980f91d822ddc6e86d30ac8 Time X028+X029-A 147.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X030-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030-A "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV ECX,$2 ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EBX,$1 | MOV [y],$1 | MOV ECX,$2 | MOV EAX,[z] ; XCHG [d],EBX | MOV [c],$1 | XCHG [e],ECX | MOV EBX,[a] ; MOV EAX,[x] | | MOV EAX,[e] | MOV [d],$2 ; | | MOV EBX,[b] | MOV [e],$1 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r11d _litmus_P3_1_: xchgl %r11d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r10),%edx _litmus_P3_4_: movl $2,(%r9) _litmus_P3_5_: movl $1,(%r8) _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,(%rdi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rsi) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r8) _litmus_P2_1_: movl $1,(%rdi) _litmus_P2_2_: movl $2,%r11d _litmus_P2_3_: xchgl %r11d,(%r9) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r10),%edx Test X029+X030-A Required Histogram (279 states) 444 :>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; 2223 :>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; 5371 :>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; 56555 :>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; 29 :>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; 3745 :>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; 37 :>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; 7351 :>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; 12673 :>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; 31179 :>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; 30108 :>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; 214576:>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; 4548 :>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; 92368 :>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; 452 :>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; 63586 :>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; 17 :>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; 1791 :>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; 4593 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 231 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 3331 :>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; 1630 :>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; 636 :>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; 9774 :>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; 22570 :>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; 806 :>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; 14458 :>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; 94 :>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; 29615 :>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; 878 :>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; 45574 :>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; 8067 :>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; 65321 :>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; 8627 :>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; 128540:>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; 136361:>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; 184782:>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; 1555 :>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; 125 :>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; 7831 :>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; 1146 :>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; 2809 :>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; 18248 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 502 :>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; 1629 :>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=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=2; e=1; y=1; z=1; 33 :>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; 10 :>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; 533 :>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; 144 :>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; 2 :>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; 3734 :>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; 2188 :>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; 1416 :>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; 2213 :>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; 966 :>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; 6118 :>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; 1562 :>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; 40 :>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; 207657:>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; 100845:>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; 16995 :>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; 13885 :>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; 213811:>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; 219710:>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; 24939 :>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; 363 :>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; 717204:>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; 150998:>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; 375755:>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; 183916:>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; 653389:>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; 567809:>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; 106 :>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; 6 :>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; 298 :>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; 78 :>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; 65 :>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; 764 :>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; 8565 :>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; 455 :>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; 77731 :>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; 3329 :>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; 2164 :>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; 65194 :>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; 377 :>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; 1955 :>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; 26 :>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; 1439 :>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; 1031578:>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; 1916975:>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; 1298587:>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; 4053652:>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; 47 :>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; 31 :>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; 14 :>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; 224 :>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; 45279 :>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; 16186 :>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; 54821 :>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; 144086:>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; 1363 :>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; 4726 :>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; 1119509:>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; 2619408:>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; 178 :>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; 11 :>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; 16357 :>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; 3 :>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; 3 :>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; 26 :>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; 6749 :>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; 171 :>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; 19254 :>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; 10745 :>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; 2381 :>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; 146 :>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; 6365 :>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; 2789 :>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; 756035:>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; 21386 :>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; 3112180:>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; 634367:>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=1; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 110 :>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; 198 :>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; 2067 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=2; z=1; 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; 668 :>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; 627 :>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; 3 :>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; 241 :>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; 1238 :>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; 3245 :>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; 2654 :>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; 70250 :>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; 127269:>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; 405787:>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; 264 :>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; 17826 :>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; 22510 :>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; 116772:>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; 27 :>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; 387 :>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; 40 :>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; 758 :>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; 2050 :>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; 2963 :>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; 105440:>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; 161015:>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; 128933:>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; 199314:>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; 385968:>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; 692386:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=2; z=1; 214 :>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; 817 :>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; 6219 :>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; 15380 :>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; 564522:>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; 301275:>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; 1640826:>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; 795362:>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; 2330854:>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; 2 :>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; 16752 :>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; 153562:>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; 2135 :>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; 11313813:>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; 262 :>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; 608911:>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; 10794 :>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; 23634 :>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; 526 :>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; 804 :>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; 3896691:>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; 3215944:>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; 10945 :>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; 4150 :>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; 3431544:>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; 6025 :>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; 21225 :>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; 273533:>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; 2644220:>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; 759 :>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; 47479 :>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; 746 :>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; 136508:>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; 2453 :>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; 191 :>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; 99276 :>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; 289955:>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; 1909 :>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; 3528 :>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; 1336 :>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; 56638 :>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; 3774 :>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; 3546508:>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; 59773 :>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; 1220760:>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; 218634:>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; 1221 :>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; 173584:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=1; z=2; 18 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=1; z=2; 4 :>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; 16147 :>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; 57555 :>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; 42 :>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; 266 :>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; 120 :>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; 10019 :>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; 18738 :>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; 153 :>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; 7752425:>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; 7169570:>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; 122547:>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; 54639 :>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; 2523407:>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; 3432237:>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; 5284 :>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; 11 :>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; 3724 :>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; 2216016:>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; 3893 :>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; 2451925:>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; 6198 :>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; 32262 :>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; 105 :>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; 12389 :>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; 2056 :>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; 2225 :>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; 515 :>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; 2261 :>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; 27378 :>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; 47740 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=1; e=2; y=1; z=2; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=2; d=1; e=2; y=1; z=2; 1215 :>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; 216 :>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; 27 :>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; 28 :>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; 692 :>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; 115326:>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; 12676 :>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; 149574:>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; 44142 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=2; 15 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=2; 1723 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 2 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=2; z=2; 47 :>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; 148 :>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; 3192 :>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; 21313 :>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; 1570813:>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; 4301 :>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; 258516:>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; 16 :>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; 10751 :>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; 12369 :>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; 1100238:>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; 1717721:>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; 11 :>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; 4626 :>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; 57986 :>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; 6825377:>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; 55 :>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; 1285 :>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; 347558:>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; 18364 :>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; 11 :>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; 73535 :>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; 107077:>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; 609 :>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; 208356:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is validated Hash=d8d9262c7396ee79004175d1ebb9856f Time X029+X030-A 166.40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X031-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031-A "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; XCHG [d],ECX | MOV [y],$1 | MOV [z],$1 | XCHG [z],ECX ; MOV [a],$1 | MOV ECX,$1 | | MOV EAX,[z] ; MOV [e],$1 | XCHG [b],ECX | | MOV EBX,[a] ; MOV EAX,[e] | MOV [c],$1 | | ; MOV [x],$1 | MOV EAX,[c] | | ; MOV EBX,[b] | MOV EBX,[d] | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r9d _litmus_P3_1_: xchgl %r9d,(%rdi) _litmus_P3_2_: movl (%rdi),%eax _litmus_P3_3_: movl (%r8),%edx _litmus_P0_0_: movl $1,%ebx _litmus_P0_1_: xchgl %ebx,(%r9) _litmus_P0_2_: movl $1,(%r11) _litmus_P0_3_: movl $1,(%r8) _litmus_P0_4_: movl (%r8),%eax _litmus_P0_5_: movl $1,(%rdi) _litmus_P0_6_: movl (%r10),%edx _litmus_P1_0_: movl $2,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $1,%ebx _litmus_P1_3_: xchgl %ebx,(%r11) _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X030+X031-A Required Histogram (56 states) 197175:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 219466:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 181847:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2736014:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 5795137:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 3073494:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 13011 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 286854:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 61612 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 6354 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 609049:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 67356 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 132096:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 16 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5842869:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1035 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 929173:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 109 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 5149533:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 404 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 286594:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 104 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 21556 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 10814261:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 1747889:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 3176153:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 455229:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 131604:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 331281:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1430188:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1694163:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1118906:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 370520:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 440 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 97381 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 132 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 2602506:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1202 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 5169210:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 3796121:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 3490523:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 1192439:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 5461347:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 1658084:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 2608546:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 620 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 12644069:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 3689 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 4829169:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 6139 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 513261:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 4483022:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1098197:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 2092263:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 1369870:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 718 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is validated Hash=d72b41eea7a0921c9e3559f515bf429f Time X030+X031-A 147.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X032-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032-A "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [d],$1 | MOV EDX,$1 | MOV ECX,$1 ; MOV [e],$1 | XCHG [y],EDX | XCHG [f],ECX ; MOV ESI,$1 | MOV [z],$1 | MOV [b],$1 ; XCHG [a],ESI | MOV EAX,[z] | MOV EAX,[b] ; MOV [x],$1 | MOV EBX,[a] | MOV EBX,[c] ; MOV ECX,[e] | MOV EDX,$1 | ; MOV EAX,[x] | XCHG [c],EDX | ; MOV EDX,[f] | MOV ECX,[d] | ; MOV EBX,[y] | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r14) _litmus_P0_1_: movl $1,(%r13) _litmus_P0_2_: movl $1,%ecx _litmus_P0_3_: xchgl %ecx,(%rbx) _litmus_P0_4_: movl $1,(%r15) _litmus_P0_5_: movl (%r13),%eax _litmus_P0_6_: movl (%r15),%esi _litmus_P0_7_: movl (%r12),%edx _litmus_P0_8_: movl (%r11),%edi _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%r10) _litmus_P1_2_: movl $1,(%r9) _litmus_P1_3_: movl (%r9),%eax _litmus_P1_4_: movl (%r12),%edx _litmus_P1_5_: movl $1,%r13d _litmus_P1_6_: xchgl %r13d,(%rbx) _litmus_P1_7_: movl (%r11),%ecx Test X031+X032-A Required Histogram (15 states) 7686915:>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; 28433 :>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; 13635787:>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; 12525248:>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; 1844549:>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; 12841774:>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; 17993541:>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; 2026136:>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; 11894586:>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; 3049675:>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; 7435170:>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; 6406475:>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; 2152974:>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; 20136 :>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; 458601:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=077b08c1d3196098d35b2d28b20682b6 Time X031+X032-A 126.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X033-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033-A "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [e],$2 | MOV ECX,$1 | MOV ESI,$1 ; MOV [f],$1 | XCHG [x],ECX | XCHG [g],ESI ; MOV EDX,$1 | MOV [d],$1 | MOV [c],$1 ; XCHG [b],EDX | MOV [y],$1 | MOV ECX,[c] ; MOV EBX,[f] | MOV [e],$1 | MOV EDX,[d] ; MOV EAX,[x] | MOV EAX,[y] | MOV ESI,$1 ; MOV ECX,[g] | MOV EBX,[z] | XCHG [z],ESI ; | | MOV [a],$1 ; | | MOV EAX,[a] ; | | MOV EBX,[b] ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: movl $1,%ecx _litmus_P2_1_: xchgl %ecx,(%r15) _litmus_P2_2_: movl $1,(%r13) _litmus_P2_3_: movl (%r13),%eax _litmus_P2_4_: movl (%r12),%edx _litmus_P2_5_: movl $1,%ecx _litmus_P2_6_: xchgl %ecx,(%r11) _litmus_P2_7_: movl $1,(%rbx) _litmus_P2_8_: movl (%rbx),%esi _litmus_P2_9_: movl (%r14),%edi _litmus_P0_0_: movl $2,(%rbx) _litmus_P0_1_: movl $1,(%r11) _litmus_P0_2_: movl $1,%r13d _litmus_P0_3_: xchgl %r13d,(%r12) _litmus_P0_4_: movl (%r11),%edx _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r10),%ecx _litmus_P1_0_: movl $1,%ebx _litmus_P1_1_: xchgl %ebx,(%r9) _litmus_P1_2_: movl $1,(%r11) _litmus_P1_3_: movl $1,(%r8) _litmus_P1_4_: movl $1,(%r10) _litmus_P1_5_: movl (%r8),%eax _litmus_P1_6_: movl (%rdi),%edx Test X032+X033-A Required Histogram (31 states) 749303:>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; 5107593:>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; 12181409:>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; 3935518:>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; 60975 :>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; 892127:>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; 3747518:>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; 6677635:>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; 6411 :>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; 5288244:>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; 3743258:>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; 96280 :>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; 4120 :>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; 11502484:>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; 5913538:>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; 150349:>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; 6835213:>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; 69182 :>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; 14544 :>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; 1897 :>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; 61847 :>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; 1340078:>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; 4246520:>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; 270762:>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; 44827 :>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; 6417807:>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; 129248:>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; 7540538:>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; 12882548:>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; 13004 :>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; 75223 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=8c1e14d08a6ade7927510fa055886053 Time X032+X033-A 140.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X034-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034-A "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [c],$1 | MOV [x],$2 | MOV ECX,$1 ; MOV ECX,$1 | MOV [y],$1 | XCHG [z],ECX ; XCHG [b],ECX | MOV EDX,$1 | MOV [a],$1 ; MOV [x],$1 | XCHG [e],EDX | MOV EAX,[a] ; MOV [d],$1 | MOV ECX,[c] | MOV EBX,[b] ; MOV EAX,[d] | MOV EAX,[y] | ; MOV EBX,[e] | MOV EBX,[z] | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%rdi) _litmus_P2_2_: movl $1,(%r9) _litmus_P2_3_: movl (%r9),%eax _litmus_P2_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r10) _litmus_P0_1_: movl $1,%ebx _litmus_P0_2_: xchgl %ebx,(%r11) _litmus_P0_3_: movl $1,(%rdi) _litmus_P0_4_: movl $1,(%r9) _litmus_P0_5_: movl (%r9),%eax _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%r11) _litmus_P1_1_: movl $1,(%r10) _litmus_P1_2_: movl $1,%r13d _litmus_P1_3_: xchgl %r13d,(%rbx) _litmus_P1_4_: movl (%r12),%ecx _litmus_P1_5_: movl (%r10),%eax _litmus_P1_6_: movl (%r9),%edx Test X033+X034-A Required Histogram (17 states) 10871267:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 11971601:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 10256 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 4957105:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 13874865:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 9517550:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 227971:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 962479:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3068911:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3262340:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6591943:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 6445849:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 153828:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 3939448:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 238916:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 23297930:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 607741:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=45078241528255190bc4e5a9ea261d4e Time X033+X034-A 119.05 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X035-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035-A "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EDX,$1 | MOV ECX,$1 ; MOV ECX,$1 | XCHG [x],EDX | XCHG [c],ECX ; XCHG [b],ECX | MOV [y],$1 | MOV [d],$1 ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[d] ; MOV EBX,[c] | MOV EBX,[z] | MOV EBX,[a] ; | MOV EDX,$1 | ; | XCHG [a],EDX | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: movl $1,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r8),%eax _litmus_P0_4_: movl (%r9),%edx _litmus_P1_0_: movl $1,%r13d _litmus_P1_1_: xchgl %r13d,(%r11) _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,%r13d _litmus_P1_6_: xchgl %r13d,(%r12) _litmus_P1_7_: movl (%rbx),%ecx Test X034+X035-A Required Histogram (18 states) 9903161:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 126834:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 12450 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 4434481:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 14221333:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 844184:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 18850098:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 18347712:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 4156813:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 13176555:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 3726 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 18895 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 1504260:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3353211:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 7102841:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2060138:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 195767:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 1687541:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=116b6760bd43d75d34c5f12d2732bde1 Time X034+X035-A 113.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X036-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036-A "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV [c],$1 | MOV [f],$1 | MOV EBX,$1 ; XCHG [a],ECX | MOV ECX,$1 | MOV ESI,$1 | XCHG [e],EBX ; MOV EAX,[x] | XCHG [x],ECX | XCHG [y],ESI | MOV EAX,[f] ; MOV ECX,$1 | MOV EBX,[d] | MOV [b],$1 | ; XCHG [d],ECX | MOV EAX,[y] | MOV [z],$1 | ; MOV EBX,[e] | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r10) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r9) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X035+X036-A Required Histogram (71 states) 101751:>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; 1084548:>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; 951875:>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; 30905 :>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; 17987 :>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; 24822 :>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; 303116:>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; 2209388:>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; 1799 :>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; 2884562:>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; 663 :>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; 1072238:>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; 6027 :>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; 12084 :>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; 35139 :>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; 730145:>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; 755871:>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; 13854998:>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; 20 :>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; 142929:>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; 2328804:>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; 2518819:>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; 18335 :>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; 3363719:>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; 121936:>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; 1276600:>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; 1698 :>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; 6773729:>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; 259165:>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; 86171 :>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; 200101:>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; 425891:>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; 9205358:>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; 1518961:>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; 7504 :>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; 5477710:>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; 258873:>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; 19101 :>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; 2546 :>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; 77947 :>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; 180719:>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; 3689023:>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; 220 :>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; 3272156:>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; 10745 :>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; 143874:>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; 4265370:>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; 39 :>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; 96857 :>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; 1348 :>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; 3448360:>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; 1608 :>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; 4945 :>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; 15122 :>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; 31867 :>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; 87141 :>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; 2220610:>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; 162995:>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; 7549779:>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; 72457 :>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; 245714:>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; 178895:>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; 3929099:>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; 2378393:>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; 43005 :>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; 210271:>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; 24456 :>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; 4817087:>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; 67336 :>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; 4414627:>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; 272047:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is validated Hash=7420d84568704d58855effccc644a0cd Time X035+X036-A 155.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X037-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; XCHG [e],ECX | MOV EBX,$1 | MOV [c],$1 | MOV EDX,$1 ; MOV EBX,[f] | XCHG [d],EBX | MOV EDX,$1 | XCHG [z],EDX ; MOV ECX,$1 | MOV [e],$1 | XCHG [y],EDX | MOV ECX,[g] ; XCHG [b],ECX | MOV EAX,[y] | MOV EBX,[c] | MOV [a],$1 ; MOV EAX,[x] | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: movl $1,(%r11) _litmus_P3_1_: movl $1,%r13d _litmus_P3_2_: xchgl %r13d,(%r9) _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,%r11d _litmus_P0_1_: xchgl %r11d,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r10) _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl $1,(%rdi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $1,%r13d _litmus_P2_3_: xchgl %r13d,(%r10) _litmus_P2_4_: movl (%r12),%edx _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X036+X037-A Required Histogram (101 states) 18251 :>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; 7692 :>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; 1244810:>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; 2735749:>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; 9103 :>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; 112035:>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; 642643:>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; 5877494:>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; 13017 :>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; 33763 :>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; 701805:>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; 3638915:>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; 346044:>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; 6359 :>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; 37576 :>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; 4883 :>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; 1535414:>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; 1330622:>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; 58264 :>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; 253764:>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; 596447:>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; 71683 :>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; 58100 :>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; 33473 :>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; 18302 :>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; 237458:>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; 419372:>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; 6709222:>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; 5061 :>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; 8478 :>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; 281756:>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; 2006741:>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; 13693 :>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; 50272 :>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; 27960 :>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; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 366408:>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; 3 :>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; 32060 :>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; 53 :>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; 429321:>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; 905 :>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; 33955 :>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; 19869 :>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; 1930206:>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; 5328627:>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; 4503799:>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; 91434 :>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; 1292234:>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; 775839:>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; 68598 :>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; 301710:>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; 299273:>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; 668927:>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; 2174068:>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; 22 :>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; 39012 :>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; 696967:>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; 1989347:>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; 46 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; 163454:>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; 1299936:>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; 3444073:>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; 7382 :>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; 880873:>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; 2422982:>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; 1960298:>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; 105549:>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; 1127462:>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; 848048:>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; 42200 :>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; 9638730:>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; 126 :>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; 1068591:>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; 33 :>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; 470301:>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; 133102:>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; 459 :>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; 143 :>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; 21666 :>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; 4745738:>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; 624551:>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; 48734 :>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; 3220801:>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; 17413 :>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; 1852515:>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; 58033 :>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; 4630332:>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; 1902 :>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; 1503304:>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; 763071:>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; 343057:>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; 5596 :>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; 2743482:>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; 604122:>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; 609798:>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; 211992:>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; 1805247:>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; 2218766:>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; 22984 :>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; 144242:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is validated Hash=72c5396e1960d30ef9ca7f58d993c211 Time X036+X037-A 170.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X038-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$1 ; MOV EBX,$2 | MOV EBX,$1 | MOV EDX,$1 | XCHG [z],ECX ; XCHG [d],EBX | XCHG [c],EBX | XCHG [e],EDX | MOV [a],$1 ; MOV EAX,[e] | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; MOV [x],$1 | MOV [d],$1 | MOV EAX,[z] | MOV EBX,[b] ; | | MOV EBX,[f] | ; | | MOV ECX,[c] | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r10) _litmus_P2_1_: movl $1,%r13d _litmus_P2_2_: xchgl %r13d,(%rbx) _litmus_P2_3_: movl $1,(%r11) _litmus_P2_4_: movl (%r9),%eax _litmus_P2_5_: movl (%r11),%edx _litmus_P2_6_: movl (%r12),%ecx Test X037+X038-A Required Histogram (56 states) 2169802:>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; 219649:>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; 4378975:>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; 18 :>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; 41174 :>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; 1864438:>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; 73927 :>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; 1876603:>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; 4217811:>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; 119267:>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; 7321089:>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; 150321:>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; 1209542:>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; 505714:>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; 43393 :>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; 516032:>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; 1347302:>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; 5875979:>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; 157376:>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; 3440516:>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; 3298074:>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; 2795327:>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; 1776111:>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; 561511:>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; 585775:>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; 3610513:>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; 6692409:>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; 12588 :>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; 3225430:>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; 3076106:>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; 31991 :>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; 585939:>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; 2127750:>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; 1688 :>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; 1431060:>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; 5059359:>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; 3323550:>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; 7600 :>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; 692794:>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; 398531:>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; 1182459:>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; 1060058:>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; 11 :>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; 370812:>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; 1080596:>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; 13279 :>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; 2112697:>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; 3534021:>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; 3456463:>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; 666020:>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; 205497:>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; 470729:>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; 6090 :>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; 3585481:>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; 7286789:>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; 145964:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=edf197101f3368a67e023885dfefcd0c Time X037+X038-A 156.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X039-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039-A "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV EBX,$2 ; MOV [x],$1 | MOV ECX,$2 | MOV ESI,$1 | XCHG [e],EBX ; MOV [d],$1 | XCHG [x],ECX | XCHG [y],ESI | MOV EAX,[f] ; MOV [e],$1 | MOV EBX,[d] | MOV [b],$1 | ; | MOV EAX,[y] | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r10) _litmus_P1_1_: movl $2,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: movl (%r9),%edx _litmus_P1_4_: movl (%rdi),%eax _litmus_P2_0_: movl $1,(%r12) _litmus_P2_1_: movl $1,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X038+X039-A Required Histogram (71 states) 514327:>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; 48646 :>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; 8609 :>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; 839 :>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; 1215461:>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; 467720:>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; 9050 :>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; 12428879:>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; 1001537:>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; 229924:>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; 453155:>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; 4990123:>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; 345837:>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; 38104 :>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; 4528 :>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; 2208953:>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; 2020387:>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; 26812 :>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; 5263163:>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; 2225913:>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; 18328 :>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; 393297:>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; 1668007:>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; 96 :>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; 227586:>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; 18714 :>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; 960645:>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; 72019 :>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; 13664 :>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; 2401 :>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; 417990:>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; 304756:>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; 5882 :>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; 4412009:>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; 624159:>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; 267018:>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; 331293:>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; 6067 :>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; 1027994:>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; 1113 :>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; 3208352:>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; 56 :>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; 4317 :>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; 70541 :>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; 8471 :>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; 4672479:>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; 6888853:>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; 49088 :>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; 6654131:>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; 4736 :>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; 2716964:>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; 405 :>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; 13027 :>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; 6770 :>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; 15295 :>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; 90448 :>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; 1928470:>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; 884463:>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; 1633 :>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; 5550579:>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; 2482034:>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; 9337 :>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; 2983874:>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; 855 :>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; 6861993:>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; 102 :>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; 2647 :>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; 5338 :>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; 3362 :>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; 4313498:>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; 6292877:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is validated Hash=5b75e1c2aab0a7ca31e2b45acc4ca4de Time X038+X039-A 155.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X040-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040-A "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV EDX,$1 ; MOV EBX,$1 | MOV [e],$1 | MOV EDX,$2 | XCHG [z],EDX ; XCHG [b],EBX | MOV [y],$1 | XCHG [y],EDX | MOV ECX,[g] ; MOV EAX,[x] | | MOV EBX,[c] | MOV [a],$1 ; | | MOV EAX,[z] | MOV EAX,[a] ; | | MOV ECX,[d] | MOV EBX,[b] ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%r11) _litmus_P3_1_: movl $1,%r13d _litmus_P3_2_: xchgl %r13d,(%r9) _litmus_P3_3_: movl (%r10),%ecx _litmus_P3_4_: movl $1,(%r12) _litmus_P3_5_: movl (%r12),%eax _litmus_P3_6_: movl (%rbx),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%r8) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $1,(%r11) _litmus_P2_1_: movl $1,(%r12) _litmus_P2_2_: movl $2,%r13d _litmus_P2_3_: xchgl %r13d,(%r10) _litmus_P2_4_: movl (%r12),%edx _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%rbx),%ecx Test X039+X040-A Required Histogram (99 states) 1177661:>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; 2044196:>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; 745572:>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; 2672104:>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; 130540:>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; 8616 :>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; 203279:>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; 80315 :>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; 429645:>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; 3218703:>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; 245421:>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; 1158102:>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; 19 :>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; 63521 :>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; 39073 :>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; 892126:>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; 174498:>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; 1328723:>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; 239693:>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; 256609:>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; 268 :>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; 62122 :>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; 99845 :>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; 759902:>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; 858038:>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; 1111927:>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; 37 :>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; 197 :>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; 4164005:>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; 543551:>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; 1037400:>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; 1168863:>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; 736960:>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; 8491 :>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; 376267:>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; 118578:>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; 4946 :>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; 1901 :>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; 3141 :>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; 6753 :>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; 546888:>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; 9453 :>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; 1095651:>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; 138663:>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; 10251 :>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; 104602:>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; 1626 :>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; 2562 :>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; 5284 :>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; 149 :>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; 8286 :>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; 7261921:>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; 4868395:>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; 916883:>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; 50824 :>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; 1271323:>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; 1682815:>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; 3112070:>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; 1092212:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 22 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; f=2; y=1; 12608 :>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; 5169 :>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; 97 :>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; 1465881:>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; 948182:>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; 19757 :>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; 942356:>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; 4588685:>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; 276790:>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; 482978:>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; 1381 :>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; 56 :>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; 101738:>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; 89 :>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; 5676 :>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; 12216 :>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; 441416:>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; 11244618:>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; 305711:>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; 2156823:>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; 3311950:>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; 908646:>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; 2446640:>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; 2000 :>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; 23705 :>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; 3170252:>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; 1377714:>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; 900 :>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; 2784 :>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; 1448368:>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; 1716486:>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; 2706395:>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; 2288462:>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; 26640 :>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; 1336501:>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; 19045 :>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; 12814 :>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; 4695867:>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; 3141116:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is validated Hash=e0cb350c7ea08527f940c89abab2202e Time X039+X040-A 172.10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X041-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV [x],$2 | MOV EBX,$2 | MOV ECX,$1 ; MOV [d],$1 | MOV [e],$1 | XCHG [y],EBX | XCHG [z],ECX ; MOV ECX,$1 | MOV [y],$1 | MOV EAX,[z] | MOV [a],$1 ; XCHG [b],ECX | MOV [c],$1 | | MOV EAX,[a] ; MOV EAX,[d] | | | MOV EBX,[b] ; MOV [x],$1 | | | ; MOV EBX,[e] | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $2,(%r10) _litmus_P0_1_: movl $1,(%r9) _litmus_P0_2_: movl $1,%ebx _litmus_P0_3_: xchgl %ebx,(%r11) _litmus_P0_4_: movl (%r9),%eax _litmus_P0_5_: movl $1,(%rdi) _litmus_P0_6_: movl (%r8),%edx _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X040+X041-A Required Histogram (37 states) 705261:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 4399005:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 1776255:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 7783970:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 2144201:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 5015075:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1262504:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 1017894:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 6295549:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 4890818:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 2371312:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 82048 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 890069:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 368 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 3013713:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 2032 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 8080633:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 4169 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 7157137:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 723 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 28269 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 498190:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 3622644:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 358623:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1241436:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1334196:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 2965667:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 3440780:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 15840407:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 4440183:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 3602791:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 458399:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 2011 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 953617:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 377 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 4318501:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 1173 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is validated Hash=4bd8807aa2bfbcad89bc12fdca03f500 Time X040+X041-A 144.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X042-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042-A "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; MOV [z],$1 | MOV EDX,$2 | MOV ECX,$2 ; MOV [b],$1 | XCHG [x],EDX | XCHG [c],ECX ; MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [c],$1 | MOV EAX,[y] | MOV EAX,[d] ; | MOV EBX,[z] | MOV EBX,[a] ; | MOV EDX,$1 | ; | XCHG [a],EDX | ; | MOV ECX,[b] | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: movl $2,%r10d _litmus_P2_1_: xchgl %r10d,(%r8) _litmus_P2_2_: movl $1,(%rdi) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl (%r9),%edx _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rcx) _litmus_P1_0_: movl $2,%r13d _litmus_P1_1_: xchgl %r13d,(%r11) _litmus_P1_2_: movl $1,(%r10) _litmus_P1_3_: movl (%r10),%eax _litmus_P1_4_: movl (%r9),%edx _litmus_P1_5_: movl $1,%r13d _litmus_P1_6_: xchgl %r13d,(%r12) _litmus_P1_7_: movl (%rbx),%ecx Test X041+X042-A Required Histogram (18 states) 7995552:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 8027 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 4359116:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 10485154:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 12935403:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 1162 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 2191139:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 323560:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 31088 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 1041779:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 3801122:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 654 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 5552316:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 1427834:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 21313730:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 248950:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 19438397:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 8845017:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is validated Hash=fda1dc55b1a4df414c280a4931b75f77 Time X041+X042-A 114.57 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X043-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043-A "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$1 | MOV EBX,$1 | MOV [f],$2 | MOV [e],$1 ; XCHG [a],ECX | XCHG [c],EBX | MOV ESI,$2 | MOV [f],$1 ; MOV EAX,[x] | MOV [x],$1 | XCHG [y],ESI | ; MOV ECX,$1 | MOV EAX,[d] | MOV [b],$1 | ; XCHG [d],ECX | MOV [y],$1 | MOV [z],$1 | ; MOV EBX,[e] | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r10) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r9) _litmus_P0_5_: movl (%r8),%edx _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl $1,(%rsi) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X042+X043-A Required Histogram (72 states) 85476 :>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; 93987 :>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; 2764348:>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; 9374258:>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; 706900:>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; 996 :>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; 4006883:>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; 63720 :>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; 37691 :>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; 1209 :>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; 573103:>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; 116889:>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; 3308127:>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; 19 :>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; 2890135:>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; 1563 :>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; 1032 :>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; 46048 :>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; 13762 :>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; 2933452:>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; 168 :>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; 2758 :>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; 1479 :>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; 14930 :>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; 194454:>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; 100515:>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; 1309498:>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; 2656349:>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; 3193616:>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; 26602 :>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; 1631664:>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; 63276 :>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; 643239:>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; 2081941:>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; 1196511:>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; 17270 :>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; 211607:>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; 27081 :>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; 527838:>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; 3508988:>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; 727 :>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; 3484 :>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; 2265932:>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; 914 :>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; 7430 :>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; 1095 :>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; 132 :>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; 1723874:>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; 2233813:>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; 1400191:>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; 2121 :>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; 6075820:>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; 122244:>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; 79098 :>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; 3792064:>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; 425292:>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; 831415:>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; 512629:>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; 3598166:>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; 891476:>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; 8099 :>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; 56740 :>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; 3021 :>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; 4605834:>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; 298876:>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; 512127:>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; 3264332:>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; 17024688:>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; 2316707:>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; 7012 :>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; 3439457:>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; 65808 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is validated Hash=7a40714ffdb01a03dec69fe0331facb7 Time X042+X043-A 157.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X044-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044-A "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV ECX,$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; XCHG [e],ECX | MOV EBX,$1 | MOV [c],$1 | MOV ECX,$2 ; MOV EBX,[f] | XCHG [d],EBX | MOV [y],$1 | XCHG [z],ECX ; MOV ECX,$1 | MOV [e],$1 | MOV EAX,[c] | MOV [g],$1 ; XCHG [b],ECX | MOV EAX,[y] | MOV ECX,$1 | MOV [a],$1 ; MOV EAX,[x] | | XCHG [z],ECX | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: movl $1,(%r9) _litmus_P3_1_: movl $2,%ebx _litmus_P3_2_: xchgl %ebx,(%rdi) _litmus_P3_3_: movl $1,(%r8) _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,%r11d _litmus_P0_1_: xchgl %r11d,(%r9) _litmus_P0_2_: movl (%r8),%edx _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%r10) _litmus_P0_5_: movl (%rdi),%eax _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl $1,(%rdi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $1,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,%ebx _litmus_P2_5_: xchgl %ebx,(%rdi) _litmus_P2_6_: movl (%r10),%edx Test X043+X044-A Required Histogram (102 states) 45480 :>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; 78236 :>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; 405302:>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; 1768685:>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; 40 :>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; 149826:>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; 799 :>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; 745446:>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; 9259 :>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; 149774:>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; 90460 :>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; 2067293:>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; 1145474:>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; 112806:>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; 41654 :>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; 37856 :>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; 762591:>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; 2269155:>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; 1123 :>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; 131039:>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; 1803002:>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; 1291490:>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; 32330 :>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; 218439:>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; 546953:>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; 166413:>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; 5455348:>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; 8376 :>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; 1589824:>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; 838 :>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; 1149620:>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; 240329:>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; 15359 :>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; 18188 :>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; 19991 :>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; 9354 :>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; 1116562:>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; 2698587:>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; 11008 :>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; 133869:>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; 502812:>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; 4934467:>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; 28433 :>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; 60885 :>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; 1079028:>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; 4822472:>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; 307532:>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; 7914 :>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; 39501 :>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; 17039 :>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; 1332877:>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; 1412749:>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; 49355 :>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; 270861:>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; 936577:>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; 126924:>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; 87631 :>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; 103874:>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; 971152:>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; 55134 :>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; 8702885:>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; 236 :>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; 1948765:>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; 465 :>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; 503825:>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; 176122:>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; 682 :>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; 3606 :>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; 27027 :>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; 247269:>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; 674725:>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; 8189298:>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; 22777 :>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; 68334 :>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; 74 :>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; 51661 :>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; 1951 :>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; 993279:>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; 5305629:>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; 4078626:>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; 100337:>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; 1162233:>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; 387546:>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; 1843135:>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; 16 :>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; 31863 :>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; 1412357:>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; 3356836:>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; 926 :>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; 331081:>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; 18224 :>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; 4723112:>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; 69745 :>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; 3946049:>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; 24084 :>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; 3019786:>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; 460574:>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; 264640:>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; 2692818:>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; 442029:>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; 719962:>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; 310016:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is validated Hash=d36f36ccf4d4e587f68f0b1867a0d258 Time X043+X044-A 175.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X045-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV ECX,$2 ; MOV [d],$2 | MOV EBX,$1 | MOV ECX,$2 | XCHG [z],ECX ; MOV [e],$1 | XCHG [c],EBX | XCHG [e],ECX | MOV [a],$1 ; MOV [x],$1 | MOV EAX,[y] | MOV [f],$1 | MOV EAX,[a] ; | MOV [d],$1 | MOV [z],$1 | MOV EBX,[b] ; | | MOV EAX,[f] | ; | | MOV EBX,[c] | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%r8) _litmus_P1_3_: movl (%rcx),%eax _litmus_P1_4_: movl $1,(%rdi) _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $2,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: movl $1,(%r9) _litmus_P2_4_: movl $1,(%rdi) _litmus_P2_5_: movl (%r9),%eax _litmus_P2_6_: movl (%r11),%edx Test X044+X045-A Required Histogram (56 states) 4209937:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 60665 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 2614834:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 866806:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 56099 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 884860:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 1523145:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 5283671:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 1872184:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 54550 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1694758:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 190611:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 352344:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2145699:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2027083:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 214952:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 4880807:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 2122844:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 3817195:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 8859 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 5564566:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 7520 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 2070417:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 33578 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 752991:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 17529 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 1976664:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 746526:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 1608610:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 6376588:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 5576986:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 7310473:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 2315573:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 35 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 104841:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 6752524:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 47064 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1540951:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 1804520:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 426931:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 540189:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 1999161:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 2379600:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 1082290:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 148078:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 444822:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 546550:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 741123:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 1979 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 851301:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 1459 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 5729585:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 86839 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 4049075:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 387186:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 1093973:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is validated Hash=8f95daf4af1e2a00cfba13dd83443262 Time X044+X045-A 161.25 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X046-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046-A "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV EBX,$1 | MOV [f],$2 | MOV [e],$2 ; MOV [x],$1 | XCHG [c],EBX | MOV ESI,$2 | MOV [f],$1 ; MOV [d],$1 | MOV [x],$2 | XCHG [y],ESI | ; MOV [e],$1 | MOV EAX,[d] | MOV [b],$1 | ; | MOV [y],$1 | MOV [z],$1 | ; | | MOV EAX,[z] | ; | | MOV ECX,[b] | ; | | MOV EDX,[c] | ; | | MOV EBX,[a] | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $1,(%rax) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%r8) _litmus_P1_2_: movl $2,(%rsi) _litmus_P1_3_: movl (%rdi),%eax _litmus_P1_4_: movl $1,(%rcx) _litmus_P2_0_: movl $2,(%r12) _litmus_P2_1_: movl $2,%ecx _litmus_P2_2_: xchgl %ecx,(%r15) _litmus_P2_3_: movl $1,(%r14) _litmus_P2_4_: movl $1,(%r11) _litmus_P2_5_: movl (%r11),%esi _litmus_P2_6_: movl (%r14),%eax _litmus_P2_7_: movl (%r13),%edx _litmus_P2_8_: movl (%rbx),%edi Test X045+X046-A Required Histogram (72 states) 5289063:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 115803:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 21421 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1749 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 1851825:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 12353 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 1659861:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 108434:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 465649:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 16722 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 6199 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 839 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 136268:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 2992 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 290755:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 158357:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 920455:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 36972 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 7298 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 376 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1125268:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 7129 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 1250622:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 264464:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 235 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 18952 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=1; 1558873:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 6439785:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 181970:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 2305196:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 10461 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1906 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 640961:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 1165570:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 190458:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 2085801:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 47890 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 5957324:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 4217 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 474 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 216992:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 4951248:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 284912:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1484298:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 54028 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 4071746:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 2287 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1161 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 867375:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 6359409:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 1706212:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 3574 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 3242366:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 2510798:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 2961407:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 2559 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 287352:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 2363464:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 42316 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 1953133:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 15124305:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 137411:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 1420836:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 67213 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 95548 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 15874 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 228574:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1924736:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 1548231:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 4874313:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 199275:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 6636100:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is validated Hash=968e875fe788489b9ed6710ce9ae9965 Time X045+X046-A 159.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X047-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047-A "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [f],$1 | MOV [d],$1 | MOV [c],$1 | MOV ECX,$2 ; MOV EBX,$1 | MOV [e],$1 | MOV [y],$2 | XCHG [z],ECX ; XCHG [b],EBX | MOV [y],$1 | MOV EAX,[c] | MOV [g],$1 ; MOV EAX,[x] | | MOV ECX,$1 | MOV [a],$1 ; | | XCHG [z],ECX | MOV EAX,[a] ; | | MOV EBX,[d] | MOV EBX,[b] ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: movl $2,(%r9) _litmus_P3_1_: movl $2,%ebx _litmus_P3_2_: xchgl %ebx,(%rdi) _litmus_P3_3_: movl $1,(%r8) _litmus_P3_4_: movl $1,(%r11) _litmus_P3_5_: movl (%r11),%eax _litmus_P3_6_: movl (%r10),%edx _litmus_P0_0_: movl $2,(%rdi) _litmus_P0_1_: movl $1,(%rsi) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%r8) _litmus_P0_4_: movl (%rcx),%eax _litmus_P1_0_: movl $1,(%rdx) _litmus_P1_1_: movl $1,(%rsi) _litmus_P1_2_: movl $1,(%rcx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,(%r9) _litmus_P2_1_: movl $1,(%r11) _litmus_P2_2_: movl $2,(%r8) _litmus_P2_3_: movl (%r11),%eax _litmus_P2_4_: movl $1,%ebx _litmus_P2_5_: xchgl %ebx,(%rdi) _litmus_P2_6_: movl (%r10),%edx Test X046+X047-A Required Histogram (102 states) 290017:>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; 922248:>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; 80556 :>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; 1175113:>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; 56274 :>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; 24401 :>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; 58446 :>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; 180836:>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; 447849:>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; 1132127:>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; 701 :>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; 21506 :>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; 10277 :>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; 15040 :>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; 921 :>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; 28599 :>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; 1178035:>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; 87851 :>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; 2505860:>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; 873970:>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; 1283 :>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; 12276 :>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; 959210:>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; 1694532:>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; 1201139:>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; 3684323:>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; 100879:>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; 15687 :>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; 309553:>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; 161527:>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; 865539:>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; 1587373:>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; 471 :>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; 5064 :>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; 4673 :>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; 1956 :>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; 7541 :>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; 11377 :>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; 383580:>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; 8544 :>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; 1450078:>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; 145822:>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; 3 :>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; 26 :>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; 5906 :>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; 175386:>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; 4612 :>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; 96620 :>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; 4421691:>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; 477759:>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; 15 :>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; 17825 :>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; 1875804:>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; 1708827:>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; 82685 :>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; 2412009:>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; 838605:>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; 3915425:>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; 241513:>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; 494352:>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; 11220362:>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; 366633:>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; 2793 :>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; 36523 :>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; 3084029:>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; 1326970:>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; 39588 :>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; 1358357:>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; 709917:>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; 3919501:>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; 5004 :>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; 294051:>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; 176827:>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; 1333155:>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; 2495 :>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; 211076:>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; 4431992:>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; 1841237:>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; 606345:>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; 545496:>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; 13476 :>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; 121649:>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; 8 :>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; 13919 :>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; 7384553:>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; 4333716:>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; 2377999:>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; 2754460:>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; 15080 :>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; 8186 :>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; 1067434:>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; 1140827:>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; 1310 :>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; 41 :>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; 4532 :>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; 2434944:>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; 838508:>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; 1657 :>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; 1281435:>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; 1455873:>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; 36986 :>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; 4728939:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is validated Hash=034f9efd53f354968d925a397e16026e Time X046+X047-A 178.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X048-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-A "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV ECX,$2 ; MOV [x],$1 | MOV EBX,$1 | MOV [z],$1 | XCHG [z],ECX ; MOV EBX,$1 | XCHG [d],EBX | | MOV [a],$1 ; XCHG [c],EBX | MOV [y],$1 | | MOV EAX,[a] ; MOV EAX,[d] | MOV EAX,[c] | | MOV EBX,[b] ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: movl $2,%r10d _litmus_P3_1_: xchgl %r10d,(%rdi) _litmus_P3_2_: movl $1,(%r9) _litmus_P3_3_: movl (%r9),%eax _litmus_P3_4_: movl (%r8),%edx _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $1,%r9d _litmus_P0_3_: xchgl %r9d,(%rdi) _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rsi) _litmus_P1_1_: movl $1,%r9d _litmus_P1_2_: xchgl %r9d,(%rdi) _litmus_P1_3_: movl $1,(%rcx) _litmus_P1_4_: movl (%r8),%eax _litmus_P2_0_: movl $2,(%rdx) _litmus_P2_1_: movl $1,(%rax) Test X047+X048-A Required Histogram (44 states) 9392547:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 133473:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 1841981:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 624716:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 23416 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 310492:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 43772 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 6342860:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 1376067:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 15161 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 10136388:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 1119045:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 8113418:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 1358 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 166732:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 5672864:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 1669 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 512194:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2401 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 364731:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 45768 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 9648 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 1936224:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 619431:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 8094485:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 37869 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 852626:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 7546363:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 111363:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 1641630:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 11787 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 1724557:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 431251:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 110449:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 17743159:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 3076781:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 1648680:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 4059 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 6500016:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 197 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 293889:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 2018 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 1136482:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 225983:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is validated Hash=2f63d6997ea318baee6b4ea4ffc430c2 Time X047+X048-A 136.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X049-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049-A "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; MOV ECX,$1 | MOV [x],$1 | MOV EBX,$1 ; XCHG [a],ECX | MOV ECX,$1 | XCHG [b],EBX ; MOV EBX,[b] | XCHG [c],ECX | MOV EAX,[c] ; MOV ECX,$1 | MOV EBX,[a] | ; XCHG [y],ECX | MOV EAX,[y] | ; MOV EAX,[x] | | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: movl $1,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,%r11d _litmus_P0_1_: xchgl %r11d,(%r10) _litmus_P0_2_: movl (%r9),%edx _litmus_P0_3_: movl $1,%r11d _litmus_P0_4_: xchgl %r11d,(%rdi) _litmus_P0_5_: movl (%r8),%eax _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r9) _litmus_P1_3_: movl (%r10),%edx _litmus_P1_4_: movl (%rdi),%eax Test X048+X049-A Required Histogram (18 states) 9615142:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2096 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 55663 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 3884641:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 9665345:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2393478:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 5442864:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 15978207:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 6431755:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 20847411:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 1874 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 1784 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2684495:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 3550266:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 3567380:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 13398675:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 8429 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2470495:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is validated Hash=7ba72f7605a0430c6878b577b9f870ab Time X048+X049-A 101.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X050-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050-A "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; MOV ECX,$1 | XCHG [a],ECX | XCHG [d],ECX | XCHG [c],EBX ; XCHG [b],ECX | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV EBX,[c] | MOV ECX,$1 | MOV ECX,$1 | ; MOV EAX,[x] | XCHG [x],ECX | XCHG [y],ECX | ; | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rdi) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r9),%edx _litmus_P0_4_: movl (%r8),%eax _litmus_P1_0_: movl $1,%r11d _litmus_P1_1_: xchgl %r11d,(%r10) _litmus_P1_2_: movl (%r9),%edx _litmus_P1_3_: movl $1,%r11d _litmus_P1_4_: xchgl %r11d,(%r8) _litmus_P1_5_: movl (%rdi),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X049+X050-A Required Histogram (90 states) 34574 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 72558 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 1197982:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 816307:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 33996 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 2317 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 42346 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 35180 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 284291:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 54255 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 78827 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4785 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 1938307:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 63 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 5992004:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 91638 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 902434:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1365 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 223308:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 1637 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 102 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 91433 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 929141:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 569846:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 15954115:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4198 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1309 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 179667:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 826057:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5803316:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 52204 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 4883364:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1099282:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1052264:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1106 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3444090:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 208705:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 7263 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 108694:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 64961 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 296085:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 223074:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6170958:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 982287:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 6228 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 4105878:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 751038:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3806 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 19102 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3175 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 106751:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 26746 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 77743 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 57034 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1118864:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 141447:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1152 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 18118 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 16642 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 9076046:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 21752 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 6590895:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1296075:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 120919:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2113529:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 536 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 36310 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2353 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 704603:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 905 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 6 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 4681 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 785 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 138053:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2182085:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 34205 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 7077507:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 61701 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 142592:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 62107 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1679204:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3797177:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 103617:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 253306:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 371123:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1808436:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 22997 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 743903:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 337172:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=e621f8698d29acda303a0d1ac5971e6a Time X049+X050-A 141.54 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X051-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051-A "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [c],$2 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; MOV ECX,$1 | XCHG [x],EBX | XCHG [e],ECX | XCHG [d],ECX ; XCHG [a],ECX | MOV [b],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV EBX,[d] | MOV [c],$1 | MOV ECX,$1 | MOV ECX,$1 ; MOV EAX,[x] | MOV EAX,[y] | XCHG [y],ECX | XCHG [z],ECX ; | | MOV EAX,[z] | MOV EAX,[a] ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: movl $1,%r11d _litmus_P3_1_: xchgl %r11d,(%r9) _litmus_P3_2_: movl (%r8),%edx _litmus_P3_3_: movl $1,%r11d _litmus_P3_4_: xchgl %r11d,(%rdi) _litmus_P3_5_: movl (%r10),%eax _litmus_P0_0_: movl $2,(%r9) _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: movl (%r8),%edx _litmus_P0_4_: movl (%rdi),%eax _litmus_P1_0_: movl $1,%r9d _litmus_P1_1_: xchgl %r9d,(%rsi) _litmus_P1_2_: movl $1,(%r8) _litmus_P1_3_: movl $1,(%rdi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X050+X051-A Required Histogram (134 states) 3828 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 19406 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 79670 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 647813:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1605660:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1515577:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1760861:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 143 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1191428:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4560645:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 12524 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 20247 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 29838 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1329 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 5122 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 25711 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 55087 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 114 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 40523 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 52612 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 881525:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 10024 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 761714:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 677068:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 880736:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 976 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1127253:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 372191:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 42466 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 25785 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1106 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 34829 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 386 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 201 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 131 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 4444185:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1389282:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1545317:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 5251913:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 24700 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2370 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 20721 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 21160 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 24414 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 312800:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1762219:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1090 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 154122:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 111104:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 508256:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 557 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 43 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 391 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 41311 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 225 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1884769:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1225837:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 60168 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1458250:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 7285359:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2408332:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1585822:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 7895200:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 463319:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 113878:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 71899 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 891697:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 478909:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 20275 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 433202:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 950368:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 2065055:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2589043:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4700 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 724422:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 35033 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 27768 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 206 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 10078 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1533462:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1241654:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 21732 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1272142:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 9090 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 4784 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 518 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 5953 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 11499 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 36792 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 467607:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 385176:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 35734 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 1116 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 7585240:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 39657 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 3829 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1262 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 8814 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1743 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 29817 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 99511 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 31 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 544 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 1132196:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 3588059:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 537 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 4386 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 336122:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 1576672:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 222866:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 179063:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 591889:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 24199 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 703696:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 8092 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 257988:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 855872:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 473309:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1613376:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3745 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 143751:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 664 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 22549 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3554727:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 4284972:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 29646 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 72413 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 695425:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2070143:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 1642 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 9982 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=9118dc4527e26714ad03f645d8582d18 Time X050+X051-A 156.39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X052-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052-A "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV EBX,$1 ; MOV EBX,$2 | MOV [b],$1 | MOV ECX,$1 | XCHG [z],EBX ; XCHG [b],EBX | MOV EBX,$2 | XCHG [c],ECX | MOV EAX,[a] ; MOV EAX,[c] | XCHG [x],EBX | MOV EBX,[d] | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $2,%r9d _litmus_P0_2_: xchgl %r9d,(%rdi) _litmus_P0_3_: movl (%rsi),%eax _litmus_P0_4_: movl $1,(%rcx) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%r8) _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: movl (%r9),%edx _litmus_P2_4_: movl (%rdi),%eax Test X051+X052-A Required Histogram (69 states) 157629:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 43 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 644885:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 6 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=1; 111975:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 4036 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 100632:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 704989:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 83 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 679693:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 110 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 235646:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 91200 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 3697 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 73123 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 147114:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 984229:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 19264 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 528323:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1152721:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 3538057:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 2692526:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 366071:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 514187:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 3903812:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 6181584:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 691297:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 8756559:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 4209348:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 187626:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 721725:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 1559829:>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 212653:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2455616:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 7032689:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 3539976:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 752288:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 3884702:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1016007:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 1049304:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 2809194:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 18 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; x=2; 546188:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 2748819:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 302157:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1824771:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 6772821:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 2848983:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1786369:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 239339:>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 732976:>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 112528:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 3971452:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 13312271:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 961213:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 213338:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 245462:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 26 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=2; 335209:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 167389:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 48271 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 543082:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 39997 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 10538 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 7338 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 40547 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 258389:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 88536 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 127525:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is validated Hash=fc513bcf3b3fae90e05b197bb1b7a486 Time X051+X052-A 141.27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X053-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053-A "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV ECX,$1 | MOV EBX,$2 ; MOV [b],$2 | MOV [b],$1 | XCHG [d],ECX | XCHG [c],EBX ; MOV [c],$1 | MOV EBX,$2 | MOV EBX,[a] | MOV EAX,[d] ; MOV [x],$1 | XCHG [x],EBX | MOV ECX,$1 | ; | MOV EAX,[y] | XCHG [y],ECX | ; | | MOV EAX,[z] | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rsi) _litmus_P3_2_: movl (%rcx),%eax _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $1,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X052+X053-A Required Histogram (89 states) 67409 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 4555 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 101593:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 9 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 662595:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 53152 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 392762:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 9224 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 391967:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 10 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 83461 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 19232 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 8115 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 582139:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 71267 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 231722:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 925402:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 130287:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 16428681:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 461812:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 36356 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 5831895:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 228009:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1083682:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1721719:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 331605:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 5970745:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 738371:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 9 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=1; 59407 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 565 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 34951 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 3754 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 110343:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 5 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 143460:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 9739 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 3221544:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 5818 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 5245 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1435073:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 107374:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 363252:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 336898:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 37137 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 6256469:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 313451:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 470548:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 30431 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 4278865:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 29 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 6292069:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 1733077:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 2720165:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 21922 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 3680003:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 64 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 256079:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 187769:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 4607 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 3263 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 84 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 225940:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 55739 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 46215 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 51 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 35649 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 68 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 14810 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 18723 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 19457 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 1946393:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 8761011:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 1177259:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 1545412:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 105869:>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 10040420:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 19 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 5549974:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 1563856:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 41219 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 1733 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 31864 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 178 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 41425 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 25 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 60094 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 25346 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is validated Hash=5dbac7472335d2d3ed552b048579c2af Time X052+X053-A 143.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X054-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054-A "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [x],$2 | MOV EBX,$2 | MOV EBX,$1 ; MOV [x],$1 | MOV [c],$1 | XCHG [y],EBX | XCHG [z],EBX ; MOV EBX,$2 | MOV [y],$1 | MOV EAX,[z] | MOV EAX,[a] ; XCHG [b],EBX | MOV [b],$1 | | ; MOV EAX,[c] | | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: movl $1,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%r8) _litmus_P0_1_: movl $1,(%rcx) _litmus_P0_2_: movl $2,%r9d _litmus_P0_3_: xchgl %r9d,(%rdi) _litmus_P0_4_: movl (%rsi),%eax _litmus_P1_0_: movl $2,(%rdx) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $1,(%rax) _litmus_P1_3_: movl $1,(%rsi) _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rsi) _litmus_P2_2_: movl (%rcx),%eax Test X053+X054-A Required Histogram (44 states) 12974 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 612447:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 62284 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 1991457:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 52402 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 1461335:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 15481 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 332457:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 6416344:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 7863963:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 5979517:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 479787:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 591029:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 495951:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 3999662:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 1741967:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 11265395:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 2766153:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 9086957:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 1306756:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 3271 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 19553 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 219013:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 21069 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 14 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=2; 22417 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 440592:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 1168 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 75387 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 10240 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 307107:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 2065337:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 14294004:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 6516512:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 8067549:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 790571:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 711839:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 1472734:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 552702:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 5833877:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 1966295:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 14814 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 17752 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 41865 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is validated Hash=bc583992bc01a99c1f603a9208ccc084 Time X053+X054-A 128.38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X055-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055-A "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV EBX,$2 | MOV [a],$1 | MOV EBX,$2 | MOV [c],$1 ; XCHG [b],EBX | MOV [b],$1 | XCHG [d],EBX | MOV [d],$1 ; MOV EAX,[c] | MOV EBX,$2 | MOV EAX,[a] | ; MOV [y],$1 | XCHG [x],EBX | | ; MOV [x],$1 | MOV EAX,[y] | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: movl $1,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $2,%r9d _litmus_P0_1_: xchgl %r9d,(%r8) _litmus_P0_2_: movl (%rdi),%eax _litmus_P0_3_: movl $1,(%rcx) _litmus_P0_4_: movl $1,(%rsi) _litmus_P1_0_: movl $1,(%r8) _litmus_P1_1_: movl $1,(%rdi) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $2,%edi _litmus_P2_1_: xchgl %edi,(%rcx) _litmus_P2_2_: movl (%rsi),%eax Test X054+X055-A Required Histogram (45 states) 112311:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1181909:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 362400:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 1875482:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 258279:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 370026:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 626039:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 231973:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 559626:>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 7882503:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 48347 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 447090:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 3909112:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 10060403:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 410599:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 138290:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 71 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 300674:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 1005 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 877509:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 131563:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1131262:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 374896:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 1501073:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 2295022:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 201255:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 2034177:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 19096676:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 174935:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 999757:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 9350902:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 5432260:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 4831806:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 91592 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 480876:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 599666:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 269418:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 24157 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 2165590:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 6845744:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 6920158:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 4174699:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 410602:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 20413 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 787853:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is validated Hash=f751942efd0f43471bfacf70aba38554 Time X054+X055-A 128.56 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X056-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056-A "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV EBX,$2 ; MOV [b],$2 | MOV [b],$1 | MOV EBX,$2 | XCHG [z],EBX ; MOV [c],$1 | MOV EBX,$2 | XCHG [c],EBX | MOV EAX,[a] ; MOV [x],$1 | XCHG [x],EBX | MOV EAX,[d] | ; | MOV EAX,[y] | MOV [z],$1 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: movl $2,%edi _litmus_P3_1_: xchgl %edi,(%rcx) _litmus_P3_2_: movl (%rsi),%eax _litmus_P0_0_: movl $1,(%rsi) _litmus_P0_1_: movl $2,(%rcx) _litmus_P0_2_: movl $1,(%rdx) _litmus_P0_3_: movl $1,(%rax) _litmus_P1_0_: movl $1,(%rdi) _litmus_P1_1_: movl $1,(%r8) _litmus_P1_2_: movl $2,%r9d _litmus_P1_3_: xchgl %r9d,(%rsi) _litmus_P1_4_: movl (%rcx),%eax _litmus_P2_0_: movl $1,(%rsi) _litmus_P2_1_: movl $2,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: movl (%rdi),%eax _litmus_P2_4_: movl $1,(%rcx) Test X055+X056-A Required Histogram (69 states) 473676:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 349 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 197028:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 99815 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 342 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 183138:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 2590621:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 4611367:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 6797709:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 137853:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 1811516:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 2626844:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 38 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=1; z=1; 124319:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 114905:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 63 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 185192:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 109810:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 4373223:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 930097:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 9016607:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1357782:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 4254445:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 521433:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 1978026:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 817603:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 30207 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 46692 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 3312 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 25322 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 1800327:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 966780:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 3706244:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 4923932:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 5275263:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 13435061:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 17563 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 88936 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 45484 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 64581 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 153262:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 2 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=2; 566693:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 74 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 25554 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 2475633:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 281859:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 322763:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 3785059:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 1775147:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 2223086:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 54 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=2; 9552 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 12683 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 825667:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 266916:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 1212319:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 11 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 7928652:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 132776:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 12543 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 11 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=2; 75120 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 7051 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 2968651:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 313768:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 867320:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 2492 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; 11777 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is validated Hash=ad8e061732a92ee402e282621e233139 Time X055+X056-A 144.02 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./A/X057-A.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057-A "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; MOV [z],$1 | MOV [a],$1 | MOV ECX,$2 | MOV [c],$2 ; MOV [b],$2 | MOV [b],$1 | XCHG [d],ECX | MOV [d],$1 ; MOV [c],$1 | MOV [x],$2 | MOV EBX,[a] | ; MOV [x],$1 | MOV [y],$1 | MOV ECX,$2 | ; | | XCHG [y],ECX | ; | | MOV EAX,[z] | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: movl $2,(%rdx) _litmus_P3_1_: movl $1,(%rax) _litmus_P0_0_: movl $1,(%rax) _litmus_P0_1_: movl $2,(%rsi) _litmus_P0_2_: movl $1,(%rcx) _litmus_P0_3_: movl $1,(%rdx) _litmus_P1_0_: movl $1,(%rsi) _litmus_P1_1_: movl $1,(%rcx) _litmus_P1_2_: movl $2,(%rdx) _litmus_P1_3_: movl $1,(%rax) _litmus_P2_0_: movl $2,%r11d _litmus_P2_1_: xchgl %r11d,(%r9) _litmus_P2_2_: movl (%r10),%edx _litmus_P2_3_: movl $2,%r11d _litmus_P2_4_: xchgl %r11d,(%r8) _litmus_P2_5_: movl (%rdi),%eax Test X056+X057-A Required Histogram (90 states) 473256:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 290637:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 62 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 11688 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 6415352:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 651928:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 375933:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 226145:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 34240 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 69489 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 5 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 6746 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 773877:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 155745:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 27634 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 48845 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 128466:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 101337:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 21 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 30216 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 1280195:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 213806:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 188649:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 149031:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 26 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=1; 268 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 159 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 3232334:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 2748844:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 167 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 78503 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 12180 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 4997 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 90 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 1130 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 1488221:>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 8281267:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 42 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 989295:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 7360 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 7797 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 31 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 2435 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 716377:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 3665230:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 106 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 1127001:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 1120 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 555 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 34 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 2516 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 1738862:>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 810852:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 201 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=1; 34119 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 58083 :>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 924277:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 507165:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 2809144:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 4232488:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 33806 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 206067:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 161517:>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 221437:>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 363630:>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 4316627:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 2879 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 874462:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 11436 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 36281 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 2450663:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 20636921:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 3 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=1; y=2; 97231 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 2944175:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 54371 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 154036:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 1087 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=2; 1475 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 206657:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 4925319:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 3987 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=2; 14209 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 62154 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 7053609:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 28 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=2; 33068 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 27237 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=2; 9955320:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 13729 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=056dfafab09dc26b5df7b2444b8b2707 Time X056+X057-A 146.24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X000-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X000-L "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 ; Lock00: | Lock12: ; MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_y],ESI | XCHG [L_x],ESI ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 ; Lock01: | Lock13: ; MOV ESI,[L_y] | MOV ESI,[L_x] ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 ; JMP Lock01 | JMP Lock13 ; Lock02: | Lock14: ; MOV [y],$1 | MOV [x],$1 ; MOV [L_y],$0 | MOV [L_x],$0 ; Lock03: | MOV EAX,[x] ; MOV ESI,$1 | Lock15: ; XCHG [L_a],ESI | MOV ESI,$1 ; CMP ESI,$0 | XCHG [L_b],ESI ; JE Lock05 | CMP ESI,$0 ; Lock04: | JE Lock17 ; MOV ESI,[L_a] | Lock16: ; CMP ESI,$0 | MOV ESI,[L_b] ; JE Lock03 | CMP ESI,$0 ; JMP Lock04 | JE Lock15 ; Lock05: | JMP Lock16 ; MOV [a],$1 | Lock17: ; MOV [L_a],$0 | MOV [b],$1 ; MOV EAX,[y] | MOV [L_b],$0 ; MOV ECX,[a] | MOV ECX,[b] ; Lock06: | Lock18: ; MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_x],ESI | XCHG [L_a],ESI ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock08 | JE Lock20 ; Lock07: | Lock19: ; MOV ESI,[L_x] | MOV ESI,[L_a] ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock06 | JE Lock18 ; JMP Lock07 | JMP Lock19 ; Lock08: | Lock20: ; MOV EBX,[x] | MOV EDX,[a] ; MOV [L_x],$0 | MOV [L_a],$0 ; Lock09: | Lock21: ; MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_b],ESI | XCHG [L_y],ESI ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock11 | JE Lock23 ; Lock10: | Lock22: ; MOV ESI,[L_b] | MOV ESI,[L_y] ; CMP ESI,$0 | CMP ESI,$0 ; JE Lock09 | JE Lock21 ; JMP Lock10 | JMP Lock22 ; Lock11: | Lock23: ; MOV EDX,[b] | MOV EBX,[y] ; MOV [L_b],$0 | MOV [L_y],$0 ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) Generated assembler _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%rdx) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rdx),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rbx) _litmus_P1_12_: movl $0,(%rdx) _litmus_P1_13_: movl (%rbx),%esi _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%r15d _litmus_P1_16_: xchgl %r15d,(%r12) _litmus_P1_17_: cmpl $0,%r15d _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r12),%r15d _litmus_P1_21_: cmpl $0,%r15d _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%rcx) _litmus_P1_26_: movl $0,(%r12) _litmus_P1_27_: movl (%rcx),%r8d _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%r15d _litmus_P1_30_: xchgl %r15d,(%rax) _litmus_P1_31_: cmpl $0,%r15d _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rax),%r15d _litmus_P1_35_: cmpl $0,%r15d _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl (%r13),%r9d _litmus_P1_40_: movl $0,(%rax) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%r14) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r14),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r11),%edi _litmus_P1_53_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r14) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r14),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r14) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rax) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rax),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%rax) _litmus_P0_26_: movl (%r11),%esi _litmus_P0_27_: movl (%r13),%r8d _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%r15d _litmus_P0_30_: xchgl %r15d,(%rdx) _litmus_P0_31_: cmpl $0,%r15d _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rdx),%r15d _litmus_P0_35_: cmpl $0,%r15d _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%rbx),%edi _litmus_P0_40_: movl $0,(%rdx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r12) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%rcx),%r9d _litmus_P0_53_: movl $0,(%r12) Test X000+X000-L Required Histogram (6 states) 11543977:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 1:EDX=0; 51615883:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=0; 21400003:>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 1987332:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 50650 :>0:EAX=1; 0:EBX=0; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 113402155:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; Ok Witnesses Positive: 200000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0) \/ 1:EBX=0 /\ 1:EDX=0) \/ 0:EDX=0 /\ 1:EBX=1 /\ 1:EDX=1) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 \/ 0:EDX=0))) is validated Hash=039dd1dfcdafb33f8bcd264f58f1a557 Time X000+X000-L 212.90 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X001-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X000+X001-L "Fre Rfi PodRR Fre Rfi PodRR+Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_y],ESI | XCHG [L_x],ESI | XCHG [L_b],ECX ; CMP ESI,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_y] | MOV ESI,[L_x] | MOV ECX,[L_b] ; CMP ESI,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [y],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [L_y],$0 | MOV [L_x],$0 | MOV [L_b],$0 ; Lock03: | Lock15: | MOV EAX,[b] ; MOV ESI,$1 | MOV ESI,$1 | Lock27: ; XCHG [L_a],ESI | XCHG [L_c],ESI | MOV ECX,$1 ; CMP ESI,$0 | CMP ESI,$0 | XCHG [L_c],ECX ; JE Lock05 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock16: | JE Lock29 ; MOV ESI,[L_a] | MOV ESI,[L_c] | Lock28: ; CMP ESI,$0 | CMP ESI,$0 | MOV ECX,[L_c] ; JE Lock03 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JE Lock27 ; Lock05: | Lock17: | JMP Lock28 ; MOV [a],$1 | MOV [c],$1 | Lock29: ; MOV [L_a],$0 | MOV [L_c],$0 | MOV EBX,[c] ; MOV EAX,[y] | MOV EAX,[x] | MOV [L_c],$0 ; MOV ECX,[a] | Lock18: | ; Lock06: | MOV ESI,$1 | ; MOV ESI,$1 | XCHG [L_y],ESI | ; XCHG [L_x],ESI | CMP ESI,$0 | ; CMP ESI,$0 | JE Lock20 | ; JE Lock08 | Lock19: | ; Lock07: | MOV ESI,[L_y] | ; MOV ESI,[L_x] | CMP ESI,$0 | ; CMP ESI,$0 | JE Lock18 | ; JE Lock06 | JMP Lock19 | ; JMP Lock07 | Lock20: | ; Lock08: | MOV EBX,[y] | ; MOV EBX,[x] | MOV [L_y],$0 | ; MOV [L_x],$0 | MOV ECX,[c] | ; Lock09: | Lock21: | ; MOV ESI,$1 | MOV ESI,$1 | ; XCHG [L_b],ESI | XCHG [L_a],ESI | ; CMP ESI,$0 | CMP ESI,$0 | ; JE Lock11 | JE Lock23 | ; Lock10: | Lock22: | ; MOV ESI,[L_b] | MOV ESI,[L_a] | ; CMP ESI,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | ; JMP Lock10 | JMP Lock22 | ; Lock11: | Lock23: | ; MOV EDX,[b] | MOV EDX,[a] | ; MOV [L_b],$0 | MOV [L_a],$0 | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl (%r8),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r9) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r9),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%rdi),%edx _litmus_P2_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r14) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r14),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r11) _litmus_P0_12_: movl $0,(%r14) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%r8) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r13) _litmus_P0_25_: movl $0,(%r8) _litmus_P0_26_: movl (%r11),%edx _litmus_P0_27_: movl (%r13),%ebx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%rax) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rax),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r15),%ecx _litmus_P0_40_: movl $0,(%rax) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r12) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r9),%esi _litmus_P0_53_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%rax) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rax),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r15) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r12) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r9) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: movl (%r15),%edx _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edi _litmus_P1_29_: xchgl %edi,(%r14) _litmus_P1_30_: cmpl $0,%edi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r14),%edi _litmus_P1_34_: cmpl $0,%edi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r11),%ecx _litmus_P1_39_: movl $0,(%r14) _litmus_P1_40_: movl (%r9),%ebx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r8) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r8),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r13),%esi _litmus_P1_53_: movl $0,(%r8) Test X000+X001-L Required Histogram (17 states) 4459941:>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; 45778 :>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; 2334 :>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; 672130:>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; 3 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=0; 12126118:>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; 38089225:>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; 191582:>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; 9504879:>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; 67 :>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; 29026 :>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; 460 :>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; 91365 :>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; 1865731:>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; 2221417:>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; 486671:>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; 30213273:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:EDX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=10aef269b73de8399adcbbfb30e37759 Time X000+X001-L 182.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X002-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X001+X002-L "Fre Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_c],ESI | XCHG [L_a],ESI | XCHG [L_y],ESI ; CMP ESI,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_c] | MOV ESI,[L_a] | MOV ESI,[L_y] ; CMP ESI,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [c],$1 | MOV [a],$1 | MOV [y],$1 ; MOV [L_c],$0 | MOV [L_a],$0 | MOV [L_y],$0 ; MOV ECX,[c] | Lock15: | Lock27: ; Lock03: | MOV ESI,$1 | MOV ESI,$1 ; MOV ESI,$1 | XCHG [L_x],ESI | XCHG [L_d],ESI ; XCHG [L_z],ESI | CMP ESI,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock17 | JE Lock29 ; JE Lock05 | Lock16: | Lock28: ; Lock04: | MOV ESI,[L_x] | MOV ESI,[L_d] ; MOV ESI,[L_z] | CMP ESI,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock15 | JE Lock27 ; JE Lock03 | JMP Lock16 | JMP Lock28 ; JMP Lock04 | Lock17: | Lock29: ; Lock05: | MOV [x],$1 | MOV [d],$1 ; MOV [z],$1 | MOV [L_x],$0 | MOV [L_d],$0 ; MOV [L_z],$0 | MOV EAX,[x] | MOV EAX,[y] ; Lock06: | MOV [b],$1 | Lock30: ; MOV ESI,$1 | MOV ECX,[b] | MOV ESI,$1 ; XCHG [L_d],ESI | Lock18: | XCHG [L_z],ESI ; CMP ESI,$0 | MOV ESI,$1 | CMP ESI,$0 ; JE Lock08 | XCHG [L_c],ESI | JE Lock32 ; Lock07: | CMP ESI,$0 | Lock31: ; MOV ESI,[L_d] | JE Lock20 | MOV ESI,[L_z] ; CMP ESI,$0 | Lock19: | CMP ESI,$0 ; JE Lock06 | MOV ESI,[L_c] | JE Lock30 ; JMP Lock07 | CMP ESI,$0 | JMP Lock31 ; Lock08: | JE Lock18 | Lock32: ; MOV EDX,[d] | JMP Lock19 | MOV EBX,[z] ; MOV [L_d],$0 | Lock20: | MOV [L_z],$0 ; MOV EAX,[z] | MOV EDX,[c] | MOV ECX,[d] ; Lock09: | MOV [L_c],$0 | Lock33: ; MOV ESI,$1 | Lock21: | MOV ESI,$1 ; XCHG [L_x],ESI | MOV ESI,$1 | XCHG [L_a],ESI ; CMP ESI,$0 | XCHG [L_y],ESI | CMP ESI,$0 ; JE Lock11 | CMP ESI,$0 | JE Lock35 ; Lock10: | JE Lock23 | Lock34: ; MOV ESI,[L_x] | Lock22: | MOV ESI,[L_a] ; CMP ESI,$0 | MOV ESI,[L_y] | CMP ESI,$0 ; JE Lock09 | CMP ESI,$0 | JE Lock33 ; JMP Lock10 | JE Lock21 | JMP Lock34 ; Lock11: | JMP Lock22 | Lock35: ; MOV EBX,[x] | Lock23: | MOV EDX,[a] ; MOV [L_x],$0 | MOV EBX,[y] | MOV [L_a],$0 ; | MOV [L_y],$0 | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r12) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r15),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r14) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r14),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r11),%ecx _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: movl (%r9),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r8) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r8),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r13),%esi _litmus_P2_53_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r8) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r8),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%r8) _litmus_P0_13_: movl (%r13),%ebx _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%edi _litmus_P0_16_: xchgl %edi,(%r14) _litmus_P0_17_: cmpl $0,%edi _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r14),%edi _litmus_P0_21_: cmpl $0,%edi _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r11) _litmus_P0_26_: movl $0,(%r14) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%edi _litmus_P0_29_: xchgl %edi,(%r12) _litmus_P0_30_: cmpl $0,%edi _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r12),%edi _litmus_P0_34_: cmpl $0,%edi _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl (%r9),%esi _litmus_P0_39_: movl $0,(%r12) _litmus_P0_40_: movl (%r11),%edx _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%rax) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rax),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r15),%ecx _litmus_P0_53_: movl $0,(%rax) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r8) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r14) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r12) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r15) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: movl (%r15),%edx _litmus_P1_27_: movl $1,(%r13) _litmus_P1_28_: movl (%r13),%ebx _litmus_P1_29_: LitLock18: _litmus_P1_30_: movl $1,%edi _litmus_P1_31_: xchgl %edi,(%r9) _litmus_P1_32_: cmpl $0,%edi _litmus_P1_33_: je LitLock20 _litmus_P1_34_: LitLock19: _litmus_P1_35_: movl (%r9),%edi _litmus_P1_36_: cmpl $0,%edi _litmus_P1_37_: je LitLock18 _litmus_P1_38_: jmp LitLock19 _litmus_P1_39_: LitLock20: _litmus_P1_40_: movl (%r10),%esi _litmus_P1_41_: movl $0,(%r9) _litmus_P1_42_: LitLock21: _litmus_P1_43_: movl $1,%edi _litmus_P1_44_: xchgl %edi,(%rax) _litmus_P1_45_: cmpl $0,%edi _litmus_P1_46_: je LitLock23 _litmus_P1_47_: LitLock22: _litmus_P1_48_: movl (%rax),%edi _litmus_P1_49_: cmpl $0,%edi _litmus_P1_50_: je LitLock21 _litmus_P1_51_: jmp LitLock22 _litmus_P1_52_: LitLock23: _litmus_P1_53_: movl (%r11),%ecx _litmus_P1_54_: movl $0,(%rax) Test X001+X002-L Required Histogram (23 states) 169435:>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; 2277776:>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; 2743021:>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; 1075902:>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; 4 :>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; 464741:>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; 12543 :>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; 686510:>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; 8058868:>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; 100 :>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; 331872:>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; 16291306:>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; 1229047:>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; 1430128:>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; 29289 :>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; 1579937:>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; 906374:>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; 3429327:>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; 20510 :>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; 10755133:>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; 15940041:>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; 1099453:>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; 31468683:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 1:ECX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EDX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EDX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:EDX=1 \/ 1:EDX=0))) \/ 0:EBX=0 /\ 1:EDX=1 /\ (0:EDX=1 /\ 1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=ccfa86576b74365c7791b27f09da718f Time X001+X002-L 214.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X003-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X002+X003-L "Fre PodWW Rfi PodRR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV EDX,$1 | MOV ESI,$1 ; XCHG [L_b],ESI | XCHG [L_y],EDX | XCHG [L_z],ESI ; CMP ESI,$0 | CMP EDX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_b] | MOV EDX,[L_y] | MOV ESI,[L_z] ; CMP ESI,$0 | CMP EDX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | MOV EAX,[y] | Lock27: ; MOV ESI,$1 | Lock15: | MOV ESI,$1 ; XCHG [L_a],ESI | MOV EDX,$1 | XCHG [L_c],ESI ; CMP ESI,$0 | XCHG [L_d],EDX | CMP ESI,$0 ; JE Lock05 | CMP EDX,$0 | JE Lock29 ; Lock04: | JE Lock17 | Lock28: ; MOV ESI,[L_a] | Lock16: | MOV ESI,[L_c] ; CMP ESI,$0 | MOV EDX,[L_d] | CMP ESI,$0 ; JE Lock03 | CMP EDX,$0 | JE Lock27 ; JMP Lock04 | JE Lock15 | JMP Lock28 ; Lock05: | JMP Lock16 | Lock29: ; MOV [a],$1 | Lock17: | MOV [c],$1 ; MOV [L_a],$0 | MOV [d],$1 | MOV [L_c],$0 ; MOV [x],$1 | MOV [L_d],$0 | MOV EAX,[z] ; MOV EAX,[x] | Lock18: | Lock30: ; Lock06: | MOV EDX,$1 | MOV ESI,$1 ; MOV ESI,$1 | XCHG [L_b],EDX | XCHG [L_a],ESI ; XCHG [L_y],ESI | CMP EDX,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock20 | JE Lock32 ; JE Lock08 | Lock19: | Lock31: ; Lock07: | MOV EDX,[L_b] | MOV ESI,[L_a] ; MOV ESI,[L_y] | CMP EDX,$0 | CMP ESI,$0 ; CMP ESI,$0 | JE Lock18 | JE Lock30 ; JE Lock06 | JMP Lock19 | JMP Lock31 ; JMP Lock07 | Lock20: | Lock32: ; Lock08: | MOV ECX,[b] | MOV EBX,[a] ; MOV EBX,[y] | MOV [L_b],$0 | MOV [L_a],$0 ; MOV [L_y],$0 | Lock21: | MOV ECX,[c] ; MOV ECX,[b] | MOV EDX,$1 | Lock33: ; Lock09: | XCHG [L_z],EDX | MOV ESI,$1 ; MOV ESI,$1 | CMP EDX,$0 | XCHG [L_d],ESI ; XCHG [L_c],ESI | JE Lock23 | CMP ESI,$0 ; CMP ESI,$0 | Lock22: | JE Lock35 ; JE Lock11 | MOV EDX,[L_z] | Lock34: ; Lock10: | CMP EDX,$0 | MOV ESI,[L_d] ; MOV ESI,[L_c] | JE Lock21 | CMP ESI,$0 ; CMP ESI,$0 | JMP Lock22 | JE Lock33 ; JE Lock09 | Lock23: | JMP Lock34 ; JMP Lock10 | MOV EBX,[z] | Lock35: ; Lock11: | MOV [L_z],$0 | MOV EDX,[d] ; MOV EDX,[c] | | MOV [L_d],$0 ; MOV [L_c],$0 | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r12) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r11),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%ecx _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r9),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%r9) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r9),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r13) _litmus_P0_12_: movl $0,(%r9) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%r8) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r8),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r14) _litmus_P0_25_: movl $0,(%r8) _litmus_P0_26_: movl $1,(%r15) _litmus_P0_27_: movl (%r15),%edx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%rax) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rax),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r11),%ecx _litmus_P0_40_: movl $0,(%rax) _litmus_P0_41_: movl (%r13),%ebx _litmus_P0_42_: LitLock09: _litmus_P0_43_: movl $1,%edi _litmus_P0_44_: xchgl %edi,(%r12) _litmus_P0_45_: cmpl $0,%edi _litmus_P0_46_: je LitLock11 _litmus_P0_47_: LitLock10: _litmus_P0_48_: movl (%r12),%edi _litmus_P0_49_: cmpl $0,%edi _litmus_P0_50_: je LitLock09 _litmus_P0_51_: jmp LitLock10 _litmus_P0_52_: LitLock11: _litmus_P0_53_: movl (%r10),%esi _litmus_P0_54_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%r13) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: movl (%r10),%edx _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%esi _litmus_P1_16_: xchgl %esi,(%r14) _litmus_P1_17_: cmpl $0,%esi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r14),%esi _litmus_P1_21_: cmpl $0,%esi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r11) _litmus_P1_26_: movl $0,(%r14) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%esi _litmus_P1_29_: xchgl %esi,(%rax) _litmus_P1_30_: cmpl $0,%esi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%esi _litmus_P1_34_: cmpl $0,%esi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r15),%ebx _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r12) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r12),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r9),%ecx _litmus_P1_52_: movl $0,(%r12) Test X002+X003-L Required Histogram (24 states) 902197:>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; 1328482:>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; 8805136:>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; 1131860:>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; 922 :>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; 2955116:>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; 1039086:>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; 806893:>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; 7675895:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 2 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 14 :>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; 9621548:>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; 793054:>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; 2388749:>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; 5342 :>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; 2006823:>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; 250445:>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; 4137706:>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; 2 :>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; 127281:>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; 4151091:>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; 5423550:>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; 1203887:>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; 45244919:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:ECX=0 /\ 2:EDX=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:EDX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=da1f4b5bea5a7a7b9f9dcce3c9332960 Time X002+X003-L 215.22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X004-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X003+X004-L "Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EDX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_b],ECX | XCHG [L_a],EDX | XCHG [L_d],ESI | XCHG [L_c],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_b] | MOV EDX,[L_a] | MOV ESI,[L_d] | MOV ECX,[L_c] ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[c] ; MOV ECX,$1 | MOV EDX,$1 | MOV ESI,$1 | Lock39: ; XCHG [L_z],ECX | XCHG [L_x],EDX | XCHG [L_y],ESI | MOV ECX,$1 ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | XCHG [L_d],ECX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP ECX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV ECX,[L_z] | MOV EDX,[L_x] | MOV ESI,[L_y] | Lock40: ; CMP ECX,$0 | CMP EDX,$0 | CMP ESI,$0 | MOV ECX,[L_d] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [z],$1 | MOV [x],$1 | MOV [y],$1 | Lock41: ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[d] ; Lock06: | Lock18: | MOV ECX,[d] | MOV [L_d],$0 ; MOV ECX,$1 | MOV EDX,$1 | Lock30: | ; XCHG [L_c],ECX | XCHG [L_b],EDX | MOV ESI,$1 | ; CMP ECX,$0 | CMP EDX,$0 | XCHG [L_a],ESI | ; JE Lock08 | JE Lock20 | CMP ESI,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV ECX,[L_c] | MOV EDX,[L_b] | Lock31: | ; CMP ECX,$0 | CMP EDX,$0 | MOV ESI,[L_a] | ; JE Lock06 | JE Lock18 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EBX,[c] | MOV ECX,[b] | Lock32: | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | ; Lock09: | MOV EAX,[x] | MOV [L_a],$0 | ; MOV ECX,$1 | Lock21: | MOV EAX,[y] | ; XCHG [L_x],ECX | MOV EDX,$1 | Lock33: | ; CMP ECX,$0 | XCHG [L_y],EDX | MOV ESI,$1 | ; JE Lock11 | CMP EDX,$0 | XCHG [L_z],ESI | ; Lock10: | JE Lock23 | CMP ESI,$0 | ; MOV ECX,[L_x] | Lock22: | JE Lock35 | ; CMP ECX,$0 | MOV EDX,[L_y] | Lock34: | ; JE Lock09 | CMP EDX,$0 | MOV ESI,[L_z] | ; JMP Lock10 | JE Lock21 | CMP ESI,$0 | ; Lock11: | JMP Lock22 | JE Lock33 | ; MOV EAX,[x] | Lock23: | JMP Lock34 | ; MOV [L_x],$0 | MOV EBX,[y] | Lock35: | ; | MOV [L_y],$0 | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r10) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r8) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl (%r8),%eax _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r9) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%r9),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%rdi),%edx _litmus_P3_26_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%rax) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rax),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r15) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%r13) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%esi _litmus_P1_20_: cmpl $0,%esi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r14) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%esi _litmus_P1_33_: cmpl $0,%esi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r11),%ebx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: movl (%r10),%edx _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r12) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r12),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r9),%ecx _litmus_P1_52_: movl $0,(%r12) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r9),%ebx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X003+X004-L Required Histogram (55 states) 90282 :>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; 281998:>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; 757901:>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; 14669 :>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; 1391192:>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; 133404:>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; 767480:>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; 950335:>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; 30 :>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; 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=0; 498689:>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; 23013 :>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; 3471493:>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; 1 :>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; 215044:>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; 478876:>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; 398182:>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; 1131720:>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; 7713898:>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; 187853:>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; 4611 :>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; 5159042:>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; 13807154:>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; 778 :>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; 574404:>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; 57946 :>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; 41934 :>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; 1008289:>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; 5030968:>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; 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=1; 734511:>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; 17749 :>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; 2123693:>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; 1092663:>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; 4590 :>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; 1158081:>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; 7722 :>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; 4166539:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 36 :>0:EAX=1; 0:EBX=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; 2 :>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; 5047 :>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; 20 :>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; 2194964:>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; 81344 :>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; 2217854:>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; 3671 :>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; 986240:>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; 370592:>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; 669878:>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; 5772 :>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; 1131989:>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; 3302220:>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; 1778444:>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; 2212861:>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; 31542323:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ 3:EBX=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ 3:EBX=1)))) \/ 0:EAX=0 /\ 1:ECX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 0:EBX=0 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EBX=1 \/ 3:EBX=0))))) is validated Hash=477546787b396f64b01a56f9a0dae4f9 Time X003+X004-L 253.32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X005-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X004+X005-L "Fre PodWR Fre PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_c],ECX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_d],ESI ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_c] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV ESI,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [c],$2 | MOV [x],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | MOV EAX,[y] | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | Lock27: | MOV ESI,$1 ; XCHG [L_a],ECX | XCHG [L_b],EBX | MOV ESI,$1 | XCHG [L_z],ESI ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_e],ESI | CMP ESI,$0 ; JE Lock05 | JE Lock17 | CMP ESI,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_b] | Lock28: | MOV ESI,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,[L_e] | CMP ESI,$0 ; JE Lock03 | JE Lock15 | CMP ESI,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV [a],$1 | MOV [b],$1 | Lock29: | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [e],$1 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_e],$0 | MOV ECX,[d] ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,[e] | Lock42: ; XCHG [L_d],ECX | XCHG [L_y],EBX | Lock30: | MOV ESI,$1 ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,$1 | XCHG [L_e],ESI ; JE Lock08 | JE Lock20 | XCHG [L_b],ESI | CMP ESI,$0 ; Lock07: | Lock19: | CMP ESI,$0 | JE Lock44 ; MOV ECX,[L_d] | MOV EBX,[L_y] | JE Lock32 | Lock43: ; CMP ECX,$0 | CMP EBX,$0 | Lock31: | MOV ESI,[L_e] ; JE Lock06 | JE Lock18 | MOV ESI,[L_b] | CMP ESI,$0 ; JMP Lock07 | JMP Lock19 | CMP ESI,$0 | JE Lock42 ; Lock08: | Lock20: | JE Lock30 | JMP Lock43 ; MOV EBX,[d] | MOV EAX,[y] | JMP Lock31 | Lock44: ; MOV [L_d],$0 | MOV [L_y],$0 | Lock32: | MOV EDX,[e] ; Lock09: | Lock21: | MOV EDX,[b] | MOV [L_e],$0 ; MOV ECX,$1 | MOV EBX,$1 | MOV [L_b],$0 | MOV EAX,[z] ; XCHG [L_x],ECX | XCHG [L_c],EBX | Lock33: | Lock45: ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,$1 | MOV ESI,$1 ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | XCHG [L_a],ESI ; Lock10: | Lock22: | CMP ESI,$0 | CMP ESI,$0 ; MOV ECX,[L_x] | MOV EBX,[L_c] | JE Lock35 | JE Lock47 ; CMP ECX,$0 | CMP EBX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | MOV ESI,[L_a] ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | CMP ESI,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV [c],$1 | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_c],$0 | Lock35: | Lock47: ; | | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%r9) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r12) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r14) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r14),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r14) _litmus_P3_26_: movl (%r12),%ebx _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%edi _litmus_P3_29_: xchgl %edi,(%rax) _litmus_P3_30_: cmpl $0,%edi _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%rax),%edi _litmus_P3_34_: cmpl $0,%edi _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl (%r15),%esi _litmus_P3_39_: movl $0,(%rax) _litmus_P3_40_: movl (%r11),%edx _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%edi _litmus_P3_43_: xchgl %edi,(%r8) _litmus_P3_44_: cmpl $0,%edi _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r8),%edi _litmus_P3_48_: cmpl $0,%edi _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r13),%ecx _litmus_P3_53_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: movl (%r15),%edx _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%edi _litmus_P2_16_: xchgl %edi,(%r9) _litmus_P2_17_: cmpl $0,%edi _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r9),%edi _litmus_P2_21_: cmpl $0,%edi _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r12) _litmus_P2_26_: movl $0,(%r9) _litmus_P2_27_: movl (%r12),%ebx _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%edi _litmus_P2_30_: xchgl %edi,(%r8) _litmus_P2_31_: cmpl $0,%edi _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r8),%edi _litmus_P2_35_: cmpl $0,%edi _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r13),%esi _litmus_P2_40_: movl $0,(%r8) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X004+X005-L Required Histogram (73 states) 322931:>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; 2181052:>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; 43646 :>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; 1138057:>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; 223325:>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; 5762628:>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; 91966 :>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; 841 :>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; 697583:>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; 477163:>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; 205982:>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; 902070:>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; 186131:>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; 4899500:>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; 467353:>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; 162367:>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; 1021086:>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; 9450585:>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; 14753 :>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; 671727:>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; 54248 :>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; 1783374:>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; 58 :>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; 9406 :>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; 2718 :>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; 5 :>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; 601116:>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; 794084:>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; 1804660:>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; 92876 :>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; 6985456:>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; 539097:>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; 156647:>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; 516330:>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; 8799816:>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; 13260 :>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; 717313:>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; 80552 :>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; 83254 :>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; 3114087:>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; 1965870:>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; 60693 :>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; 1833337:>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; 50 :>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; 2151306:>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; 699911:>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; 2938639:>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; 20143 :>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; 28599932:>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; 56519 :>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; 899327:>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; 149883:>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; 24753 :>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; 474471:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=0; c=2; 4 :>0:EAX=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; 634 :>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; 232945:>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; 116644:>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; 24758 :>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; 177215:>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; 99339 :>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; 294707:>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; 85908 :>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; 590804:>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; 6427 :>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; 231623:>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; 412627:>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; 167400:>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; 1000237:>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; 121176:>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; 1252573:>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; 113 :>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; 240929:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; 3:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ 3:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 \/ 2:EDX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 3:EBX=0 /\ 3:EDX=0) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1)) \/ 0:EBX=0 /\ 3:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EDX=0 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EDX=1 \/ 3:EDX=0) \/ 2:EBX=0 /\ 3:EDX=1))))) is validated Hash=d91bb763523aaa434a6330cd4640b7fb Time X004+X005-L 281.76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X006-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X005+X006-L "Fre PodWW Wse PodWR Fre Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock01: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock17: | Lock29: | Lock41: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock18: | Lock30: | MOV EAX,[z] ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | Lock42: ; XCHG [L_b],ECX | XCHG [L_d],EBX | XCHG [L_c],ESI | MOV ECX,$1 ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock20 | JE Lock32 | CMP ECX,$0 ; Lock04: | Lock19: | Lock31: | JE Lock44 ; MOV ECX,[L_b] | MOV EBX,[L_d] | MOV ESI,[L_c] | Lock43: ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock18 | JE Lock30 | CMP ECX,$0 ; JMP Lock04 | JMP Lock19 | JMP Lock31 | JE Lock42 ; Lock05: | Lock20: | Lock32: | JMP Lock43 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | Lock44: ; MOV [L_b],$0 | MOV [L_d],$0 | MOV [L_c],$0 | MOV EBX,[a] ; Lock06: | Lock21: | MOV EAX,[y] | MOV [L_a],$0 ; MOV ECX,$1 | MOV EBX,$1 | Lock33: | ; XCHG [L_x],ECX | XCHG [L_y],EBX | MOV ESI,$1 | ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_z],ESI | ; JE Lock08 | JE Lock23 | CMP ESI,$0 | ; Lock07: | Lock22: | JE Lock35 | ; MOV ECX,[L_x] | MOV EBX,[L_y] | Lock34: | ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,[L_z] | ; JE Lock06 | JE Lock21 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock22 | JE Lock33 | ; Lock08: | Lock23: | JMP Lock34 | ; MOV [x],$1 | MOV EAX,[y] | Lock35: | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV EBX,[z] | ; Lock09: | Lock24: | MOV [L_z],$0 | ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,[c] | ; XCHG [L_b],ECX | XCHG [L_b],EBX | Lock36: | ; CMP ECX,$0 | CMP EBX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock26 | XCHG [L_d],ESI | ; Lock10: | Lock25: | CMP ESI,$0 | ; MOV ECX,[L_b] | MOV EBX,[L_b] | JE Lock38 | ; CMP ECX,$0 | CMP EBX,$0 | Lock37: | ; JE Lock09 | JE Lock24 | MOV ESI,[L_d] | ; JMP Lock10 | JMP Lock25 | CMP ESI,$0 | ; Lock11: | Lock26: | JE Lock36 | ; MOV EAX,[b] | MOV [b],$1 | JMP Lock37 | ; MOV [L_b],$0 | MOV [L_b],$0 | Lock38: | ; Lock12: | | MOV EDX,[d] | ; MOV ECX,$1 | | MOV [L_d],$0 | ; XCHG [L_c],ECX | | | ; CMP ECX,$0 | | | ; JE Lock14 | | | ; Lock13: | | | ; MOV ECX,[L_c] | | | ; CMP ECX,$0 | | | ; JE Lock12 | | | ; JMP Lock13 | | | ; Lock14: | | | ; MOV EBX,[c] | | | ; MOV [L_c],$0 | | | ; forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r11) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r12) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r9),%eax _litmus_P0_51_: movl $0,(%r12) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%r14d _litmus_P0_54_: xchgl %r14d,(%rbx) _litmus_P0_55_: cmpl $0,%r14d _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%rbx),%r14d _litmus_P0_59_: cmpl $0,%r14d _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r8),%edx _litmus_P0_64_: movl $0,(%rbx) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r8) _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r8) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r8),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r13) _litmus_P2_25_: movl $0,(%r8) _litmus_P2_26_: movl (%r15),%edx _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r14) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%r14),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r11),%ecx _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: movl (%r13),%ebx _litmus_P2_41_: LitLock36: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r9) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock38 _litmus_P2_46_: LitLock37: _litmus_P2_47_: movl (%r9),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock36 _litmus_P2_50_: jmp LitLock37 _litmus_P2_51_: LitLock38: _litmus_P2_52_: movl (%r12),%esi _litmus_P2_53_: movl $0,(%r9) Test X005+X006-L Required Histogram (83 states) 111047:>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; 63332 :>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; 4 :>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; 1331410:>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; 2011852:>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; 3385 :>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; 636 :>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; 360067:>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; 601419:>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; 551611:>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; 28596 :>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; 42 :>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; 522764:>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; 6447191:>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; 5152397:>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; 9 :>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; 703843:>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; 1973010:>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; 18 :>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; 176177:>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; 975566:>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; 2534 :>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; 4826 :>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; 7806 :>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; 486 :>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; 4262 :>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; 677942:>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; 725425:>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; 1395722:>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; 2979179:>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; 1921281:>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; 111578:>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; 170 :>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; 2573458:>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; 9819163:>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; 18116358:>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; 415966:>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; 1290182:>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; 32063 :>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; 314040:>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; 740095:>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; 4543617:>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; 11 :>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; 9187327:>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; 253073:>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; 4257 :>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; 2910 :>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; 104458:>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; 512016:>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; 1149782:>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; 2758200:>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; 13 :>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; 1129575:>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; 10000 :>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; 219443:>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; 8 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; 1225727:>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; 131017:>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; 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=0; b=1; x=2; 12 :>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; 884565:>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; 265108:>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; 65700 :>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; 142 :>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; 896420:>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; 1005525:>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; 14 :>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; 2513740:>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 980 :>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; 6 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; 13 :>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; 37433 :>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; 47 :>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; 44564 :>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; 24 :>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; 1011329:>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; 111 :>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; 209 :>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; 7341516:>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; 63 :>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; 2554128:>0:EAX=2; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (2:EDX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 0:EBX=0 /\ 2:EDX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)))))) is validated Hash=f48bed2c7ee6e7d122b69551ef8b2323 Time X005+X006-L 257.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X007-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X006+X007-L "Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EDX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_a],EDX | XCHG [L_d],ESI | XCHG [L_c],ECX ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock29 | JE Lock41 ; Lock01: | Lock13: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EDX,[L_a] | MOV ESI,[L_d] | MOV ECX,[L_c] ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock14: | Lock29: | Lock41: ; MOV [b],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock30: | Lock42: ; MOV EAX,$1 | MOV EDX,$1 | MOV ESI,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EDX | XCHG [L_y],ESI | XCHG [L_c],ECX ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock32 | JE Lock44 ; Lock04: | Lock16: | Lock31: | Lock43: ; MOV EAX,[L_z] | MOV EDX,[L_x] | MOV ESI,[L_y] | MOV ECX,[L_c] ; CMP EAX,$0 | CMP EDX,$0 | CMP ESI,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock30 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock31 | JMP Lock43 ; Lock05: | Lock17: | Lock32: | Lock44: ; MOV [z],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[c] ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_c],$0 ; Lock06: | Lock18: | MOV ECX,[d] | Lock45: ; MOV EAX,$1 | MOV EDX,$1 | Lock33: | MOV ECX,$1 ; XCHG [L_c],EAX | XCHG [L_b],EDX | MOV ESI,$1 | XCHG [L_d],ECX ; CMP EAX,$0 | CMP EDX,$0 | XCHG [L_a],ESI | CMP ECX,$0 ; JE Lock08 | JE Lock20 | CMP ESI,$0 | JE Lock47 ; Lock07: | Lock19: | JE Lock35 | Lock46: ; MOV EAX,[L_c] | MOV EDX,[L_b] | Lock34: | MOV ECX,[L_d] ; CMP EAX,$0 | CMP EDX,$0 | MOV ESI,[L_a] | CMP ECX,$0 ; JE Lock06 | JE Lock18 | CMP ESI,$0 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JE Lock33 | JMP Lock46 ; Lock08: | Lock20: | JMP Lock34 | Lock47: ; MOV [c],$1 | MOV ECX,[b] | Lock35: | MOV EBX,[d] ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | MOV [L_d],$0 ; Lock09: | Lock21: | MOV [L_a],$0 | ; MOV EAX,$1 | MOV EDX,$1 | MOV EAX,[y] | ; XCHG [L_x],EAX | XCHG [L_x],EDX | Lock36: | ; CMP EAX,$0 | CMP EDX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | ; Lock10: | Lock22: | CMP ESI,$0 | ; MOV EAX,[L_x] | MOV EDX,[L_x] | JE Lock38 | ; CMP EAX,$0 | CMP EDX,$0 | Lock37: | ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | ; Lock11: | Lock23: | JE Lock36 | ; MOV [x],$1 | MOV EAX,[x] | JMP Lock37 | ; MOV [L_x],$0 | MOV [L_x],$0 | Lock38: | ; | Lock24: | MOV EBX,[z] | ; | MOV EDX,$1 | MOV [L_z],$0 | ; | XCHG [L_y],EDX | | ; | CMP EDX,$0 | | ; | JE Lock26 | | ; | Lock25: | | ; | MOV EDX,[L_y] | | ; | CMP EDX,$0 | | ; | JE Lock24 | | ; | JMP Lock25 | | ; | Lock26: | | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r10) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r10),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%r8) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r10) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r10),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%r8),%eax _litmus_P3_25_: movl $0,(%r10) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r9) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r9),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%rdi),%edx _litmus_P3_38_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%rax) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rax),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r15) _litmus_P1_12_: movl $0,(%rax) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%r13) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%esi _litmus_P1_20_: cmpl $0,%esi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r14) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%esi _litmus_P1_33_: cmpl $0,%esi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r11),%ebx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%esi _litmus_P1_41_: xchgl %esi,(%r13) _litmus_P1_42_: cmpl $0,%esi _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%esi _litmus_P1_46_: cmpl $0,%esi _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r10),%edx _litmus_P1_51_: movl $0,(%r13) _litmus_P1_52_: LitLock24: _litmus_P1_53_: movl $1,%esi _litmus_P1_54_: xchgl %esi,(%r12) _litmus_P1_55_: cmpl $0,%esi _litmus_P1_56_: je LitLock26 _litmus_P1_57_: LitLock25: _litmus_P1_58_: movl (%r12),%esi _litmus_P1_59_: cmpl $0,%esi _litmus_P1_60_: je LitLock24 _litmus_P1_61_: jmp LitLock25 _litmus_P1_62_: LitLock26: _litmus_P1_63_: movl (%r9),%ecx _litmus_P1_64_: movl $0,(%r12) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r12),%ebx _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock36: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock38 _litmus_P2_46_: LitLock37: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock36 _litmus_P2_50_: jmp LitLock37 _litmus_P2_51_: LitLock38: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X006+X007-L Required Histogram (107 states) 7092 :>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; 28825 :>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; 60656 :>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; 2004 :>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; 146 :>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; 78591 :>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; 269810:>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; 290717:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; 3:EAX=2; 3:EBX=0; c=1; x=1; 1 :>1:EAX=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; 149996:>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; 56897 :>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; 659440:>1:EAX=2; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 2 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=0; c=1; x=1; 1034356:>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; 15 :>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; 29736 :>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; 351760:>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; 18 :>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; 3847371:>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; 39 :>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; 330229:>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; 580671:>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; 4669419:>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; 5591056:>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; 5714071:>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; 579 :>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; 40682 :>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; 49425 :>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; 45878 :>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; 24967 :>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; 4747 :>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; 9333 :>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; 477 :>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; 5229 :>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; 125618:>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; 14159 :>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; 30363 :>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; 304684:>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; 1335577:>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; 1195321:>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; 732034:>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; 1956438:>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; 3184590:>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; 12 :>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; 845945:>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; 518072:>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; 1177130:>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; 6 :>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; 4856351:>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; 13 :>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; 143738:>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; 1492617:>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; 2942860:>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; 10 :>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; 1517918:>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; 9801 :>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; 1336677:>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; 8829075:>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; 19510381:>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; 17667 :>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; 112372:>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; 203105:>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; 9162 :>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; 855 :>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; 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=1; c=2; x=1; 1127 :>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; 18938 :>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; 22294 :>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; 14842 :>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; 6626 :>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; 5542 :>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; 11930 :>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; 996 :>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; 3451 :>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; 104812:>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; 50 :>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; 6559 :>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; 177779:>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; 556644:>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; 1395414:>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; 588151:>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; 3109 :>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; 35929 :>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; 26468 :>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; 354303:>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; 2186413:>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; 715073:>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; 4971916:>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; 34817 :>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; 333455:>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; 19983 :>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; 643183:>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; 1345896:>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; 2674936:>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; 6 :>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; 2723 :>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; 1750853:>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; 13789 :>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; 324532:>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; 172026:>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; 47384 :>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; 951790:>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; 1 :>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; 358739:>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; 3780732:>1:EAX=2; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=2; 3:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EAX=1 /\ x=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1))) \/ 1:ECX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ c=1)))) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:ECX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 1:ECX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=1 /\ c=1 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=1cca36492419137e29c0f69fd68c09db Time X006+X007-L 259.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X008-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X007+X008-L "Fre PodWR Fre PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_c],EBX | XCHG [L_x],EAX | XCHG [L_y],ESI | XCHG [L_d],ESI ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV EBX,[L_c] | MOV EAX,[L_x] | MOV ESI,[L_y] | MOV ESI,[L_d] ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [c],$2 | MOV [x],$1 | MOV [y],$2 | MOV [d],$2 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_a],EBX | XCHG [L_b],EAX | XCHG [L_y],ESI | XCHG [L_z],ESI ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV EBX,[L_a] | MOV EAX,[L_b] | MOV ESI,[L_y] | MOV ESI,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [a],$1 | MOV [b],$1 | MOV EAX,[y] | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV EBX,$1 | MOV EAX,$1 | MOV ESI,$1 | MOV ESI,$1 ; XCHG [L_d],EBX | XCHG [L_y],EAX | XCHG [L_e],ESI | XCHG [L_d],ESI ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV EBX,[L_d] | MOV EAX,[L_y] | MOV ESI,[L_e] | MOV ESI,[L_d] ; CMP EBX,$0 | CMP EAX,$0 | CMP ESI,$0 | CMP ESI,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | MOV ECX,[d] ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; Lock09: | Lock21: | MOV ECX,[e] | Lock48: ; MOV EBX,$1 | MOV EAX,$1 | Lock33: | MOV ESI,$1 ; XCHG [L_x],EBX | XCHG [L_c],EAX | MOV ESI,$1 | XCHG [L_e],ESI ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_b],ESI | CMP ESI,$0 ; JE Lock11 | JE Lock23 | CMP ESI,$0 | JE Lock50 ; Lock10: | Lock22: | JE Lock35 | Lock49: ; MOV EBX,[L_x] | MOV EAX,[L_c] | Lock34: | MOV ESI,[L_e] ; CMP EBX,$0 | CMP EAX,$0 | MOV ESI,[L_b] | CMP ESI,$0 ; JE Lock09 | JE Lock21 | CMP ESI,$0 | JE Lock48 ; JMP Lock10 | JMP Lock22 | JE Lock33 | JMP Lock49 ; Lock11: | Lock23: | JMP Lock34 | Lock50: ; MOV EAX,[x] | MOV [c],$1 | Lock35: | MOV EDX,[e] ; MOV [L_x],$0 | MOV [L_c],$0 | MOV EDX,[b] | MOV [L_e],$0 ; | | MOV [L_b],$0 | MOV EAX,[z] ; | | Lock36: | Lock51: ; | | MOV ESI,$1 | MOV ESI,$1 ; | | XCHG [L_z],ESI | XCHG [L_a],ESI ; | | CMP ESI,$0 | CMP ESI,$0 ; | | JE Lock38 | JE Lock53 ; | | Lock37: | Lock52: ; | | MOV ESI,[L_z] | MOV ESI,[L_a] ; | | CMP ESI,$0 | CMP ESI,$0 ; | | JE Lock36 | JE Lock51 ; | | JMP Lock37 | JMP Lock52 ; | | Lock38: | Lock53: ; | | MOV EBX,[z] | MOV EBX,[a] ; | | MOV [L_z],$0 | MOV [L_a],$0 ; forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%r9) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%r12) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r14) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r14),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl $1,(%r11) _litmus_P3_25_: movl $0,(%r14) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%edi _litmus_P3_28_: xchgl %edi,(%r9) _litmus_P3_29_: cmpl $0,%edi _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r9),%edi _litmus_P3_33_: cmpl $0,%edi _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r12),%ebx _litmus_P3_38_: movl $0,(%r9) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%edi _litmus_P3_41_: xchgl %edi,(%rax) _litmus_P3_42_: cmpl $0,%edi _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%rax),%edi _litmus_P3_46_: cmpl $0,%edi _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl (%r15),%esi _litmus_P3_51_: movl $0,(%rax) _litmus_P3_52_: movl (%r11),%edx _litmus_P3_53_: LitLock51: _litmus_P3_54_: movl $1,%edi _litmus_P3_55_: xchgl %edi,(%r8) _litmus_P3_56_: cmpl $0,%edi _litmus_P3_57_: je LitLock53 _litmus_P3_58_: LitLock52: _litmus_P3_59_: movl (%r8),%edi _litmus_P3_60_: cmpl $0,%edi _litmus_P3_61_: je LitLock51 _litmus_P3_62_: jmp LitLock52 _litmus_P3_63_: LitLock53: _litmus_P3_64_: movl (%r13),%ecx _litmus_P3_65_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%rbx) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r8) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rsi) _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r9) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rax) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rax),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r15) _litmus_P2_12_: movl $0,(%rax) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r15),%edx _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r9) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r12) _litmus_P2_38_: movl $0,(%r9) _litmus_P2_39_: movl (%r12),%ebx _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%edi _litmus_P2_42_: xchgl %edi,(%r8) _litmus_P2_43_: cmpl $0,%edi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%r8),%edi _litmus_P2_47_: cmpl $0,%edi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r13),%esi _litmus_P2_52_: movl $0,(%r8) _litmus_P2_53_: LitLock36: _litmus_P2_54_: movl $1,%edi _litmus_P2_55_: xchgl %edi,(%r14) _litmus_P2_56_: cmpl $0,%edi _litmus_P2_57_: je LitLock38 _litmus_P2_58_: LitLock37: _litmus_P2_59_: movl (%r14),%edi _litmus_P2_60_: cmpl $0,%edi _litmus_P2_61_: je LitLock36 _litmus_P2_62_: jmp LitLock37 _litmus_P2_63_: LitLock38: _litmus_P2_64_: movl (%r11),%ecx _litmus_P2_65_: movl $0,(%r14) Test X007+X008-L Required Histogram (125 states) 384515:>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; 976 :>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; 53938 :>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; 588374:>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; 810637:>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; 864314:>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; 277134:>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; 2226244:>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; 9389 :>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; 687161:>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; 135727:>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; 6449960:>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; 311472:>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; 429241:>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; 18165 :>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; 1440378:>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; 283773:>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; 7435762:>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; 105345:>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; 3707625:>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; 680130:>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; 2970079:>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; 10264 :>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; 1109604:>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; 11 :>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; 718334:>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; 58770 :>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; 13692685:>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; 9868 :>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; 587031:>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; 54117 :>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; 1841243:>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; 9 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=0; 3:ECX=2; 3:EDX=1; c=1; d=1; y=1; 6463 :>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; 311 :>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; 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=1; d=1; y=1; 513386:>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; 19907 :>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; 1929180:>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; 149428:>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; 4662515:>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; 1516 :>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; 236335:>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; 105518:>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; 262 :>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; 11948238:>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; 22 :>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; 60417 :>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; 77050 :>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; 191277:>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; 6551 :>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; 486 :>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; 97950 :>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; 17 :>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; 44858 :>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; 478097:>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; 5876 :>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; 6850 :>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; 194178:>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; 131370:>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; 10410 :>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; 216398:>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; 11670 :>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; 405487:>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; 207903:>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; 7417 :>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; 44154 :>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; 664830:>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; 48003 :>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; 356359:>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; 127127:>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; 941 :>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; 59942 :>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; 261942:>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; 509327:>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; 234337:>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; 738819:>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; 1917548:>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; 581200:>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; 150112:>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; 868 :>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; 109776:>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; 60245 :>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; 3410049:>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; 5104 :>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; 263064:>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; 608012:>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; 3138857:>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; 3 :>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; 79760 :>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; 43596 :>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; 379081:>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; 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=2; d=2; y=1; 59 :>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; 226905:>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; 1605248:>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; 39032 :>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; 1296092:>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; 75414 :>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; 2790080:>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; 53862 :>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; 137 :>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; 2162181:>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; 52 :>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; 2245 :>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; 6829 :>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; 594413:>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; 56854 :>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; 1035547:>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; 422106:>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; 224920:>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; 438403:>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; 32343 :>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; 100349:>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; 158934:>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; 706086:>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; 231788:>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; 991300:>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; 9021 :>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; 937248:>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; 41549 :>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; 1828315:>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; 15031 :>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; 356706:>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; 88014 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3:EBX=1; 3:ECX=2; 3:EDX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:ECX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EDX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1)))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EDX=0 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ (c=2 \/ c=1) \/ 3:EDX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (c=2 \/ c=1)))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:EDX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 /\ (y=2 \/ y=1) \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 /\ y=1 \/ 3:EDX=0 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0))) \/ 2:EBX=0 /\ 3:EDX=1 /\ (2:EDX=1 /\ 3:EBX=1 /\ (3:ECX=2 /\ d=2 /\ (y=2 \/ y=1) \/ 3:ECX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (d=2 \/ d=1) \/ 3:ECX=1 /\ d=1) \/ 3:EBX=0 /\ 3:ECX=2 /\ d=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (3:ECX=2 /\ (3:EDX=1 /\ (d=2 \/ d=1) \/ 3:EDX=0 /\ (d=2 \/ d=1)) \/ 3:ECX=1 /\ d=1 /\ (3:EDX=1 \/ 3:EDX=0)) \/ 3:EBX=0 /\ 3:ECX=2 /\ 3:EDX=0 /\ d=1) \/ 2:EBX=0 /\ 3:EBX=1 /\ 3:EDX=1 /\ (3:ECX=2 /\ d=2 \/ 3:ECX=1 /\ d=1))))) is validated Hash=c25ea788514f9cc3110ecd6d65b77916 Time X007+X008-L 290.72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X009-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X008+X009-L "Fre PodWW Wse PodWW Wse Rfi PodRR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock33: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock35 ; Lock01: | Lock13: | Lock25: | Lock34: ; MOV ECX,[L_c] | MOV ECX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock33 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock34 ; Lock02: | Lock14: | Lock26: | Lock35: ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | Lock36: ; XCHG [L_a],ECX | XCHG [L_y],ECX | XCHG [L_y],ECX | MOV ECX,$1 ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP ECX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock38 ; MOV ECX,[L_a] | MOV ECX,[L_y] | MOV ECX,[L_y] | Lock37: ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock36 ; Lock05: | Lock17: | Lock29: | JMP Lock37 ; MOV [a],$1 | MOV [y],$1 | MOV EAX,[y] | Lock38: ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_y],$0 | MOV EBX,[a] ; Lock06: | Lock18: | Lock30: | MOV [L_a],$0 ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_x],ECX | XCHG [L_d],ECX | XCHG [L_z],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV ECX,[L_x] | MOV ECX,[L_d] | MOV ECX,[L_z] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [x],$1 | MOV [d],$1 | MOV EBX,[z] | ; MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_z],$0 | ; MOV EAX,[c] | MOV [b],$1 | | ; Lock09: | MOV EAX,[b] | | ; MOV ECX,$1 | Lock21: | | ; XCHG [L_d],ECX | MOV ECX,$1 | | ; CMP ECX,$0 | XCHG [L_c],ECX | | ; JE Lock11 | CMP ECX,$0 | | ; Lock10: | JE Lock23 | | ; MOV ECX,[L_d] | Lock22: | | ; CMP ECX,$0 | MOV ECX,[L_c] | | ; JE Lock09 | CMP ECX,$0 | | ; JMP Lock10 | JE Lock21 | | ; Lock11: | JMP Lock22 | | ; MOV EBX,[d] | Lock23: | | ; MOV [L_d],$0 | MOV EBX,[c] | | ; | MOV [L_c],$0 | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) Generated assembler _litmus_P3_0_: LitLock33: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock35 _litmus_P3_5_: LitLock34: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock33 _litmus_P3_9_: jmp LitLock34 _litmus_P3_10_: LitLock35: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock36: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock38 _litmus_P3_19_: LitLock37: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock36 _litmus_P3_23_: jmp LitLock37 _litmus_P3_24_: LitLock38: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r11) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: movl (%r9),%eax _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%r14d _litmus_P0_42_: xchgl %r14d,(%rbx) _litmus_P0_43_: cmpl $0,%r14d _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%rbx),%r14d _litmus_P0_47_: cmpl $0,%r14d _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r8),%edx _litmus_P0_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%rbx) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r13) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r9) _litmus_P1_38_: movl $0,(%r13) _litmus_P1_39_: movl $1,(%r11) _litmus_P1_40_: movl (%r11),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%r14) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r14),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r10),%edx _litmus_P1_53_: movl $0,(%r14) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r10) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r10) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r10),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r8),%eax _litmus_P2_25_: movl $0,(%r10) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r9) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%rdi),%edx _litmus_P2_38_: movl $0,(%r9) Test X008+X009-L Required Histogram (54 states) 36335 :>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; 2017 :>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; 2240822:>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; 344384:>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; 5271821:>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; 353538:>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; 157009:>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; 2139178:>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; 3316199:>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; 4165838:>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; 22495523:>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; 13970 :>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; 4111 :>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; 44655 :>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; 142432:>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; 2019609:>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; 5397374:>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; 3842 :>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; 457823:>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; 1272459:>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; 1248 :>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; 4900387:>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; 5497837:>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; 667439:>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; 948 :>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; 17033 :>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; 57 :>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; 5408412:>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; 8995 :>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; 1852 :>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; 26 :>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; 3432061:>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; 15206 :>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; 331070:>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; 884 :>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; 8085771:>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; 22541 :>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; 119347:>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; 13477 :>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; 3687500:>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; 139303:>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; 6885828:>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; 207035:>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; 43941 :>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; 505884:>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; 632954:>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; 1168914:>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; 7617513:>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; 26186 :>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; 272 :>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; 18348 :>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; 66 :>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; 655860:>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; 6866 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ x=1))))) is validated Hash=8d12467513e07950a5dae10561d00a30 Time X008+X009-L 236.61 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X010-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X009+X010-L "Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_b],ESI | XCHG [L_y],EDX | XCHG [L_d],ECX ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_b] | MOV EDX,[L_y] | MOV ECX,[L_d] ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [d],$1 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | MOV EAX,[d] ; MOV ESI,$1 | MOV EDX,$1 | Lock27: ; XCHG [L_z],ESI | XCHG [L_a],EDX | MOV ECX,$1 ; CMP ESI,$0 | CMP EDX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | CMP ECX,$0 ; Lock04: | Lock16: | JE Lock29 ; MOV ESI,[L_z] | MOV EDX,[L_a] | Lock28: ; CMP ESI,$0 | CMP EDX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JE Lock27 ; Lock05: | Lock17: | JMP Lock28 ; MOV [z],$1 | MOV [a],$1 | Lock29: ; MOV [L_z],$0 | MOV [L_a],$0 | MOV EBX,[a] ; MOV [x],$1 | Lock18: | MOV [L_a],$0 ; MOV EAX,[x] | MOV EDX,$1 | ; MOV [c],$1 | XCHG [L_b],EDX | ; MOV ECX,[c] | CMP EDX,$0 | ; Lock06: | JE Lock20 | ; MOV ESI,$1 | Lock19: | ; XCHG [L_d],ESI | MOV EDX,[L_b] | ; CMP ESI,$0 | CMP EDX,$0 | ; JE Lock08 | JE Lock18 | ; Lock07: | JMP Lock19 | ; MOV ESI,[L_d] | Lock20: | ; CMP ESI,$0 | MOV ECX,[b] | ; JE Lock06 | MOV [L_b],$0 | ; JMP Lock07 | MOV EAX,[y] | ; Lock08: | Lock21: | ; MOV EDX,[d] | MOV EDX,$1 | ; MOV [L_d],$0 | XCHG [L_z],EDX | ; Lock09: | CMP EDX,$0 | ; MOV ESI,$1 | JE Lock23 | ; XCHG [L_y],ESI | Lock22: | ; CMP ESI,$0 | MOV EDX,[L_z] | ; JE Lock11 | CMP EDX,$0 | ; Lock10: | JE Lock21 | ; MOV ESI,[L_y] | JMP Lock22 | ; CMP ESI,$0 | Lock23: | ; JE Lock09 | MOV EBX,[z] | ; JMP Lock10 | MOV [L_z],$0 | ; Lock11: | | ; MOV EBX,[y] | | ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rdx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rbp) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%rdi) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: movl $1,(%r10) _litmus_P0_27_: movl (%r10),%esi _litmus_P0_28_: movl $1,(%r8) _litmus_P0_29_: movl (%r8),%r13d _litmus_P0_30_: LitLock06: _litmus_P0_31_: movl $1,%r15d _litmus_P0_32_: xchgl %r15d,(%rcx) _litmus_P0_33_: cmpl $0,%r15d _litmus_P0_34_: je LitLock08 _litmus_P0_35_: LitLock07: _litmus_P0_36_: movl (%rcx),%r15d _litmus_P0_37_: cmpl $0,%r15d _litmus_P0_38_: je LitLock06 _litmus_P0_39_: jmp LitLock07 _litmus_P0_40_: LitLock08: _litmus_P0_41_: movl (%r9),%r14d _litmus_P0_42_: movl $0,(%rcx) _litmus_P0_43_: LitLock09: _litmus_P0_44_: movl $1,%r15d _litmus_P0_45_: xchgl %r15d,(%rbx) _litmus_P0_46_: cmpl $0,%r15d _litmus_P0_47_: je LitLock11 _litmus_P0_48_: LitLock10: _litmus_P0_49_: movl (%rbx),%r15d _litmus_P0_50_: cmpl $0,%r15d _litmus_P0_51_: je LitLock09 _litmus_P0_52_: jmp LitLock10 _litmus_P0_53_: LitLock11: _litmus_P0_54_: movl (%r11),%r12d _litmus_P0_55_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%r13) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%esi _litmus_P1_15_: xchgl %esi,(%rax) _litmus_P1_16_: cmpl $0,%esi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rax),%esi _litmus_P1_20_: cmpl $0,%esi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r15) _litmus_P1_25_: movl $0,(%rax) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%esi _litmus_P1_28_: xchgl %esi,(%r14) _litmus_P1_29_: cmpl $0,%esi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%esi _litmus_P1_33_: cmpl $0,%esi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r11),%ebx _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: movl (%r10),%edx _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r12) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r12),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r9),%ecx _litmus_P1_52_: movl $0,(%r12) Test X009+X010-L Required Histogram (17 states) 4803117:>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; 4896 :>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; 35516 :>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; 1192335:>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; 145983:>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; 5899274:>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; 42669707:>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; 380321:>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; 12248953:>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; 723 :>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; 55200 :>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; 156 :>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; 23326 :>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; 1070329:>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; 5477992:>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; 1070 :>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; 25991102:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:ECX=1 \/ 1:ECX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=26d8b1505861069a9e77f7ffad445f48 Time X009+X010-L 191.41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X011-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X010+X011-L "Fre PodWR Fre PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_c],EDX | XCHG [L_x],ECX | XCHG [L_z],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EDX,[L_c] | MOV ECX,[L_x] | MOV ESI,[L_z] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [c],$2 | MOV [x],$1 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; MOV [d],$1 | Lock15: | Lock27: ; Lock03: | MOV ECX,$1 | MOV ESI,$1 ; MOV EDX,$1 | XCHG [L_b],ECX | XCHG [L_e],ESI ; XCHG [L_a],EDX | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock17 | JE Lock29 ; JE Lock05 | Lock16: | Lock28: ; Lock04: | MOV ECX,[L_b] | MOV ESI,[L_e] ; MOV EDX,[L_a] | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock15 | JE Lock27 ; JE Lock03 | JMP Lock16 | JMP Lock28 ; JMP Lock04 | Lock17: | Lock29: ; Lock05: | MOV [b],$1 | MOV [e],$1 ; MOV [a],$1 | MOV [L_b],$0 | MOV [L_e],$0 ; MOV [L_a],$0 | MOV [y],$1 | MOV EAX,[z] ; MOV EBX,[d] | Lock18: | Lock30: ; Lock06: | MOV ECX,$1 | MOV ESI,$1 ; MOV EDX,$1 | XCHG [L_c],ECX | XCHG [L_a],ESI ; XCHG [L_x],EDX | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock20 | JE Lock32 ; JE Lock08 | Lock19: | Lock31: ; Lock07: | MOV ECX,[L_c] | MOV ESI,[L_a] ; MOV EDX,[L_x] | CMP ECX,$0 | CMP ESI,$0 ; CMP EDX,$0 | JE Lock18 | JE Lock30 ; JE Lock06 | JMP Lock19 | JMP Lock31 ; JMP Lock07 | Lock20: | Lock32: ; Lock08: | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[x] | MOV [L_c],$0 | MOV [L_a],$0 ; MOV [L_x],$0 | MOV EAX,[y] | MOV ECX,[e] ; Lock09: | Lock21: | Lock33: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_e],EDX | XCHG [L_z],ECX | XCHG [L_b],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock11 | JE Lock23 | JE Lock35 ; Lock10: | Lock22: | Lock34: ; MOV EDX,[L_e] | MOV ECX,[L_z] | MOV ESI,[L_b] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock09 | JE Lock21 | JE Lock33 ; JMP Lock10 | JMP Lock22 | JMP Lock34 ; Lock11: | Lock23: | Lock35: ; MOV ECX,[e] | MOV EBX,[z] | MOV EDX,[b] ; MOV [L_e],$0 | MOV [L_z],$0 | MOV [L_b],$0 ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r11),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%ecx _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r9) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r9),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%esi _litmus_P2_53_: movl $0,(%r9) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rdx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r15) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: movl $1,(%r11) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%edi _litmus_P0_16_: xchgl %edi,(%rax) _litmus_P0_17_: cmpl $0,%edi _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rax),%edi _litmus_P0_21_: cmpl $0,%edi _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r12) _litmus_P0_26_: movl $0,(%rax) _litmus_P0_27_: movl (%r11),%ebx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%r13) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r13),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r9),%ecx _litmus_P0_40_: movl $0,(%r13) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r14) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r14),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%esi _litmus_P0_53_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r14) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r14) _litmus_P1_26_: movl $1,(%r8) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%r15d _litmus_P1_29_: xchgl %r15d,(%r13) _litmus_P1_30_: cmpl $0,%r15d _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r13),%r15d _litmus_P1_34_: cmpl $0,%r15d _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r10) _litmus_P1_39_: movl $0,(%r13) _litmus_P1_40_: movl (%r8),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%rbx) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbx),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%rdi),%edx _litmus_P1_53_: movl $0,(%rbx) Test X010+X011-L Required Histogram (23 states) 1441565:>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; 8564985:>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; 1388035:>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; 35 :>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; 3102977:>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; 896089:>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; 39 :>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; 34 :>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; 9845476:>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; 283717:>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; 4613846:>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; 101899:>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; 4832252:>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; 6577004:>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; 1094930:>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; 42838631:>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; 763448:>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; 677852:>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; 7311976:>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; 849721:>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; 2264500:>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; 12279 :>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; 2538710:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 2:EBX=0 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ (c=2 \/ c=1))) \/ 1:EBX=0 /\ 2:EDX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1) \/ 1:EBX=0 /\ 2:EDX=1 /\ (c=2 \/ c=1))) \/ 0:EAX=0 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ 2:EBX=1 /\ 2:EDX=1) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1)))) is validated Hash=712751f172794cc04f32ba1eed174eec Time X010+X011-L 219.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X012-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X011+X012-L "Fre PodWW Wse PodWW Rfi PodRR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_b],ECX | XCHG [L_x],EDX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_b] | MOV EDX,[L_x] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV EAX,[z] ; MOV ECX,$1 | Lock15: | Lock27: ; XCHG [L_a],ECX | MOV EDX,$1 | MOV ECX,$1 ; CMP ECX,$0 | XCHG [L_c],EDX | XCHG [L_a],ECX ; JE Lock05 | CMP EDX,$0 | CMP ECX,$0 ; Lock04: | JE Lock17 | JE Lock29 ; MOV ECX,[L_a] | Lock16: | Lock28: ; CMP ECX,$0 | MOV EDX,[L_c] | MOV ECX,[L_a] ; JE Lock03 | CMP EDX,$0 | CMP ECX,$0 ; JMP Lock04 | JE Lock15 | JE Lock27 ; Lock05: | JMP Lock16 | JMP Lock28 ; MOV [a],$1 | Lock17: | Lock29: ; MOV [L_a],$0 | MOV [c],$1 | MOV EBX,[a] ; MOV EAX,[b] | MOV [L_c],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | ; MOV ECX,$1 | MOV EDX,$1 | ; XCHG [L_x],ECX | XCHG [L_b],EDX | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock08 | JE Lock20 | ; Lock07: | Lock19: | ; MOV ECX,[L_x] | MOV EDX,[L_b] | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock06 | JE Lock18 | ; JMP Lock07 | JMP Lock19 | ; Lock08: | Lock20: | ; MOV [x],$1 | MOV ECX,[b] | ; MOV [L_x],$0 | MOV [L_b],$0 | ; Lock09: | MOV EAX,[y] | ; MOV ECX,$1 | Lock21: | ; XCHG [L_c],ECX | MOV EDX,$1 | ; CMP ECX,$0 | XCHG [L_z],EDX | ; JE Lock11 | CMP EDX,$0 | ; Lock10: | JE Lock23 | ; MOV ECX,[L_c] | Lock22: | ; CMP ECX,$0 | MOV EDX,[L_z] | ; JE Lock09 | CMP EDX,$0 | ; JMP Lock10 | JE Lock21 | ; Lock11: | JMP Lock22 | ; MOV EBX,[c] | Lock23: | ; MOV [L_c],$0 | MOV EBX,[z] | ; | MOV [L_z],$0 | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: movl (%r9),%eax _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%r14d _litmus_P0_29_: xchgl %r14d,(%r11) _litmus_P0_30_: cmpl $0,%r14d _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r11),%r14d _litmus_P0_34_: cmpl $0,%r14d _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl $1,(%rdi) _litmus_P0_39_: movl $0,(%r11) _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%r14d _litmus_P0_42_: xchgl %r14d,(%rbx) _litmus_P0_43_: cmpl $0,%r14d _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%rbx),%r14d _litmus_P0_47_: cmpl $0,%r14d _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r8),%edx _litmus_P0_52_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%edi _litmus_P1_16_: xchgl %edi,(%rdx) _litmus_P1_17_: cmpl $0,%edi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%rdx),%edi _litmus_P1_21_: cmpl $0,%edi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r15) _litmus_P1_26_: movl $0,(%rdx) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edi _litmus_P1_29_: xchgl %edi,(%rax) _litmus_P1_30_: cmpl $0,%edi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%edi _litmus_P1_34_: cmpl $0,%edi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r12),%esi _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: movl (%r10),%ecx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r13) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r13),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%ebx _litmus_P1_53_: movl $0,(%r13) Test X011+X012-L Required Histogram (17 states) 732304:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 13968823:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 5 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 144659:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 35368442:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 2054728:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 587826:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 15038 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2359444:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 226392:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 28674887:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3768294:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 2486 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 310187:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 189 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 11766378:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 19918 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=d4e7e75f9170570016d275a79674030c Time X011+X012-L 186.16 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X013-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X012+X013-L "Fre PodWR Fre Rfi PodRR+Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EDX,$1 | MOV EDX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_y],EDX | XCHG [L_x],EDX | XCHG [L_d],ECX | XCHG [L_c],EBX ; CMP EDX,$0 | CMP EDX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EDX,[L_y] | MOV EDX,[L_x] | MOV ECX,[L_d] | MOV EBX,[L_c] ; CMP EDX,$0 | CMP EDX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [y],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_y],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | MOV EAX,[x] | MOV EAX,[d] | Lock33: ; MOV EDX,$1 | Lock15: | Lock27: | MOV EBX,$1 ; XCHG [L_x],EDX | MOV EDX,$1 | MOV ECX,$1 | XCHG [L_d],EBX ; CMP EDX,$0 | XCHG [L_y],EDX | XCHG [L_a],ECX | CMP EBX,$0 ; JE Lock05 | CMP EDX,$0 | CMP ECX,$0 | JE Lock35 ; Lock04: | JE Lock17 | JE Lock29 | Lock34: ; MOV EDX,[L_x] | Lock16: | Lock28: | MOV EBX,[L_d] ; CMP EDX,$0 | MOV EDX,[L_y] | MOV ECX,[L_a] | CMP EBX,$0 ; JE Lock03 | CMP EDX,$0 | CMP ECX,$0 | JE Lock33 ; JMP Lock04 | JE Lock15 | JE Lock27 | JMP Lock34 ; Lock05: | JMP Lock16 | JMP Lock28 | Lock35: ; MOV EAX,[x] | Lock17: | Lock29: | MOV EAX,[d] ; MOV [L_x],$0 | MOV EBX,[y] | MOV EBX,[a] | MOV [L_d],$0 ; Lock06: | MOV [L_y],$0 | MOV [L_a],$0 | ; MOV EDX,$1 | Lock18: | | ; XCHG [L_b],EDX | MOV EDX,$1 | | ; CMP EDX,$0 | XCHG [L_a],EDX | | ; JE Lock08 | CMP EDX,$0 | | ; Lock07: | JE Lock20 | | ; MOV EDX,[L_b] | Lock19: | | ; CMP EDX,$0 | MOV EDX,[L_a] | | ; JE Lock06 | CMP EDX,$0 | | ; JMP Lock07 | JE Lock18 | | ; Lock08: | JMP Lock19 | | ; MOV [b],$1 | Lock20: | | ; MOV [L_b],$0 | MOV [a],$1 | | ; MOV EBX,[b] | MOV [L_a],$0 | | ; Lock09: | Lock21: | | ; MOV EDX,$1 | MOV EDX,$1 | | ; XCHG [L_c],EDX | XCHG [L_b],EDX | | ; CMP EDX,$0 | CMP EDX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EDX,[L_c] | MOV EDX,[L_b] | | ; CMP EDX,$0 | CMP EDX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV ECX,[c] | MOV ECX,[b] | | ; MOV [L_c],$0 | MOV [L_b],$0 | | ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%esi _litmus_P0_2_: xchgl %esi,(%r12) _litmus_P0_3_: cmpl $0,%esi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%esi _litmus_P0_7_: cmpl $0,%esi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%esi _litmus_P0_15_: xchgl %esi,(%r13) _litmus_P0_16_: cmpl $0,%esi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%esi _litmus_P0_20_: cmpl $0,%esi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r10),%edx _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%esi _litmus_P0_28_: xchgl %esi,(%rax) _litmus_P0_29_: cmpl $0,%esi _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rax),%esi _litmus_P0_33_: cmpl $0,%esi _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r15) _litmus_P0_38_: movl $0,(%rax) _litmus_P0_39_: movl (%r15),%ecx _litmus_P0_40_: LitLock09: _litmus_P0_41_: movl $1,%esi _litmus_P0_42_: xchgl %esi,(%r14) _litmus_P0_43_: cmpl $0,%esi _litmus_P0_44_: je LitLock11 _litmus_P0_45_: LitLock10: _litmus_P0_46_: movl (%r14),%esi _litmus_P0_47_: cmpl $0,%esi _litmus_P0_48_: je LitLock09 _litmus_P0_49_: jmp LitLock10 _litmus_P0_50_: LitLock11: _litmus_P0_51_: movl (%r11),%ebx _litmus_P0_52_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%esi _litmus_P1_2_: xchgl %esi,(%r13) _litmus_P1_3_: cmpl $0,%esi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%esi _litmus_P1_7_: cmpl $0,%esi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: movl (%r10),%edx _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%esi _litmus_P1_16_: xchgl %esi,(%r12) _litmus_P1_17_: cmpl $0,%esi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%r12),%esi _litmus_P1_21_: cmpl $0,%esi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl (%r9),%ecx _litmus_P1_26_: movl $0,(%r12) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%esi _litmus_P1_29_: xchgl %esi,(%rax) _litmus_P1_30_: cmpl $0,%esi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%esi _litmus_P1_34_: cmpl $0,%esi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r15) _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: LitLock21: _litmus_P1_41_: movl $1,%esi _litmus_P1_42_: xchgl %esi,(%r14) _litmus_P1_43_: cmpl $0,%esi _litmus_P1_44_: je LitLock23 _litmus_P1_45_: LitLock22: _litmus_P1_46_: movl (%r14),%esi _litmus_P1_47_: cmpl $0,%esi _litmus_P1_48_: je LitLock21 _litmus_P1_49_: jmp LitLock22 _litmus_P1_50_: LitLock23: _litmus_P1_51_: movl (%r11),%ebx _litmus_P1_52_: movl $0,(%r14) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: movl (%rdi),%eax _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r11d _litmus_P2_16_: xchgl %r11d,(%r10) _litmus_P2_17_: cmpl $0,%r11d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r10),%r11d _litmus_P2_21_: cmpl $0,%r11d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl (%r8),%edx _litmus_P2_26_: movl $0,(%r10) Test X012+X013-L Required Histogram (43 states) 1531164:>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; 104 :>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; 616571:>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; 127720:>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; 55809 :>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; 2 :>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; 7831522:>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; 3403802:>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; 40771 :>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; 5727297:>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; 946 :>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; 165 :>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; 453467:>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; 27568 :>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; 497530:>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; 353514:>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; 48177 :>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; 1304173:>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; 2510440:>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; 18243 :>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; 10951055:>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; 12 :>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; 3135 :>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; 938 :>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; 2709352:>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; 39414 :>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; 1071880:>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; 3515120:>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; 299140:>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; 23852471:>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; 15061811:>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; 559820:>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; 11094599:>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; 2 :>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; 13093 :>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; 109 :>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; 299759:>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; 462529:>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; 728406:>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; 1779053:>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; 911002:>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; 380026:>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; 1718289:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:ECX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=0343dc2d7df6617573add98033400706 Time X012+X013-L 217.99 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X014-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X013+X014-L "Fre PodWR Fre Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock27: | Lock39: ; MOV EDX,$1 | MOV ECX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_a],EDX | XCHG [L_x],ECX | XCHG [L_y],EDX | XCHG [L_z],EDX ; CMP EDX,$0 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock01: | Lock16: | Lock28: | Lock40: ; MOV EDX,[L_a] | MOV ECX,[L_x] | MOV EDX,[L_y] | MOV EDX,[L_z] ; CMP EDX,$0 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock17: | Lock29: | Lock41: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | MOV EAX,[x] | Lock30: | MOV EAX,[z] ; MOV EDX,$1 | Lock18: | MOV EDX,$1 | Lock42: ; XCHG [L_c],EDX | MOV ECX,$1 | XCHG [L_z],EDX | MOV EDX,$1 ; CMP EDX,$0 | XCHG [L_b],ECX | CMP EDX,$0 | XCHG [L_a],EDX ; JE Lock05 | CMP ECX,$0 | JE Lock32 | CMP EDX,$0 ; Lock04: | JE Lock20 | Lock31: | JE Lock44 ; MOV EDX,[L_c] | Lock19: | MOV EDX,[L_z] | Lock43: ; CMP EDX,$0 | MOV ECX,[L_b] | CMP EDX,$0 | MOV EDX,[L_a] ; JE Lock03 | CMP ECX,$0 | JE Lock30 | CMP EDX,$0 ; JMP Lock04 | JE Lock18 | JMP Lock31 | JE Lock42 ; Lock05: | JMP Lock19 | Lock32: | JMP Lock43 ; MOV [c],$2 | Lock20: | MOV EAX,[z] | Lock44: ; MOV [L_c],$0 | MOV [b],$1 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | MOV [L_b],$0 | Lock33: | MOV [L_a],$0 ; MOV EDX,$1 | Lock21: | MOV EDX,$1 | Lock45: ; XCHG [L_x],EDX | MOV ECX,$1 | XCHG [L_e],EDX | MOV EDX,$1 ; CMP EDX,$0 | XCHG [L_c],ECX | CMP EDX,$0 | XCHG [L_d],EDX ; JE Lock08 | CMP ECX,$0 | JE Lock35 | CMP EDX,$0 ; Lock07: | JE Lock23 | Lock34: | JE Lock47 ; MOV EDX,[L_x] | Lock22: | MOV EDX,[L_e] | Lock46: ; CMP EDX,$0 | MOV ECX,[L_c] | CMP EDX,$0 | MOV EDX,[L_d] ; JE Lock06 | CMP ECX,$0 | JE Lock33 | CMP EDX,$0 ; JMP Lock07 | JE Lock21 | JMP Lock34 | JE Lock45 ; Lock08: | JMP Lock22 | Lock35: | JMP Lock46 ; MOV EAX,[x] | Lock23: | MOV [e],$1 | Lock47: ; MOV [L_x],$0 | MOV [c],$1 | MOV [L_e],$0 | MOV [d],$1 ; Lock09: | MOV [L_c],$0 | MOV EBX,[e] | MOV [L_d],$0 ; MOV EDX,$1 | Lock24: | Lock36: | Lock48: ; XCHG [L_c],EDX | MOV ECX,$1 | MOV EDX,$1 | MOV EDX,$1 ; CMP EDX,$0 | XCHG [L_y],ECX | XCHG [L_b],EDX | XCHG [L_e],EDX ; JE Lock11 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; Lock10: | JE Lock26 | JE Lock38 | JE Lock50 ; MOV EDX,[L_c] | Lock25: | Lock37: | Lock49: ; CMP EDX,$0 | MOV ECX,[L_y] | MOV EDX,[L_b] | MOV EDX,[L_e] ; JE Lock09 | CMP ECX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JMP Lock10 | JE Lock24 | JE Lock36 | JE Lock48 ; Lock11: | JMP Lock25 | JMP Lock37 | JMP Lock49 ; MOV EBX,[c] | Lock26: | Lock38: | Lock50: ; MOV [L_c],$0 | MOV EBX,[y] | MOV ECX,[b] | MOV ECX,[e] ; Lock12: | MOV [L_y],$0 | MOV [L_b],$0 | MOV [L_e],$0 ; MOV EDX,$1 | | | ; XCHG [L_d],EDX | | | ; CMP EDX,$0 | | | ; JE Lock14 | | | ; Lock13: | | | ; MOV EDX,[L_d] | | | ; CMP EDX,$0 | | | ; JE Lock12 | | | ; JMP Lock13 | | | ; Lock14: | | | ; MOV ECX,[d] | | | ; MOV [L_d],$0 | | | ; forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%esi _litmus_P3_2_: xchgl %esi,(%r12) _litmus_P3_3_: cmpl $0,%esi _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r12),%esi _litmus_P3_7_: cmpl $0,%esi _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r9),%edx _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%esi _litmus_P3_16_: xchgl %esi,(%rax) _litmus_P3_17_: cmpl $0,%esi _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%rax),%esi _litmus_P3_21_: cmpl $0,%esi _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r15),%ecx _litmus_P3_26_: movl $0,(%rax) _litmus_P3_27_: LitLock45: _litmus_P3_28_: movl $1,%esi _litmus_P3_29_: xchgl %esi,(%r14) _litmus_P3_30_: cmpl $0,%esi _litmus_P3_31_: je LitLock47 _litmus_P3_32_: LitLock46: _litmus_P3_33_: movl (%r14),%esi _litmus_P3_34_: cmpl $0,%esi _litmus_P3_35_: je LitLock45 _litmus_P3_36_: jmp LitLock46 _litmus_P3_37_: LitLock47: _litmus_P3_38_: movl $1,(%r11) _litmus_P3_39_: movl $0,(%r14) _litmus_P3_40_: LitLock48: _litmus_P3_41_: movl $1,%esi _litmus_P3_42_: xchgl %esi,(%r13) _litmus_P3_43_: cmpl $0,%esi _litmus_P3_44_: je LitLock50 _litmus_P3_45_: LitLock49: _litmus_P3_46_: movl (%r13),%esi _litmus_P3_47_: cmpl $0,%esi _litmus_P3_48_: je LitLock48 _litmus_P3_49_: jmp LitLock49 _litmus_P3_50_: LitLock50: _litmus_P3_51_: movl (%r10),%ebx _litmus_P3_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%esi _litmus_P0_2_: xchgl %esi,(%rax) _litmus_P0_3_: cmpl $0,%esi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%esi _litmus_P0_7_: cmpl $0,%esi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r15) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%esi _litmus_P0_15_: xchgl %esi,(%r14) _litmus_P0_16_: cmpl $0,%esi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%esi _litmus_P0_20_: cmpl $0,%esi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%esi _litmus_P0_28_: xchgl %esi,(%r12) _litmus_P0_29_: cmpl $0,%esi _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%esi _litmus_P0_33_: cmpl $0,%esi _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%esi _litmus_P0_41_: xchgl %esi,(%r14) _litmus_P0_42_: cmpl $0,%esi _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r14),%esi _litmus_P0_46_: cmpl $0,%esi _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r11),%ecx _litmus_P0_51_: movl $0,(%r14) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%esi _litmus_P0_54_: xchgl %esi,(%r13) _litmus_P0_55_: cmpl $0,%esi _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r13),%esi _litmus_P0_59_: cmpl $0,%esi _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r10),%ebx _litmus_P0_64_: movl $0,(%r13) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: movl (%r8),%eax _litmus_P1_14_: LitLock18: _litmus_P1_15_: movl $1,%r14d _litmus_P1_16_: xchgl %r14d,(%r13) _litmus_P1_17_: cmpl $0,%r14d _litmus_P1_18_: je LitLock20 _litmus_P1_19_: LitLock19: _litmus_P1_20_: movl (%r13),%r14d _litmus_P1_21_: cmpl $0,%r14d _litmus_P1_22_: je LitLock18 _litmus_P1_23_: jmp LitLock19 _litmus_P1_24_: LitLock20: _litmus_P1_25_: movl $1,(%r10) _litmus_P1_26_: movl $0,(%r13) _litmus_P1_27_: LitLock21: _litmus_P1_28_: movl $1,%r14d _litmus_P1_29_: xchgl %r14d,(%r12) _litmus_P1_30_: cmpl $0,%r14d _litmus_P1_31_: je LitLock23 _litmus_P1_32_: LitLock22: _litmus_P1_33_: movl (%r12),%r14d _litmus_P1_34_: cmpl $0,%r14d _litmus_P1_35_: je LitLock21 _litmus_P1_36_: jmp LitLock22 _litmus_P1_37_: LitLock23: _litmus_P1_38_: movl $1,(%r9) _litmus_P1_39_: movl $0,(%r12) _litmus_P1_40_: LitLock24: _litmus_P1_41_: movl $1,%r14d _litmus_P1_42_: xchgl %r14d,(%r11) _litmus_P1_43_: cmpl $0,%r14d _litmus_P1_44_: je LitLock26 _litmus_P1_45_: LitLock25: _litmus_P1_46_: movl (%r11),%r14d _litmus_P1_47_: cmpl $0,%r14d _litmus_P1_48_: je LitLock24 _litmus_P1_49_: jmp LitLock25 _litmus_P1_50_: LitLock26: _litmus_P1_51_: movl (%rdi),%edx _litmus_P1_52_: movl $0,(%r11) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r12) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r12),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl (%r9),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock33: _litmus_P2_27_: movl $1,%esi _litmus_P2_28_: xchgl %esi,(%r14) _litmus_P2_29_: cmpl $0,%esi _litmus_P2_30_: je LitLock35 _litmus_P2_31_: LitLock34: _litmus_P2_32_: movl (%r14),%esi _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock33 _litmus_P2_35_: jmp LitLock34 _litmus_P2_36_: LitLock35: _litmus_P2_37_: movl $1,(%r11) _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: movl (%r11),%ecx _litmus_P2_40_: LitLock36: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%rax) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock38 _litmus_P2_45_: LitLock37: _litmus_P2_46_: movl (%rax),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock36 _litmus_P2_49_: jmp LitLock37 _litmus_P2_50_: LitLock38: _litmus_P2_51_: movl (%r15),%ebx _litmus_P2_52_: movl $0,(%rax) Test X013+X014-L Required Histogram (168 states) 34 :>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; 48 :>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; 79 :>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; 126 :>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; 13 :>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; 524267:>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; 584414:>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; 454860:>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; 134 :>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; 4 :>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; 91 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 2 :>0:EAX=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; 38 :>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; 58 :>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; 3 :>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; 103561:>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; 13940 :>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; 53824 :>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; 344 :>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; 78 :>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; 36 :>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; 5161007:>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; 585715:>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; 2195462:>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; 140 :>0:EAX=0; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 2 :>0:EAX=1; 0:EBX=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; 75 :>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; 201329:>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; 28 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 1 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 9688 :>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; 584283:>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; 15196 :>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; 13 :>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; 324 :>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; 58 :>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; 270 :>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; 60 :>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; 112 :>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; 313779:>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; 281397:>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; 452884:>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; 38 :>0:EAX=0; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 306586:>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; 53246 :>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; 69706 :>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; 7 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=1; 88640 :>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; 2885984:>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; 647692:>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; 212 :>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; 5471830:>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; 2079535:>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; 1888039:>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; 36 :>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; 6 :>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; 1 :>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; 320353:>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; 42490 :>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; 122445:>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; 2 :>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; 353 :>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; 11 :>0:EAX=1; 0:EBX=2; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 8 :>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; 1077008:>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; 399119:>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; 717863:>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; 3 :>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; 17411 :>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; 8 :>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; 4712 :>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; 4 :>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; 4 :>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; 9 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 3 :>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; 10 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; 205 :>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; 123 :>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; 879538:>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; 1947 :>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; 253941:>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; 202 :>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; 186452:>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; 2354879:>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; 1358222:>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; 201 :>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; 2389840:>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; 206525:>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; 1012215:>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; 590 :>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; 1135928:>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; 52335 :>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; 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=1; 3:ECX=1; c=1; 287509:>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; 539754:>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; 359100:>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; 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=1; 3:ECX=1; c=1; 155451:>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; 36417 :>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; 109525:>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; 88 :>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; 708 :>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; 1699409:>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; 1111265:>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; 2184407:>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; 198 :>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; 3085053:>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; 931 :>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; 330043:>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; 17 :>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; 230167:>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; 66360 :>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; 186434:>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; 3 :>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; 10860 :>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; 1 :>0:EAX=0; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 10 :>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 99 :>0:EAX=0; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=1; 902876:>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; 3691874:>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; 3067602:>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; 463 :>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; 8141222:>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; 144334:>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; 1828726:>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; 17 :>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; 396509:>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; 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=0; 3:ECX=0; c=2; 488 :>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; 346 :>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; 1420711:>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; 3 :>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; 7997203:>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; 14 :>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; 13 :>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; 59 :>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; 591190:>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; 673683:>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; 69244 :>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; 1217594:>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; 9 :>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; 1211235:>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; 1 :>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; 1072519:>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; 21936 :>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; 28 :>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; 1667309:>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; 108 :>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; 132852:>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; 131 :>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; 4668231:>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; 218940:>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; 634899:>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; 187 :>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; 1532 :>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; 486496:>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; 60705 :>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; 2599569:>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; 3326569:>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; 786823:>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; 365609:>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; 1207834:>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; 3434174:>0:EAX=1; 0:EBX=2; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ c=2 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EBX=1 /\ c=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=2 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 0:EBX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:ECX=0 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ 3:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0))))))) is validated Hash=44e93a8101a7245e0ce689d57b002cc1 Time X013+X014-L 283.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X015-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X014+X015-L "Fre PodWW Wse Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock27: | Lock39: ; MOV EBX,$1 | MOV ESI,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_b],ESI | XCHG [L_y],EDX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock29 | JE Lock41 ; Lock01: | Lock13: | Lock28: | Lock40: ; MOV EBX,[L_a] | MOV ESI,[L_b] | MOV EDX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock27 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock28 | JMP Lock40 ; Lock02: | Lock14: | Lock29: | Lock41: ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock30: | MOV EAX,[z] ; MOV EBX,$1 | MOV ESI,$1 | MOV EDX,$1 | Lock42: ; XCHG [L_d],EBX | XCHG [L_x],ESI | XCHG [L_e],EDX | MOV ECX,$1 ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | JE Lock32 | CMP ECX,$0 ; Lock04: | Lock16: | Lock31: | JE Lock44 ; MOV EBX,[L_d] | MOV ESI,[L_x] | MOV EDX,[L_e] | Lock43: ; CMP EBX,$0 | CMP ESI,$0 | CMP EDX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock30 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock31 | JE Lock42 ; Lock05: | Lock17: | Lock32: | JMP Lock43 ; MOV [d],$1 | MOV [x],$2 | MOV [e],$1 | Lock44: ; MOV [L_d],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV EBX,[a] ; Lock06: | Lock18: | MOV EBX,[e] | MOV [L_a],$0 ; MOV EBX,$1 | MOV ESI,$1 | Lock33: | ; XCHG [L_x],EBX | XCHG [L_x],ESI | MOV EDX,$1 | ; CMP EBX,$0 | CMP ESI,$0 | XCHG [L_b],EDX | ; JE Lock08 | JE Lock20 | CMP EDX,$0 | ; Lock07: | Lock19: | JE Lock35 | ; MOV EBX,[L_x] | MOV ESI,[L_x] | Lock34: | ; CMP EBX,$0 | CMP ESI,$0 | MOV EDX,[L_b] | ; JE Lock06 | JE Lock18 | CMP EDX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock33 | ; Lock08: | Lock20: | JMP Lock34 | ; MOV [x],$1 | MOV EAX,[x] | Lock35: | ; MOV [L_x],$0 | MOV [L_x],$0 | MOV ECX,[b] | ; Lock09: | MOV [c],$1 | MOV [L_b],$0 | ; MOV EBX,$1 | MOV ECX,[c] | Lock36: | ; XCHG [L_e],EBX | Lock21: | MOV EDX,$1 | ; CMP EBX,$0 | MOV ESI,$1 | XCHG [L_z],EDX | ; JE Lock11 | XCHG [L_d],ESI | CMP EDX,$0 | ; Lock10: | CMP ESI,$0 | JE Lock38 | ; MOV EBX,[L_e] | JE Lock23 | Lock37: | ; CMP EBX,$0 | Lock22: | MOV EDX,[L_z] | ; JE Lock09 | MOV ESI,[L_d] | CMP EDX,$0 | ; JMP Lock10 | CMP ESI,$0 | JE Lock36 | ; Lock11: | JE Lock21 | JMP Lock37 | ; MOV EAX,[e] | JMP Lock22 | Lock38: | ; MOV [L_e],$0 | Lock23: | MOV EAX,[z] | ; | MOV EDX,[d] | MOV [L_z],$0 | ; | MOV [L_d],$0 | | ; | Lock24: | | ; | MOV ESI,$1 | | ; | XCHG [L_y],ESI | | ; | CMP ESI,$0 | | ; | JE Lock26 | | ; | Lock25: | | ; | MOV ESI,[L_y] | | ; | CMP ESI,$0 | | ; | JE Lock24 | | ; | JMP Lock25 | | ; | Lock26: | | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock42: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock44 _litmus_P3_19_: LitLock43: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock42 _litmus_P3_23_: jmp LitLock43 _litmus_P3_24_: LitLock44: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r9) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rsi),%eax _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r8) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r14) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r10) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r15) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%edi _litmus_P1_28_: xchgl %edi,(%r10) _litmus_P1_29_: cmpl $0,%edi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%edi _litmus_P1_33_: cmpl $0,%edi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r15),%edx _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: movl $1,(%r13) _litmus_P1_40_: movl (%r13),%ebx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r9) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r9),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%esi _litmus_P1_53_: movl $0,(%r9) _litmus_P1_54_: LitLock24: _litmus_P1_55_: movl $1,%edi _litmus_P1_56_: xchgl %edi,(%rax) _litmus_P1_57_: cmpl $0,%edi _litmus_P1_58_: je LitLock26 _litmus_P1_59_: LitLock25: _litmus_P1_60_: movl (%rax),%edi _litmus_P1_61_: cmpl $0,%edi _litmus_P1_62_: je LitLock24 _litmus_P1_63_: jmp LitLock25 _litmus_P1_64_: LitLock26: _litmus_P1_65_: movl (%r11),%ecx _litmus_P1_66_: movl $0,(%rax) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r14) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r14),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%r14) _litmus_P2_26_: movl (%r11),%ecx _litmus_P2_27_: LitLock33: _litmus_P2_28_: movl $1,%esi _litmus_P2_29_: xchgl %esi,(%rax) _litmus_P2_30_: cmpl $0,%esi _litmus_P2_31_: je LitLock35 _litmus_P2_32_: LitLock34: _litmus_P2_33_: movl (%rax),%esi _litmus_P2_34_: cmpl $0,%esi _litmus_P2_35_: je LitLock33 _litmus_P2_36_: jmp LitLock34 _litmus_P2_37_: LitLock35: _litmus_P2_38_: movl (%r15),%ebx _litmus_P2_39_: movl $0,(%rax) _litmus_P2_40_: LitLock36: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%r12) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock38 _litmus_P2_45_: LitLock37: _litmus_P2_46_: movl (%r12),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock36 _litmus_P2_49_: jmp LitLock37 _litmus_P2_50_: LitLock38: _litmus_P2_51_: movl (%r9),%edx _litmus_P2_52_: movl $0,(%r12) Test X014+X015-L Required Histogram (66 states) 201194:>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; 3342 :>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; 36582 :>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; 1271519:>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; 221917:>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; 1782063:>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; 4912 :>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; 247083:>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; 42 :>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; 623345:>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; 1832732:>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; 83152 :>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; 13359325:>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; 20012 :>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; 131199:>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; 1444 :>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; 64065 :>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; 516470:>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; 210250:>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; 5919309:>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; 290955:>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; 78998 :>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; 523818:>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; 128223:>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; 142799:>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; 969458:>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; 2089 :>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; 21911 :>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; 224 :>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; 547828:>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; 109 :>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; 865 :>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; 27 :>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; 390 :>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; 13055 :>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; 1061 :>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; 195037:>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; 1646518:>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; 1638207:>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; 201052:>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; 7339415:>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; 157260:>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; 626108:>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; 6349 :>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; 403973:>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; 2139634:>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; 971199:>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; 15635653:>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; 18548 :>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; 229228:>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; 3574019:>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; 178964:>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; 1556693:>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; 1698010:>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; 18751 :>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; 1157090:>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; 1146425:>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; 6370641:>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; 1341 :>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; 27231 :>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; 45066 :>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; 1749472:>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; 1 :>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; 12454728:>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; 9561618:>0:EAX=1; 1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ 2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EBX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 0:EAX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ x=2 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (x=2 \/ x=1) \/ 2:ECX=0 /\ x=2)) \/ 1:EDX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1)) \/ 1:EBX=0 /\ 2:ECX=1 /\ (1:EDX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (x=2 \/ x=1)) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))) \/ 1:EAX=1 /\ 1:EDX=1 /\ 2:ECX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1) \/ 1:EBX=0 /\ (2:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EAX=0 /\ 3:EBX=1))))) is validated Hash=152d979e6eab98f0b9933db14521b68c Time X014+X015-L 259.89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X016-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X015+X016-L "Fre PodWW Rfi PodRR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_b],EDX | XCHG [L_y],ECX | XCHG [L_z],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EDX,[L_b] | MOV ECX,[L_y] | MOV ESI,[L_z] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_a],EDX | XCHG [L_d],ECX | XCHG [L_c],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock05 | JE Lock17 | JE Lock29 ; Lock04: | Lock16: | Lock28: ; MOV EDX,[L_a] | MOV ECX,[L_d] | MOV ESI,[L_c] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock03 | JE Lock15 | JE Lock27 ; JMP Lock04 | JMP Lock16 | JMP Lock28 ; Lock05: | Lock17: | Lock29: ; MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; MOV [x],$1 | Lock18: | MOV EAX,[z] ; Lock06: | MOV ECX,$1 | Lock30: ; MOV EDX,$1 | XCHG [L_z],ECX | MOV ESI,$1 ; XCHG [L_c],EDX | CMP ECX,$0 | XCHG [L_a],ESI ; CMP EDX,$0 | JE Lock20 | CMP ESI,$0 ; JE Lock08 | Lock19: | JE Lock32 ; Lock07: | MOV ECX,[L_z] | Lock31: ; MOV EDX,[L_c] | CMP ECX,$0 | MOV ESI,[L_a] ; CMP EDX,$0 | JE Lock18 | CMP ESI,$0 ; JE Lock06 | JMP Lock19 | JE Lock30 ; JMP Lock07 | Lock20: | JMP Lock31 ; Lock08: | MOV EAX,[z] | Lock32: ; MOV ECX,[c] | MOV [L_z],$0 | MOV EBX,[a] ; MOV [L_c],$0 | Lock21: | MOV [L_a],$0 ; MOV EAX,[x] | MOV ECX,$1 | MOV ECX,[c] ; Lock09: | XCHG [L_b],ECX | Lock33: ; MOV EDX,$1 | CMP ECX,$0 | MOV ESI,$1 ; XCHG [L_y],EDX | JE Lock23 | XCHG [L_d],ESI ; CMP EDX,$0 | Lock22: | CMP ESI,$0 ; JE Lock11 | MOV ECX,[L_b] | JE Lock35 ; Lock10: | CMP ECX,$0 | Lock34: ; MOV EDX,[L_y] | JE Lock21 | MOV ESI,[L_d] ; CMP EDX,$0 | JMP Lock22 | CMP ESI,$0 ; JE Lock09 | Lock23: | JE Lock33 ; JMP Lock10 | MOV EBX,[b] | JMP Lock34 ; Lock11: | MOV [L_b],$0 | Lock35: ; MOV EBX,[y] | | MOV EDX,[d] ; MOV [L_y],$0 | | MOV [L_d],$0 ; forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r12) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: movl (%r11),%edx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%ecx _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r9),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rax) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rax),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r15) _litmus_P0_12_: movl $0,(%rax) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%edi _litmus_P0_15_: xchgl %edi,(%r12) _litmus_P0_16_: cmpl $0,%edi _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%edi _litmus_P0_20_: cmpl $0,%edi _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdx) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: movl $1,(%r10) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%edi _litmus_P0_29_: xchgl %edi,(%r14) _litmus_P0_30_: cmpl $0,%edi _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r14),%edi _litmus_P0_34_: cmpl $0,%edi _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl (%r11),%esi _litmus_P0_39_: movl $0,(%r14) _litmus_P0_40_: movl (%r10),%ecx _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r13) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r13),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r9),%ebx _litmus_P0_53_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r12) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r9) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r11) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r13) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r13),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r10),%edx _litmus_P1_51_: movl $0,(%r13) Test X015+X016-L Required Histogram (23 states) 657670:>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; 953134:>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; 8995173:>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; 2237167:>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; 264833:>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; 443923:>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; 1058479:>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; 1475435:>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; 2944801:>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; 54514 :>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; 2 :>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; 13563398:>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; 850331:>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; 1629106:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 1 :>0:EAX=1; 0:EBX=1; 0:ECX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 27284 :>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; 242208:>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; 11887968:>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; 1942482:>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; 2954579:>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; 17776384:>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; 8680 :>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; 30032448:>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EBX=1 /\ (0:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ 2:EDX=1 \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ 2:EDX=1) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 \/ 1:EBX=0))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (0:ECX=1 /\ 1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EAX=0 /\ 2:EDX=1)))) is validated Hash=c3974eb1946903c8dbe74b7b61ff7a52 Time X015+X016-L 210.88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X017-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X016+X017-L "Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_b],ECX | XCHG [L_x],ECX | XCHG [L_d],ESI | XCHG [L_c],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_b] | MOV ECX,[L_x] | MOV ESI,[L_d] | MOV EBX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_z],ECX | XCHG [L_a],ECX | XCHG [L_y],ESI | XCHG [L_d],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_z] | MOV ECX,[L_a] | MOV ESI,[L_y] | MOV EBX,[L_d] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | MOV ECX,[d] | ; MOV ECX,$1 | MOV ECX,$1 | Lock30: | ; XCHG [L_c],ECX | XCHG [L_b],ECX | MOV ESI,$1 | ; CMP ECX,$0 | CMP ECX,$0 | XCHG [L_a],ESI | ; JE Lock08 | JE Lock20 | CMP ESI,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV ECX,[L_c] | MOV ECX,[L_b] | Lock31: | ; CMP ECX,$0 | CMP ECX,$0 | MOV ESI,[L_a] | ; JE Lock06 | JE Lock18 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EBX,[c] | MOV EBX,[b] | Lock32: | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | ; Lock09: | Lock21: | MOV [L_a],$0 | ; MOV ECX,$1 | MOV ECX,$1 | MOV EAX,[y] | ; XCHG [L_x],ECX | XCHG [L_y],ECX | Lock33: | ; CMP ECX,$0 | CMP ECX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | ; Lock10: | Lock22: | CMP ESI,$0 | ; MOV ECX,[L_x] | MOV ECX,[L_y] | JE Lock35 | ; CMP ECX,$0 | CMP ECX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r13) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r12) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r9),%ebx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X016+X017-L Required Histogram (54 states) 258965:>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; 98331 :>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; 1371472:>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; 9 :>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; 36542 :>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; 125 :>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; 1654361:>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; 1771253:>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; 784490:>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; 881444:>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; 64 :>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; 206732:>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; 25803 :>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; 3951238:>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; 222133:>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; 204753:>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; 721360:>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; 490374:>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; 11217388:>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; 175967:>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; 36282 :>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; 1460107:>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; 14426806:>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; 3034 :>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; 1641873:>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; 24679 :>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; 94312 :>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; 260972:>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; 8764875:>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; 64 :>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; 1495858:>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; 735803:>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; 839541:>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; 8874730:>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; 3631 :>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; 879337:>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; 5855 :>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; 2878322:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 45 :>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; 1251 :>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; 674603:>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; 82117 :>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; 2204086:>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; 3477 :>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; 944042:>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; 82845 :>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; 1013639:>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; 117 :>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; 1326976:>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; 1013196:>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; 2644522:>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; 32490 :>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; 23477708:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ 1:EBX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 2:EDX=0 /\ 3:EAX=1) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0))))) is validated Hash=f87c99f3a0eb9f891c7719fffb290ad1 Time X016+X017-L 250.42 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X018-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X017+X018-L "Fre PodWR Fre PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EBX | XCHG [L_y],EDX | XCHG [L_z],EDX ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_a] | MOV EBX,[L_x] | MOV EDX,[L_y] | MOV EDX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | Lock39: ; XCHG [L_c],ECX | XCHG [L_b],EBX | XCHG [L_z],EDX | MOV EDX,$1 ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | XCHG [L_a],EDX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP EDX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV ECX,[L_c] | MOV EBX,[L_b] | MOV EDX,[L_z] | Lock40: ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV EDX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP EDX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | Lock41: ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | Lock18: | Lock30: | MOV [L_a],$0 ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | Lock42: ; XCHG [L_d],ECX | XCHG [L_y],EBX | XCHG [L_e],EDX | MOV EDX,$1 ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | XCHG [L_d],EDX ; JE Lock08 | JE Lock20 | JE Lock32 | CMP EDX,$0 ; Lock07: | Lock19: | Lock31: | JE Lock44 ; MOV ECX,[L_d] | MOV EBX,[L_y] | MOV EDX,[L_e] | Lock43: ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV EDX,[L_d] ; JE Lock06 | JE Lock18 | JE Lock30 | CMP EDX,$0 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JE Lock42 ; Lock08: | Lock20: | Lock32: | JMP Lock43 ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$1 | Lock44: ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [d],$1 ; Lock09: | Lock21: | MOV EBX,[e] | MOV [L_d],$0 ; MOV ECX,$1 | MOV EBX,$1 | Lock33: | Lock45: ; XCHG [L_x],ECX | XCHG [L_c],EBX | MOV EDX,$1 | MOV EDX,$1 ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_b],EDX | XCHG [L_e],EDX ; JE Lock11 | JE Lock23 | CMP EDX,$0 | CMP EDX,$0 ; Lock10: | Lock22: | JE Lock35 | JE Lock47 ; MOV ECX,[L_x] | MOV EBX,[L_c] | Lock34: | Lock46: ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,[L_b] | MOV EDX,[L_e] ; JE Lock09 | JE Lock21 | CMP EDX,$0 | CMP EDX,$0 ; JMP Lock10 | JMP Lock22 | JE Lock33 | JE Lock45 ; Lock11: | Lock23: | JMP Lock34 | JMP Lock46 ; MOV EAX,[x] | MOV [c],$1 | Lock35: | Lock47: ; MOV [L_x],$0 | MOV [L_c],$0 | MOV ECX,[b] | MOV ECX,[e] ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%esi _litmus_P3_2_: xchgl %esi,(%r12) _litmus_P3_3_: cmpl $0,%esi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%esi _litmus_P3_7_: cmpl $0,%esi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r9),%edx _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%esi _litmus_P3_16_: xchgl %esi,(%rax) _litmus_P3_17_: cmpl $0,%esi _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%rax),%esi _litmus_P3_21_: cmpl $0,%esi _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r15),%ecx _litmus_P3_26_: movl $0,(%rax) _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%esi _litmus_P3_29_: xchgl %esi,(%r14) _litmus_P3_30_: cmpl $0,%esi _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%r14),%esi _litmus_P3_34_: cmpl $0,%esi _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl $1,(%r11) _litmus_P3_39_: movl $0,(%r14) _litmus_P3_40_: LitLock45: _litmus_P3_41_: movl $1,%esi _litmus_P3_42_: xchgl %esi,(%r13) _litmus_P3_43_: cmpl $0,%esi _litmus_P3_44_: je LitLock47 _litmus_P3_45_: LitLock46: _litmus_P3_46_: movl (%r13),%esi _litmus_P3_47_: cmpl $0,%esi _litmus_P3_48_: je LitLock45 _litmus_P3_49_: jmp LitLock46 _litmus_P3_50_: LitLock47: _litmus_P3_51_: movl (%r10),%ebx _litmus_P3_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r12) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r9),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%esi _litmus_P2_28_: xchgl %esi,(%r14) _litmus_P2_29_: cmpl $0,%esi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r14),%esi _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r11) _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: movl (%r11),%ecx _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%rax) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%rax),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r15),%ebx _litmus_P2_52_: movl $0,(%rax) Test X017+X018-L Required Histogram (115 states) 38 :>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; 213 :>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; 43 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 7 :>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; 272303:>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; 1493893:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 3 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; 562 :>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; 17 :>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; 654 :>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; 30182 :>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; 669969:>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; 112 :>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; 939 :>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; 286627:>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; 10420962:>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; 319 :>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; 44 :>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; 39 :>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; 351129:>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; 6593 :>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; 188673:>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; 96744 :>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; 20 :>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; 469 :>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; 379 :>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; 13 :>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; 308 :>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; 471526:>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; 3407839:>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; 41811 :>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; 903667:>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; 2394758:>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; 4928524:>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; 415762:>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; 4151206:>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; 5 :>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; 156 :>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; 15841 :>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; 641900:>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; 209 :>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; 298 :>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; 117055:>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; 2415534:>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; 64 :>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; 61222 :>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; 70 :>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; 365 :>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; 40 :>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; 3547 :>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; 14 :>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; 1899659:>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; 1345890:>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; 6540093:>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; 24851 :>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; 1082764:>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; 819535:>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; 914049:>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; 31037 :>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; 423246:>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; 29469 :>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; 718048:>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; 93 :>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; 462957:>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; 11444260:>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; 5 :>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; 700009:>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; 56297 :>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; 1790322:>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; 40731 :>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; 1131969:>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; 17270583:>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; 30 :>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; 2323809:>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; 63 :>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; 163224:>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; 9 :>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; 569 :>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; 586 :>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; 2121279:>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; 3 :>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; 2248906:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 13 :>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; 4 :>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; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; 656462:>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; 723462:>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; 4489 :>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; 52770 :>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; 26 :>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; 553779:>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; 364765:>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; 9 :>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; 58139 :>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; 59 :>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; 806446:>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; 330 :>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; 282176:>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; 91 :>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; 1916245:>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; 383335:>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; 191405:>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; 684 :>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; 690 :>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; 954369:>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; 63288 :>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; 2225202:>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; 798333:>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; 1600850:>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; 410232:>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; 303098:>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; 272223:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 \/ c=1) \/ 3:ECX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ 2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0)))))) is validated Hash=c367076c2246b1cc39b649d0773b6a74 Time X017+X018-L 277.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X019-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X018+X019-L "Fre PodWW Wse PodWR Fre PodWR Fre Rfi PodRR+Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EBX | XCHG [L_y],EDX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_a] | MOV EBX,[L_x] | MOV EDX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | Lock39: ; XCHG [L_b],EBX | XCHG [L_d],EBX | XCHG [L_c],EDX | MOV ECX,$1 ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP ECX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV EBX,[L_b] | MOV EBX,[L_d] | MOV EDX,[L_c] | Lock40: ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP ECX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [b],$2 | MOV [d],$1 | MOV [c],$1 | Lock41: ; MOV [L_b],$0 | MOV [L_d],$0 | MOV [L_c],$0 | MOV EBX,[a] ; Lock06: | Lock18: | MOV EBX,[c] | MOV [L_a],$0 ; MOV EBX,$1 | MOV EBX,$1 | Lock30: | ; XCHG [L_c],EBX | XCHG [L_y],EBX | MOV EDX,$1 | ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_d],EDX | ; JE Lock08 | JE Lock20 | CMP EDX,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EBX,[L_c] | MOV EBX,[L_y] | Lock31: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,[L_d] | ; JE Lock06 | JE Lock18 | CMP EDX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EAX,[c] | MOV EAX,[y] | Lock32: | ; MOV [L_c],$0 | MOV [L_y],$0 | MOV ECX,[d] | ; Lock09: | Lock21: | MOV [L_d],$0 | ; MOV EBX,$1 | MOV EBX,$1 | Lock33: | ; XCHG [L_x],EBX | XCHG [L_b],EBX | MOV EDX,$1 | ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],EDX | ; JE Lock11 | JE Lock23 | CMP EDX,$0 | ; Lock10: | Lock22: | JE Lock35 | ; MOV EBX,[L_x] | MOV EBX,[L_b] | Lock34: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,[L_z] | ; JE Lock09 | JE Lock21 | CMP EDX,$0 | ; JMP Lock10 | JMP Lock22 | JE Lock33 | ; Lock11: | Lock23: | JMP Lock34 | ; MOV [x],$1 | MOV [b],$1 | Lock35: | ; MOV [L_x],$0 | MOV [L_b],$0 | MOV EAX,[z] | ; | | MOV [L_z],$0 | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rsi),%eax _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r8) _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%rax) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r15),%ecx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%esi _litmus_P2_29_: xchgl %esi,(%r14) _litmus_P2_30_: cmpl $0,%esi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r14),%esi _litmus_P2_34_: cmpl $0,%esi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r11),%ebx _litmus_P2_39_: movl $0,(%r14) _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%r12) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%r12),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r9),%edx _litmus_P2_52_: movl $0,(%r12) Test X018+X019-L Required Histogram (52 states) 116221:>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; 76966 :>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; 8375950:>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; 19 :>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; 1361432:>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; 42249 :>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; 2013421:>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; 7640050:>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; 8540 :>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; 2650020:>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; 842960:>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; 11682204:>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; 8631 :>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; 862 :>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; 25567 :>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; 114750:>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; 6869314:>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; 209855:>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; 13123903:>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; 15326818:>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; 378290:>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; 2320121:>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; 18669 :>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; 107585:>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; 1071031:>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; 2970090:>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; 81 :>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; 5443393:>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; 517462:>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; 243360:>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; 3605 :>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; 76732 :>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; 250060:>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; 2148223:>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; 2351992:>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; 65 :>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; 1322129:>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; 4082 :>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; 424447:>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; 637136:>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; 76812 :>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; 409973:>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; 173 :>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; 69321 :>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; 202145:>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; 3410104:>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; 955541:>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; 374 :>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; 6397 :>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; 622856:>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; 3467648:>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; 371 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ x=1 /\ (b=2 \/ b=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 \/ b=1) \/ 3:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ b=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1)))))) is validated Hash=f41b5be6159a17f5c56978b58a2c6d37 Time X018+X019-L 250.68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X020-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X019+X020-L "Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_b],EAX | XCHG [L_x],ECX | XCHG [L_d],ESI | XCHG [L_c],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_b] | MOV ECX,[L_x] | MOV ESI,[L_d] | MOV EBX,[L_c] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$2 | MOV [d],$1 | MOV [c],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_a],ECX | XCHG [L_y],ESI | XCHG [L_d],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_z] | MOV ECX,[L_a] | MOV ESI,[L_y] | MOV EBX,[L_d] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$1 | MOV EAX,[d] ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | MOV ECX,[d] | ; MOV EAX,$1 | MOV ECX,$1 | Lock30: | ; XCHG [L_c],EAX | XCHG [L_b],ECX | MOV ESI,$1 | ; CMP EAX,$0 | CMP ECX,$0 | XCHG [L_a],ESI | ; JE Lock08 | JE Lock20 | CMP ESI,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EAX,[L_c] | MOV ECX,[L_b] | Lock31: | ; CMP EAX,$0 | CMP ECX,$0 | MOV ESI,[L_a] | ; JE Lock06 | JE Lock18 | CMP ESI,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV [c],$1 | MOV EBX,[b] | Lock32: | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV EDX,[a] | ; Lock09: | Lock21: | MOV [L_a],$0 | ; MOV EAX,$1 | MOV ECX,$1 | MOV EAX,[y] | ; XCHG [L_x],EAX | XCHG [L_y],ECX | Lock33: | ; CMP EAX,$0 | CMP ECX,$0 | MOV ESI,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_z],ESI | ; Lock10: | Lock22: | CMP ESI,$0 | ; MOV EAX,[L_x] | MOV ECX,[L_y] | JE Lock35 | ; CMP EAX,$0 | CMP ECX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV ESI,[L_z] | ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV [x],$1 | MOV EAX,[y] | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r13) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r13),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r10) _litmus_P1_25_: movl $0,(%r13) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: movl (%r12),%ebx _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r8) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r8),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r13),%esi _litmus_P2_39_: movl $0,(%r8) _litmus_P2_40_: movl (%r15),%edx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%r14) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%ecx _litmus_P2_53_: movl $0,(%r14) Test X019+X020-L Required Histogram (54 states) 269351:>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; 1405032:>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; 10 :>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; 1782433:>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; 798915:>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; 904814:>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; 49 :>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; 173812:>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; 3913462:>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; 225713:>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; 10592779:>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; 14413811:>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; 1733909:>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; 8857451:>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; 59 :>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; 8710802:>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; 829993:>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; 2866835:>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; 49 :>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; 561976:>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; 2223220:>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; 893933:>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; 1385044:>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; 23007665:>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; 151 :>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; 28258 :>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; 883972:>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; 36546 :>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; 2638 :>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; 101008:>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; 1 :>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; 675594:>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; 2962 :>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; 5132 :>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; 1066 :>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; 89396 :>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; 3391 :>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; 1207695:>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; 2801698:>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; 88667 :>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; 1887858:>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; 474220:>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; 1455478:>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; 252907:>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; 974655:>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; 210 :>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; 42230 :>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; 38049 :>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; 188812:>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; 187113:>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; 23526 :>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; 1731851:>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; 88461 :>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; 1175338:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ c=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EDX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1))))) is validated Hash=cbfd4de0d398e2ac2c2f985477e6c058 Time X019+X020-L 251.98 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X021-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X020+X021-L "Fre PodWR Fre PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EDX | XCHG [L_z],EDX ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EDX,[L_y] | MOV EDX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV EAX,[z] ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | Lock39: ; XCHG [L_c],EBX | XCHG [L_b],EAX | XCHG [L_z],EDX | MOV EDX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | XCHG [L_a],EDX ; JE Lock05 | JE Lock17 | JE Lock29 | CMP EDX,$0 ; Lock04: | Lock16: | Lock28: | JE Lock41 ; MOV EBX,[L_c] | MOV EAX,[L_b] | MOV EDX,[L_z] | Lock40: ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | MOV EDX,[L_a] ; JE Lock03 | JE Lock15 | JE Lock27 | CMP EDX,$0 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JE Lock39 ; Lock05: | Lock17: | Lock29: | JMP Lock40 ; MOV [c],$2 | MOV [b],$1 | MOV EAX,[z] | Lock41: ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | Lock18: | Lock30: | MOV [L_a],$0 ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | Lock42: ; XCHG [L_d],EBX | XCHG [L_y],EAX | XCHG [L_e],EDX | MOV EDX,$1 ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | XCHG [L_d],EDX ; JE Lock08 | JE Lock20 | JE Lock32 | CMP EDX,$0 ; Lock07: | Lock19: | Lock31: | JE Lock44 ; MOV EBX,[L_d] | MOV EAX,[L_y] | MOV EDX,[L_e] | Lock43: ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | MOV EDX,[L_d] ; JE Lock06 | JE Lock18 | JE Lock30 | CMP EDX,$0 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JE Lock42 ; Lock08: | Lock20: | Lock32: | JMP Lock43 ; MOV [d],$1 | MOV [y],$1 | MOV [e],$1 | Lock44: ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [d],$2 ; Lock09: | Lock21: | MOV EBX,[e] | MOV [L_d],$0 ; MOV EBX,$1 | MOV EAX,$1 | Lock33: | Lock45: ; XCHG [L_x],EBX | XCHG [L_c],EAX | MOV EDX,$1 | MOV EDX,$1 ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_b],EDX | XCHG [L_e],EDX ; JE Lock11 | JE Lock23 | CMP EDX,$0 | CMP EDX,$0 ; Lock10: | Lock22: | JE Lock35 | JE Lock47 ; MOV EBX,[L_x] | MOV EAX,[L_c] | Lock34: | Lock46: ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,[L_b] | MOV EDX,[L_e] ; JE Lock09 | JE Lock21 | CMP EDX,$0 | CMP EDX,$0 ; JMP Lock10 | JMP Lock22 | JE Lock33 | JE Lock45 ; Lock11: | Lock23: | JMP Lock34 | JMP Lock46 ; MOV EAX,[x] | MOV [c],$1 | Lock35: | Lock47: ; MOV [L_x],$0 | MOV [L_c],$0 | MOV ECX,[b] | MOV ECX,[e] ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%esi _litmus_P3_2_: xchgl %esi,(%r12) _litmus_P3_3_: cmpl $0,%esi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%esi _litmus_P3_7_: cmpl $0,%esi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: movl (%r9),%edx _litmus_P3_14_: LitLock39: _litmus_P3_15_: movl $1,%esi _litmus_P3_16_: xchgl %esi,(%rax) _litmus_P3_17_: cmpl $0,%esi _litmus_P3_18_: je LitLock41 _litmus_P3_19_: LitLock40: _litmus_P3_20_: movl (%rax),%esi _litmus_P3_21_: cmpl $0,%esi _litmus_P3_22_: je LitLock39 _litmus_P3_23_: jmp LitLock40 _litmus_P3_24_: LitLock41: _litmus_P3_25_: movl (%r15),%ecx _litmus_P3_26_: movl $0,(%rax) _litmus_P3_27_: LitLock42: _litmus_P3_28_: movl $1,%esi _litmus_P3_29_: xchgl %esi,(%r14) _litmus_P3_30_: cmpl $0,%esi _litmus_P3_31_: je LitLock44 _litmus_P3_32_: LitLock43: _litmus_P3_33_: movl (%r14),%esi _litmus_P3_34_: cmpl $0,%esi _litmus_P3_35_: je LitLock42 _litmus_P3_36_: jmp LitLock43 _litmus_P3_37_: LitLock44: _litmus_P3_38_: movl $2,(%r11) _litmus_P3_39_: movl $0,(%r14) _litmus_P3_40_: LitLock45: _litmus_P3_41_: movl $1,%esi _litmus_P3_42_: xchgl %esi,(%r13) _litmus_P3_43_: cmpl $0,%esi _litmus_P3_44_: je LitLock47 _litmus_P3_45_: LitLock46: _litmus_P3_46_: movl (%r13),%esi _litmus_P3_47_: cmpl $0,%esi _litmus_P3_48_: je LitLock45 _litmus_P3_49_: jmp LitLock46 _litmus_P3_50_: LitLock47: _litmus_P3_51_: movl (%r10),%ebx _litmus_P3_52_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rsi) _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r9) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%esi _litmus_P2_2_: xchgl %esi,(%r13) _litmus_P2_3_: cmpl $0,%esi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%esi _litmus_P2_7_: cmpl $0,%esi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%esi _litmus_P2_15_: xchgl %esi,(%r12) _litmus_P2_16_: cmpl $0,%esi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r12),%esi _litmus_P2_20_: cmpl $0,%esi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r9),%edx _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%esi _litmus_P2_28_: xchgl %esi,(%r14) _litmus_P2_29_: cmpl $0,%esi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r14),%esi _litmus_P2_33_: cmpl $0,%esi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r11) _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: movl (%r11),%ecx _litmus_P2_40_: LitLock33: _litmus_P2_41_: movl $1,%esi _litmus_P2_42_: xchgl %esi,(%rax) _litmus_P2_43_: cmpl $0,%esi _litmus_P2_44_: je LitLock35 _litmus_P2_45_: LitLock34: _litmus_P2_46_: movl (%rax),%esi _litmus_P2_47_: cmpl $0,%esi _litmus_P2_48_: je LitLock33 _litmus_P2_49_: jmp LitLock34 _litmus_P2_50_: LitLock35: _litmus_P2_51_: movl (%r15),%ebx _litmus_P2_52_: movl $0,(%rax) Test X020+X021-L Required Histogram (116 states) 27 :>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; 167 :>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; 310030:>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; 1585551:>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; 1 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=1; d=1; y=1; 628 :>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; 304313:>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; 10658877:>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; 37 :>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; 32 :>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; 207825:>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; 105342:>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; 7 :>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; 338 :>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; 455478:>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; 4150955:>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; 18394 :>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; 649686:>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; 121895:>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; 2176974:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 2 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=1; y=1; 68147 :>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; 19 :>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; 1632502:>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; 34426 :>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; 1059501:>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; 46577 :>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; 340141:>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; 7 :>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; 708549:>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; 54 :>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; 1928925:>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; 56 :>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; 141581:>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; 611 :>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; 2428386:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=1; y=1; 3 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=1; y=1; 14 :>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; 85999 :>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; 547398:>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; 298773:>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; 864568:>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; 1822596:>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; 184626:>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; 580 :>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; 856722:>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; 298244:>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; 53 :>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; 5 :>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; 119 :>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; 983 :>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; 232 :>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; 383360:>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; 6212 :>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; 366 :>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; 354 :>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; 2352746:>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; 5280940:>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; 4 :>0:EAX=0; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=1; d=2; y=1; 105 :>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; 171 :>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; 237 :>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; 61 :>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; 38 :>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; 3869 :>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; 1154493:>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; 6606068:>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; 803476:>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; 822788:>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; 368238:>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; 11652800:>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; 954220:>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; 17247687:>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; 7 :>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; 5453 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=1; 15 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 53 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=1; 78 :>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; 379877:>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; 579 :>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; 2346808:>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; 351158:>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; 31200 :>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; 710585:>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; 44488 :>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; 864481:>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; 293 :>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; 93 :>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; 29123 :>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; 10 :>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; 2077655:>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; 5 :>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; 832527:>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; 57043 :>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; 259026:>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; 60831 :>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; 345638:>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; 14 :>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; 871 :>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; 11 :>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; 409163:>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; 3592250:>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; 103 :>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; 14936 :>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; 720036:>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; 34670 :>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; 1866782:>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; 493 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; c=2; d=2; y=2; 16 :>0:EAX=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; 629650:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; c=2; d=2; y=2; 2 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; c=2; d=2; y=2; 346 :>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; 981920:>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; 1616519:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; c=2; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 3:ECX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:ECX=0 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1)) \/ 3:EBX=0 /\ y=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (d=2 \/ d=1) \/ 3:ECX=0 /\ (d=2 \/ d=1))))))) is validated Hash=0df3b3558e348c28550a42bd68ac70b9 Time X020+X021-L 281.45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X022-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X021+X022-L "Fre PodWW Wse PodWW Wse PodWR Fre Rfi PodRR+Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock27: | Lock33: ; MOV ECX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock01: | Lock16: | Lock28: | Lock34: ; MOV ECX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock01 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock02: | Lock17: | Lock29: | Lock35: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock18: | Lock30: | MOV EAX,[z] ; MOV ECX,$1 | MOV EAX,$1 | MOV EBX,$1 | Lock36: ; XCHG [L_b],ECX | XCHG [L_c],EAX | XCHG [L_z],EBX | MOV ECX,$1 ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | XCHG [L_a],ECX ; JE Lock05 | JE Lock20 | JE Lock32 | CMP ECX,$0 ; Lock04: | Lock19: | Lock31: | JE Lock38 ; MOV ECX,[L_b] | MOV EAX,[L_c] | MOV EBX,[L_z] | Lock37: ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_a] ; JE Lock03 | JE Lock18 | JE Lock30 | CMP ECX,$0 ; JMP Lock04 | JMP Lock19 | JMP Lock31 | JE Lock36 ; Lock05: | Lock20: | Lock32: | JMP Lock37 ; MOV [b],$2 | MOV [c],$1 | MOV EAX,[z] | Lock38: ; MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_z],$0 | MOV EBX,[a] ; Lock06: | Lock21: | | MOV [L_a],$0 ; MOV ECX,$1 | MOV EAX,$1 | | ; XCHG [L_b],ECX | XCHG [L_y],EAX | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock08 | JE Lock23 | | ; Lock07: | Lock22: | | ; MOV ECX,[L_b] | MOV EAX,[L_y] | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock06 | JE Lock21 | | ; JMP Lock07 | JMP Lock22 | | ; Lock08: | Lock23: | | ; MOV EAX,[b] | MOV [y],$1 | | ; MOV [L_b],$0 | MOV [L_y],$0 | | ; Lock09: | Lock24: | | ; MOV ECX,$1 | MOV EAX,$1 | | ; XCHG [L_x],ECX | XCHG [L_b],EAX | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock11 | JE Lock26 | | ; Lock10: | Lock25: | | ; MOV ECX,[L_x] | MOV EAX,[L_b] | | ; CMP ECX,$0 | CMP EAX,$0 | | ; JE Lock09 | JE Lock24 | | ; JMP Lock10 | JMP Lock25 | | ; Lock11: | Lock26: | | ; MOV [x],$1 | MOV [b],$1 | | ; MOV [L_x],$0 | MOV [L_b],$0 | | ; Lock12: | | | ; MOV ECX,$1 | | | ; XCHG [L_c],ECX | | | ; CMP ECX,$0 | | | ; JE Lock14 | | | ; Lock13: | | | ; MOV ECX,[L_c] | | | ; CMP ECX,$0 | | | ; JE Lock12 | | | ; JMP Lock13 | | | ; Lock14: | | | ; MOV EBX,[c] | | | ; MOV [L_c],$0 | | | ; forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) Generated assembler _litmus_P3_0_: LitLock33: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock35 _litmus_P3_5_: LitLock34: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock33 _litmus_P3_9_: jmp LitLock34 _litmus_P3_10_: LitLock35: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: movl (%rdi),%eax _litmus_P3_14_: LitLock36: _litmus_P3_15_: movl $1,%r11d _litmus_P3_16_: xchgl %r11d,(%r10) _litmus_P3_17_: cmpl $0,%r11d _litmus_P3_18_: je LitLock38 _litmus_P3_19_: LitLock37: _litmus_P3_20_: movl (%r10),%r11d _litmus_P3_21_: cmpl $0,%r11d _litmus_P3_22_: je LitLock36 _litmus_P3_23_: jmp LitLock37 _litmus_P3_24_: LitLock38: _litmus_P3_25_: movl (%r8),%edx _litmus_P3_26_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%eax _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdi) _litmus_P0_51_: movl $0,(%r11) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%r14d _litmus_P0_54_: xchgl %r14d,(%rbx) _litmus_P0_55_: cmpl $0,%r14d _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%rbx),%r14d _litmus_P0_59_: cmpl $0,%r14d _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r8),%edx _litmus_P0_64_: movl $0,(%rbx) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r10) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%r10),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%rsi) _litmus_P1_51_: movl $0,(%r10) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X021+X022-L Required Histogram (44 states) 6245 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 156354:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 2459803:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 65411 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 1064176:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 17167589:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=1; 89461 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 497521:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 12174216:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 195455:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 773748:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 24328076:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=1; 3595929:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 9466968:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=1; 1938657:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 807905:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=1; 180752:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 186 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 2433539:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 2869 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=1; 2962853:>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 7872 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 8077121:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 23426 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=1; 1 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 200 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 86391 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 305341:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=1; y=2; 11 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 68509 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 212918:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 1025 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 823213:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 3730557:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=1; y=2; 9911 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 1971233:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=2; x=1; y=2; 438618:>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 3622393:>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=2; x=1; y=2; 3979 :>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 3 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; b=1; x=2; y=2; 8771 :>0:EAX=2; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 5 :>0:EAX=2; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 240041:>0:EAX=2; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; 748 :>0:EAX=2; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; b=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=2 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (y=2 \/ y=1) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 0:EAX=1 /\ 0:EBX=1 /\ b=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1))))) is validated Hash=c50cc5eae4d43591febe6ac2dd6aee21 Time X021+X022-L 227.86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X023-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X022+X023-L "Fre PodWW Wse Rfi PodRR+Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock15: | Lock30: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_y],ECX | XCHG [L_x],ECX | XCHG [L_d],ECX | XCHG [L_c],EAX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock17 | JE Lock32 | JE Lock41 ; Lock01: | Lock16: | Lock31: | Lock40: ; MOV ECX,[L_y] | MOV ECX,[L_x] | MOV ECX,[L_d] | MOV EAX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock15 | JE Lock30 | JE Lock39 ; JMP Lock01 | JMP Lock16 | JMP Lock31 | JMP Lock40 ; Lock02: | Lock17: | Lock32: | Lock41: ; MOV [y],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$1 ; MOV [L_y],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock18: | Lock33: | Lock42: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_x],ECX | XCHG [L_x],ECX | XCHG [L_d],ECX | XCHG [L_d],EAX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock20 | JE Lock35 | JE Lock44 ; Lock04: | Lock19: | Lock34: | Lock43: ; MOV ECX,[L_x] | MOV ECX,[L_x] | MOV ECX,[L_d] | MOV EAX,[L_d] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock18 | JE Lock33 | JE Lock42 ; JMP Lock04 | JMP Lock19 | JMP Lock34 | JMP Lock43 ; Lock05: | Lock20: | Lock35: | Lock44: ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[d] | MOV [d],$1 ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_d],$0 ; Lock06: | Lock21: | Lock36: | ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_b],ECX | XCHG [L_y],ECX | XCHG [L_a],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock23 | JE Lock38 | ; Lock07: | Lock22: | Lock37: | ; MOV ECX,[L_b] | MOV ECX,[L_y] | MOV ECX,[L_a] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock21 | JE Lock36 | ; JMP Lock07 | JMP Lock22 | JMP Lock37 | ; Lock08: | Lock23: | Lock38: | ; MOV [b],$2 | MOV EBX,[y] | MOV EBX,[a] | ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_a],$0 | ; Lock09: | Lock24: | | ; MOV ECX,$1 | MOV ECX,$1 | | ; XCHG [L_b],ECX | XCHG [L_a],ECX | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock11 | JE Lock26 | | ; Lock10: | Lock25: | | ; MOV ECX,[L_b] | MOV ECX,[L_a] | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock09 | JE Lock24 | | ; JMP Lock10 | JMP Lock25 | | ; Lock11: | Lock26: | | ; MOV EAX,[b] | MOV [a],$1 | | ; MOV [L_b],$0 | MOV [L_a],$0 | | ; Lock12: | Lock27: | | ; MOV ECX,$1 | MOV ECX,$1 | | ; XCHG [L_c],ECX | XCHG [L_b],ECX | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock14 | JE Lock29 | | ; Lock13: | Lock28: | | ; MOV ECX,[L_c] | MOV ECX,[L_b] | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock12 | JE Lock27 | | ; JMP Lock13 | JMP Lock28 | | ; Lock14: | Lock29: | | ; MOV EBX,[c] | MOV [b],$1 | | ; MOV [L_c],$0 | MOV [L_b],$0 | | ; forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r11) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rbx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r8) _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r13) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $2,(%r10) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r13) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r13),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r10),%eax _litmus_P0_51_: movl $0,(%r13) _litmus_P0_52_: LitLock12: _litmus_P0_53_: movl $1,%r14d _litmus_P0_54_: xchgl %r14d,(%r12) _litmus_P0_55_: cmpl $0,%r14d _litmus_P0_56_: je LitLock14 _litmus_P0_57_: LitLock13: _litmus_P0_58_: movl (%r12),%r14d _litmus_P0_59_: cmpl $0,%r14d _litmus_P0_60_: je LitLock12 _litmus_P0_61_: jmp LitLock13 _litmus_P0_62_: LitLock14: _litmus_P0_63_: movl (%r9),%edx _litmus_P0_64_: movl $0,(%r12) _litmus_P1_0_: LitLock15: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock17 _litmus_P1_5_: LitLock16: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock15 _litmus_P1_9_: jmp LitLock16 _litmus_P1_10_: LitLock17: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock18: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rbx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock20 _litmus_P1_18_: LitLock19: _litmus_P1_19_: movl (%rbx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock18 _litmus_P1_22_: jmp LitLock19 _litmus_P1_23_: LitLock20: _litmus_P1_24_: movl (%r8),%eax _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock21: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r11) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock23 _litmus_P1_31_: LitLock22: _litmus_P1_32_: movl (%r11),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock21 _litmus_P1_35_: jmp LitLock22 _litmus_P1_36_: LitLock23: _litmus_P1_37_: movl (%rdi),%edx _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock24: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r13) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock26 _litmus_P1_44_: LitLock25: _litmus_P1_45_: movl (%r13),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock24 _litmus_P1_48_: jmp LitLock25 _litmus_P1_49_: LitLock26: _litmus_P1_50_: movl $1,(%r10) _litmus_P1_51_: movl $0,(%r13) _litmus_P1_52_: LitLock27: _litmus_P1_53_: movl $1,%r14d _litmus_P1_54_: xchgl %r14d,(%r12) _litmus_P1_55_: cmpl $0,%r14d _litmus_P1_56_: je LitLock29 _litmus_P1_57_: LitLock28: _litmus_P1_58_: movl (%r12),%r14d _litmus_P1_59_: cmpl $0,%r14d _litmus_P1_60_: je LitLock27 _litmus_P1_61_: jmp LitLock28 _litmus_P1_62_: LitLock29: _litmus_P1_63_: movl $1,(%r9) _litmus_P1_64_: movl $0,(%r12) _litmus_P2_0_: LitLock30: _litmus_P2_1_: movl $1,%r11d _litmus_P2_2_: xchgl %r11d,(%r9) _litmus_P2_3_: cmpl $0,%r11d _litmus_P2_4_: je LitLock32 _litmus_P2_5_: LitLock31: _litmus_P2_6_: movl (%r9),%r11d _litmus_P2_7_: cmpl $0,%r11d _litmus_P2_8_: je LitLock30 _litmus_P2_9_: jmp LitLock31 _litmus_P2_10_: LitLock32: _litmus_P2_11_: movl $2,(%rdi) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock33: _litmus_P2_14_: movl $1,%r11d _litmus_P2_15_: xchgl %r11d,(%r9) _litmus_P2_16_: cmpl $0,%r11d _litmus_P2_17_: je LitLock35 _litmus_P2_18_: LitLock34: _litmus_P2_19_: movl (%r9),%r11d _litmus_P2_20_: cmpl $0,%r11d _litmus_P2_21_: je LitLock33 _litmus_P2_22_: jmp LitLock34 _litmus_P2_23_: LitLock35: _litmus_P2_24_: movl (%rdi),%eax _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: LitLock36: _litmus_P2_27_: movl $1,%r11d _litmus_P2_28_: xchgl %r11d,(%r10) _litmus_P2_29_: cmpl $0,%r11d _litmus_P2_30_: je LitLock38 _litmus_P2_31_: LitLock37: _litmus_P2_32_: movl (%r10),%r11d _litmus_P2_33_: cmpl $0,%r11d _litmus_P2_34_: je LitLock36 _litmus_P2_35_: jmp LitLock37 _litmus_P2_36_: LitLock38: _litmus_P2_37_: movl (%r8),%edx _litmus_P2_38_: movl $0,(%r10) Test X022+X023-L Required Histogram (119 states) 1911 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 8534 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 1 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 91 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 155236:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 45672 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 499253:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=1; 2504 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 9153 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 124117:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 488159:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 141657:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3352 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2289311:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 3550 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 131802:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 1013528:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 11253671:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=1; 2462 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 6709 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 27338 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 46022 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 15344 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 886 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 107139:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 1772 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 25848 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 94206 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 737773:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=1; 65324 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 141705:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 239024:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 361962:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 102 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 242368:>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 497 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 186021:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 44653 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 587096:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 254064:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 1539965:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=1; 280720:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 91016 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=1; 12653 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 9728822:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 41 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2011 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 2072232:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=1; 11285 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 1806622:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 9 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 938 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 246610:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=1; 302764:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 10224643:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 7 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 20944 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 299188:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=1; 8993 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 56294 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 4 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 892 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 573938:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 6 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 218810:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 2671973:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=1; 5176 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 14595 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 139510:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 223596:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 7 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 28412 :>0:EAX=2; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 891 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 505777:>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 3326 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 48759 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 284675:>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 2212517:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=1; 1582766:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 15 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 571068:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=1; 24792 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 5768173:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=0; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 14 :>0:EAX=2; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 2020 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 469904:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=1; 15148 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 197 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 1426190:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=1; d=1; x=2; 21 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 2526686:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 18987 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 21780022:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=1; x=2; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 165406:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 2741 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 748718:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=1; d=1; x=2; 141 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 1453902:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 3618 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 648097:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=1; x=2; 7 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=0; b=2; d=1; x=2; 5 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 633 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=1; x=2; 31 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=1; 2:EBX=1; b=2; d=1; x=2; 7 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 86 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=1; x=2; 28188 :>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 2317 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 7784772:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=1; d=2; x=2; 10 :>0:EAX=1; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 335838:>0:EAX=2; 0:EBX=0; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 5047 :>0:EAX=1; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 1635740:>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=1; d=2; x=2; 84 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=0; b=2; d=2; x=2; 154 :>0:EAX=2; 0:EBX=1; 1:EAX=2; 1:EBX=1; 2:EAX=2; 2:EBX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=2 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ (b=2 \/ b=1)))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EBX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (b=2 \/ b=1) \/ 2:EBX=0 /\ b=1)))) \/ 0:EAX=1 /\ b=1 /\ (0:EBX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=1 /\ d=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=2 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ d=1 /\ (x=2 \/ x=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)) \/ 1:EAX=1 /\ 1:EBX=1 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (d=2 \/ d=1) \/ 2:EBX=0 /\ d=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ d=1)))) is validated Hash=9e10e88a1dff85093d147c01b73a9ede Time X022+X023-L 232.20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X024-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X023+X024-L "Fre PodWW Wse Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock27: | Lock42: ; MOV EAX,$1 | MOV ESI,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_b],ESI | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock29 | JE Lock44 ; Lock01: | Lock13: | Lock28: | Lock43: ; MOV EAX,[L_a] | MOV ESI,[L_b] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock27 | JE Lock42 ; JMP Lock01 | JMP Lock13 | JMP Lock28 | JMP Lock43 ; Lock02: | Lock14: | Lock29: | Lock44: ; MOV [a],$1 | MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock30: | Lock45: ; MOV EAX,$1 | MOV ESI,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],EAX | XCHG [L_x],ESI | XCHG [L_e],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock32 | JE Lock47 ; Lock04: | Lock16: | Lock31: | Lock46: ; MOV EAX,[L_d] | MOV ESI,[L_x] | MOV ECX,[L_e] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock30 | JE Lock45 ; JMP Lock04 | JMP Lock16 | JMP Lock31 | JMP Lock46 ; Lock05: | Lock17: | Lock32: | Lock47: ; MOV [d],$1 | MOV [x],$2 | MOV [e],$2 | MOV EAX,[z] ; MOV [L_d],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock33: | Lock48: ; MOV EAX,$1 | MOV ESI,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ESI | XCHG [L_e],ECX | XCHG [L_a],ECX ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock35 | JE Lock50 ; Lock07: | Lock19: | Lock34: | Lock49: ; MOV EAX,[L_x] | MOV ESI,[L_x] | MOV ECX,[L_e] | MOV ECX,[L_a] ; CMP EAX,$0 | CMP ESI,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock33 | JE Lock48 ; JMP Lock07 | JMP Lock19 | JMP Lock34 | JMP Lock49 ; Lock08: | Lock20: | Lock35: | Lock50: ; MOV [x],$1 | MOV EAX,[x] | MOV EAX,[e] | MOV EBX,[a] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV [L_a],$0 ; Lock09: | MOV [c],$1 | Lock36: | ; MOV EAX,$1 | MOV ECX,[c] | MOV ECX,$1 | ; XCHG [L_e],EAX | Lock21: | XCHG [L_b],ECX | ; CMP EAX,$0 | MOV ESI,$1 | CMP ECX,$0 | ; JE Lock11 | XCHG [L_d],ESI | JE Lock38 | ; Lock10: | CMP ESI,$0 | Lock37: | ; MOV EAX,[L_e] | JE Lock23 | MOV ECX,[L_b] | ; CMP EAX,$0 | Lock22: | CMP ECX,$0 | ; JE Lock09 | MOV ESI,[L_d] | JE Lock36 | ; JMP Lock10 | CMP ESI,$0 | JMP Lock37 | ; Lock11: | JE Lock21 | Lock38: | ; MOV [e],$1 | JMP Lock22 | MOV EBX,[b] | ; MOV [L_e],$0 | Lock23: | MOV [L_b],$0 | ; | MOV EDX,[d] | Lock39: | ; | MOV [L_d],$0 | MOV ECX,$1 | ; | Lock24: | XCHG [L_z],ECX | ; | MOV ESI,$1 | CMP ECX,$0 | ; | XCHG [L_y],ESI | JE Lock41 | ; | CMP ESI,$0 | Lock40: | ; | JE Lock26 | MOV ECX,[L_z] | ; | Lock25: | CMP ECX,$0 | ; | MOV ESI,[L_y] | JE Lock39 | ; | CMP ESI,$0 | JMP Lock40 | ; | JE Lock24 | Lock41: | ; | JMP Lock25 | MOV [z],$1 | ; | Lock26: | MOV [L_z],$0 | ; | MOV EBX,[y] | | ; | MOV [L_y],$0 | | ; forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: LitLock42: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock48: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock50 _litmus_P3_31_: LitLock49: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock48 _litmus_P3_35_: jmp LitLock49 _litmus_P3_36_: LitLock50: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%rdi) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rdi),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rax) _litmus_P0_38_: movl $0,(%rdi) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r8) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r14) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%edi _litmus_P1_15_: xchgl %edi,(%r10) _litmus_P1_16_: cmpl $0,%edi _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%edi _litmus_P1_20_: cmpl $0,%edi _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r15) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%edi _litmus_P1_28_: xchgl %edi,(%r10) _litmus_P1_29_: cmpl $0,%edi _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%edi _litmus_P1_33_: cmpl $0,%edi _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r15),%edx _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: movl $1,(%r13) _litmus_P1_40_: movl (%r13),%ebx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r9) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r9),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r12),%esi _litmus_P1_53_: movl $0,(%r9) _litmus_P1_54_: LitLock24: _litmus_P1_55_: movl $1,%edi _litmus_P1_56_: xchgl %edi,(%rax) _litmus_P1_57_: cmpl $0,%edi _litmus_P1_58_: je LitLock26 _litmus_P1_59_: LitLock25: _litmus_P1_60_: movl (%rax),%edi _litmus_P1_61_: cmpl $0,%edi _litmus_P1_62_: je LitLock24 _litmus_P1_63_: jmp LitLock25 _litmus_P1_64_: LitLock26: _litmus_P1_65_: movl (%r11),%ecx _litmus_P1_66_: movl $0,(%rax) _litmus_P2_0_: LitLock27: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock29 _litmus_P2_5_: LitLock28: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock27 _litmus_P2_9_: jmp LitLock28 _litmus_P2_10_: LitLock29: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock30: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r12) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock32 _litmus_P2_18_: LitLock31: _litmus_P2_19_: movl (%r12),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock30 _litmus_P2_22_: jmp LitLock31 _litmus_P2_23_: LitLock32: _litmus_P2_24_: movl $2,(%r9) _litmus_P2_25_: movl $0,(%r12) _litmus_P2_26_: LitLock33: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock35 _litmus_P2_31_: LitLock34: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock33 _litmus_P2_35_: jmp LitLock34 _litmus_P2_36_: LitLock35: _litmus_P2_37_: movl (%r9),%eax _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock36: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r13) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock38 _litmus_P2_44_: LitLock37: _litmus_P2_45_: movl (%r13),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock36 _litmus_P2_48_: jmp LitLock37 _litmus_P2_49_: LitLock38: _litmus_P2_50_: movl (%r10),%edx _litmus_P2_51_: movl $0,(%r13) _litmus_P2_52_: LitLock39: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r11) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock41 _litmus_P2_57_: LitLock40: _litmus_P2_58_: movl (%r11),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock39 _litmus_P2_61_: jmp LitLock40 _litmus_P2_62_: LitLock41: _litmus_P2_63_: movl $1,(%rdi) _litmus_P2_64_: movl $0,(%r11) Test X023+X024-L Required Histogram (118 states) 19215 :>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; 176 :>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; 2137 :>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; 1268 :>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; 44858 :>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; 12 :>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; 892479:>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; 185572:>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; 1351510:>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; 66494 :>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; 48972 :>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; 256 :>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; 14602 :>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; 83068 :>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; 1706977:>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; 11809989:>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; 1907 :>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; 480864:>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; 5420847:>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; 56538 :>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; 30431 :>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; 275366:>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; 10 :>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; 45 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 1 :>1:EAX=2; 1:EBX=0; 1:ECX=1; 1:EDX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=1; x=1; z=1; 49 :>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; 109 :>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; 28582 :>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; 515313:>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; 72 :>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; 41374 :>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; 363884:>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; 135849:>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; 194393:>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; 981824:>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; 124154:>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; 134135:>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; 1020 :>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; 97080 :>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; 404017:>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; 1740064:>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; 7788391:>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; 7582 :>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; 1985059:>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; 15845890:>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; 555327:>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; 51633 :>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; 25294 :>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; 158907:>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; 66625 :>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; 182565:>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; 1141 :>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; 137 :>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; 35 :>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; 334 :>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; 289 :>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; 535 :>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; 1731635:>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; 181326:>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; 173199:>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; 745198:>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; 377292:>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; 944763:>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; 1552 :>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; 16477 :>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; 2831825:>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; 169171:>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; 1553216:>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; 4479 :>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; 677635:>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; 3469 :>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; 84413 :>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; 109400:>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; 5141360:>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; 1377411:>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; 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=2; z=1; 9010944:>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; 127235:>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; 202048:>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; 1332069:>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; 20251 :>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; 509 :>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; 36584 :>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; 860814:>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; 1986063:>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; 12928741:>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; 133401:>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; 1819 :>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; 19349 :>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; 3875 :>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; 144970:>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; 29 :>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; 297567:>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; 83654 :>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; 544224:>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; 65 :>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; 90 :>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; 80 :>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; 285 :>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; 25372 :>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; 570003:>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; 33 :>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; 14037 :>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; 181980:>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; 2653 :>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; 275 :>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; 123 :>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; 1109 :>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; 454 :>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; 1090 :>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; 9738 :>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; 2998 :>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; 1326258:>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; 1984 :>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; 36049 :>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; 14902 :>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; 1751 :>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; 25445 :>1:EAX=2; 1:EBX=1; 1:ECX=1; 1:EDX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:ECX=1 /\ (1:EAX=2 /\ (1:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ x=2 /\ (z=2 \/ z=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ x=2 /\ z=1 \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ x=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))) \/ 1:EBX=0 /\ 2:EBX=1 /\ (1:EDX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1))) \/ 1:EDX=0 /\ x=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)))) \/ 1:EAX=1 /\ 1:EDX=1 /\ x=1 /\ (1:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ e=1)) \/ 2:EBX=0 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=7ad60f4d10e291e7164bdda8c3c9157d Time X023+X024-L 267.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X025-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X024+X025-L "Fre PodWW Rfi PodRR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 ; XCHG [L_b],ECX | XCHG [L_y],EBX | XCHG [L_z],ESI ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_b] | MOV EBX,[L_y] | MOV ESI,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [b],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 ; XCHG [L_a],ECX | XCHG [L_d],EBX | XCHG [L_c],ESI ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock05 | JE Lock17 | JE Lock29 ; Lock04: | Lock16: | Lock28: ; MOV ECX,[L_a] | MOV EBX,[L_d] | MOV ESI,[L_c] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 ; JE Lock03 | JE Lock15 | JE Lock27 ; JMP Lock04 | JMP Lock16 | JMP Lock28 ; Lock05: | Lock17: | Lock29: ; MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; MOV [x],$1 | Lock18: | Lock30: ; Lock06: | MOV EBX,$1 | MOV ESI,$1 ; MOV ECX,$1 | XCHG [L_z],EBX | XCHG [L_z],ESI ; XCHG [L_c],ECX | CMP EBX,$0 | CMP ESI,$0 ; CMP ECX,$0 | JE Lock20 | JE Lock32 ; JE Lock08 | Lock19: | Lock31: ; Lock07: | MOV EBX,[L_z] | MOV ESI,[L_z] ; MOV ECX,[L_c] | CMP EBX,$0 | CMP ESI,$0 ; CMP ECX,$0 | JE Lock18 | JE Lock30 ; JE Lock06 | JMP Lock19 | JMP Lock31 ; JMP Lock07 | Lock20: | Lock32: ; Lock08: | MOV [z],$1 | MOV EAX,[z] ; MOV [c],$1 | MOV [L_z],$0 | MOV [L_z],$0 ; MOV [L_c],$0 | Lock21: | Lock33: ; MOV EAX,[x] | MOV EBX,$1 | MOV ESI,$1 ; Lock09: | XCHG [L_b],EBX | XCHG [L_a],ESI ; MOV ECX,$1 | CMP EBX,$0 | CMP ESI,$0 ; XCHG [L_y],ECX | JE Lock23 | JE Lock35 ; CMP ECX,$0 | Lock22: | Lock34: ; JE Lock11 | MOV EBX,[L_b] | MOV ESI,[L_a] ; Lock10: | CMP EBX,$0 | CMP ESI,$0 ; MOV ECX,[L_y] | JE Lock21 | JE Lock33 ; CMP ECX,$0 | JMP Lock22 | JMP Lock34 ; JE Lock09 | Lock23: | Lock35: ; JMP Lock10 | MOV EAX,[b] | MOV EBX,[a] ; Lock11: | MOV [L_b],$0 | MOV [L_a],$0 ; MOV EBX,[y] | | Lock36: ; MOV [L_y],$0 | | MOV ESI,$1 ; | | XCHG [L_c],ESI ; | | CMP ESI,$0 ; | | JE Lock38 ; | | Lock37: ; | | MOV ESI,[L_c] ; | | CMP ESI,$0 ; | | JE Lock36 ; | | JMP Lock37 ; | | Lock38: ; | | MOV ECX,[c] ; | | MOV [L_c],$0 ; | | Lock39: ; | | MOV ESI,$1 ; | | XCHG [L_d],ESI ; | | CMP ESI,$0 ; | | JE Lock41 ; | | Lock40: ; | | MOV ESI,[L_d] ; | | CMP ESI,$0 ; | | JE Lock39 ; | | JMP Lock40 ; | | Lock41: ; | | MOV EDX,[d] ; | | MOV [L_d],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r11) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%r9) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r9),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r12) _litmus_P2_25_: movl $0,(%r9) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r14) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r14),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r11),%edx _litmus_P2_38_: movl $0,(%r14) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%edi _litmus_P2_41_: xchgl %edi,(%r8) _litmus_P2_42_: cmpl $0,%edi _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r8),%edi _litmus_P2_46_: cmpl $0,%edi _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r13),%ecx _litmus_P2_51_: movl $0,(%r8) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%edi _litmus_P2_54_: xchgl %edi,(%r9) _litmus_P2_55_: cmpl $0,%edi _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r9),%edi _litmus_P2_59_: cmpl $0,%edi _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r12),%ebx _litmus_P2_64_: movl $0,(%r9) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%edi _litmus_P2_67_: xchgl %edi,(%rax) _litmus_P2_68_: cmpl $0,%edi _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%rax),%edi _litmus_P2_72_: cmpl $0,%edi _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r15),%esi _litmus_P2_77_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r13) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r14) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: movl $1,(%r8) _litmus_P0_27_: LitLock06: _litmus_P0_28_: movl $1,%r15d _litmus_P0_29_: xchgl %r15d,(%r12) _litmus_P0_30_: cmpl $0,%r15d _litmus_P0_31_: je LitLock08 _litmus_P0_32_: LitLock07: _litmus_P0_33_: movl (%r12),%r15d _litmus_P0_34_: cmpl $0,%r15d _litmus_P0_35_: je LitLock06 _litmus_P0_36_: jmp LitLock07 _litmus_P0_37_: LitLock08: _litmus_P0_38_: movl $1,(%r9) _litmus_P0_39_: movl $0,(%r12) _litmus_P0_40_: movl (%r8),%eax _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%rbx) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%rbx),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%rdi),%edx _litmus_P0_53_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r8),%eax _litmus_P1_51_: movl $0,(%rbx) Test X024+X025-L Required Histogram (45 states) 550 :>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; 801 :>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; 696692:>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; 375654:>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; 474407:>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; 914185:>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; 14016321:>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; 2258 :>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; 42838 :>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; 82 :>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; 95 :>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; 4 :>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; 342 :>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; 35660 :>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; 98140 :>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; 3 :>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; 9539513:>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; 7 :>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; 51982 :>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; 16755919:>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; 1743434:>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; 500759:>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; 1162268:>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; 11402820:>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; 385 :>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; 66600 :>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; 334401:>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; 2051208:>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; 215345:>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; 1 :>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; 695435:>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; 11197565:>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; 1785749:>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; 4198030:>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; 858 :>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; 158 :>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; 1296296:>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; 2280871:>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; 1680204:>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; 120052:>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; 37040 :>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; 118075:>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; 751812:>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; 323297:>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; 15031884:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ 2:EDX=1 /\ (2:ECX=2 /\ (c=2 /\ z=2 \/ c=1 /\ (z=2 \/ z=1)) \/ 2:ECX=1 /\ c=1 /\ (z=2 \/ z=1)) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (z=2 \/ z=1) \/ 2:EDX=0 /\ z=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ (z=2 \/ z=1))) \/ 2:EAX=1 /\ 2:EDX=1 /\ z=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (c=2 \/ c=1) \/ 2:ECX=1 /\ c=1) \/ 2:EBX=0 /\ c=1 /\ (2:ECX=2 \/ 2:ECX=1)))) \/ 0:EBX=0 /\ 1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ z=1) \/ 2:EDX=0 /\ z=1 /\ (c=2 \/ c=1)) \/ 2:ECX=1 /\ c=1 /\ z=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ c=1 /\ z=1 /\ (2:ECX=2 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:ECX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 2:EAX=1 /\ 2:EBX=1 /\ 2:EDX=1 /\ z=1 /\ (2:ECX=2 /\ c=2 \/ 2:ECX=1 /\ c=1)))) is validated Hash=53e02400537bf73b81288ce902312ff6 Time X024+X025-L 218.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X026-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X025+X026-L "Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_b],ECX | XCHG [L_x],EBX | XCHG [L_d],ESI | XCHG [L_c],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock44 ; Lock01: | Lock13: | Lock25: | Lock43: ; MOV ECX,[L_b] | MOV EBX,[L_x] | MOV ESI,[L_d] | MOV EAX,[L_c] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock42 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock43 ; Lock02: | Lock14: | Lock26: | Lock44: ; MOV [b],$1 | MOV [x],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock45: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_z],ECX | XCHG [L_a],EBX | XCHG [L_y],ESI | XCHG [L_d],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock47 ; Lock04: | Lock16: | Lock28: | Lock46: ; MOV ECX,[L_z] | MOV EBX,[L_a] | MOV ESI,[L_y] | MOV EAX,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock45 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock46 ; Lock05: | Lock17: | Lock29: | Lock47: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_c],ECX | XCHG [L_b],EBX | XCHG [L_d],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV ECX,[L_c] | MOV EBX,[L_b] | MOV ESI,[L_d] | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV EBX,[c] | MOV EAX,[b] | MOV ECX,[d] | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_a],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ESI,[L_a] | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV EAX,[x] | MOV [y],$1 | MOV EDX,[a] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_a],$0 | ; | | Lock36: | ; | | MOV ESI,$1 | ; | | XCHG [L_y],ESI | ; | | CMP ESI,$0 | ; | | JE Lock38 | ; | | Lock37: | ; | | MOV ESI,[L_y] | ; | | CMP ESI,$0 | ; | | JE Lock36 | ; | | JMP Lock37 | ; | | Lock38: | ; | | MOV EAX,[y] | ; | | MOV [L_y],$0 | ; | | Lock39: | ; | | MOV ESI,$1 | ; | | XCHG [L_z],ESI | ; | | CMP ESI,$0 | ; | | JE Lock41 | ; | | Lock40: | ; | | MOV ESI,[L_z] | ; | | CMP ESI,$0 | ; | | JE Lock39 | ; | | JMP Lock40 | ; | | Lock41: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: LitLock42: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r9) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r12),%ebx _litmus_P2_38_: movl $0,(%r9) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%edi _litmus_P2_41_: xchgl %edi,(%r8) _litmus_P2_42_: cmpl $0,%edi _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r8),%edi _litmus_P2_46_: cmpl $0,%edi _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r13),%esi _litmus_P2_51_: movl $0,(%r8) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%edi _litmus_P2_54_: xchgl %edi,(%rax) _litmus_P2_55_: cmpl $0,%edi _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rax),%edi _litmus_P2_59_: cmpl $0,%edi _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r15),%edx _litmus_P2_64_: movl $0,(%rax) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%edi _litmus_P2_67_: xchgl %edi,(%r14) _litmus_P2_68_: cmpl $0,%edi _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%r14),%edi _litmus_P2_72_: cmpl $0,%edi _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r11),%ecx _litmus_P2_77_: movl $0,(%r14) Test X025+X026-L Required Histogram (117 states) 70 :>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; 99137 :>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; 46822 :>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; 1022780:>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; 99 :>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; 1 :>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; 36 :>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; 12 :>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; 109805:>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; 3155 :>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; 484708:>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; 1871186:>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; 348 :>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; 2541 :>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; 1397049:>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; 36155 :>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; 117668:>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; 140581:>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; 9117950:>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; 5 :>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; 780 :>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; 73 :>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; 400 :>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; 1 :>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; 534 :>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; 3 :>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; 219 :>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; 1320683:>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; 820678:>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; 237065:>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; 5960446:>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; 375150:>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; 46 :>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; 114382:>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; 185074:>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; 15 :>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; 1123532:>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; 405127:>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; 437551:>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; 64028 :>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; 10545000:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; d=1; y=1; 27430 :>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; 93627 :>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; 30741 :>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; 24009 :>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; 2941958:>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; 3599 :>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; 1059710:>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; 255 :>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; 751 :>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; 267676:>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; 1030 :>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; 335009:>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; 6027 :>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; 653977:>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; 227251:>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; 1285119:>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; 3337 :>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; 4311005:>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; 390 :>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; 18464 :>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; 75619 :>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; 423492:>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; 1377 :>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; 2964745:>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; 102 :>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; 183717:>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; 101676:>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; 1250259:>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; 147 :>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; 12 :>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; 72 :>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; 29 :>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; 30282 :>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; 170 :>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; 1340584:>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; 1467763:>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; 440808:>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; 151 :>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; 112430:>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; 162542:>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; 307014:>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; 162438:>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; 39870 :>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; 770796:>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; 8850189:>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; 25829 :>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; 53904 :>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; 9762 :>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; 279841:>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; 3737636:>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; 114163:>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; 23062 :>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; 1718442:>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; 31705 :>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; 565544:>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; 71 :>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; 639275:>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; 3580 :>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; 582190:>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; 40 :>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; 57442 :>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; 364089:>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; 9460 :>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; 274103:>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; 12 :>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; 101879:>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; 800928:>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; 57 :>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; 37605 :>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; 5107855:>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; 350576:>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; 1064293:>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; 913272:>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; 17114835:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; d=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1 /\ (y=2 \/ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ d=1) \/ 2:ECX=1 /\ 2:EDX=1 /\ d=1) \/ 2:EBX=0 /\ 2:ECX=2 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (0:EBX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:EDX=0 /\ y=1 /\ (2:ECX=2 /\ (d=2 \/ d=1) \/ 2:ECX=1 /\ d=1)) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 0:EBX=0 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)) \/ 2:EBX=0 /\ 2:ECX=2 /\ 2:EDX=0 /\ d=1 /\ y=1) \/ 2:EAX=1 /\ 2:EBX=1 /\ y=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (d=2 \/ d=1) \/ 2:EDX=0 /\ (d=2 \/ d=1)) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=b3d6ccf61f4524975f73f59275b0e818 Time X025+X026-L 256.30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X027-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X026+X027-L "Fre PodWR Fre PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_b],EBX | XCHG [L_z],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV ECX,[L_c] | MOV EBX,[L_b] | MOV ECX,[L_z] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],ECX | XCHG [L_y],EBX | XCHG [L_e],ECX | XCHG [L_a],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV ECX,[L_d] | MOV EBX,[L_y] | MOV ECX,[L_e] | MOV ECX,[L_a] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV EBX,[d] | MOV EAX,[y] | MOV [e],$2 | MOV EBX,[a] ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [L_a],$0 ; Lock09: | Lock21: | Lock33: | Lock48: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_c],EBX | XCHG [L_e],ECX | XCHG [L_d],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock11 | JE Lock23 | JE Lock35 | JE Lock50 ; Lock10: | Lock22: | Lock34: | Lock49: ; MOV ECX,[L_x] | MOV EBX,[L_c] | MOV ECX,[L_e] | MOV ECX,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock09 | JE Lock21 | JE Lock33 | JE Lock48 ; JMP Lock10 | JMP Lock22 | JMP Lock34 | JMP Lock49 ; Lock11: | Lock23: | Lock35: | Lock50: ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$1 ; MOV [L_x],$0 | MOV [L_c],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; | | Lock36: | Lock51: ; | | MOV ECX,$1 | MOV ECX,$1 ; | | XCHG [L_b],ECX | XCHG [L_e],ECX ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock38 | JE Lock53 ; | | Lock37: | Lock52: ; | | MOV ECX,[L_b] | MOV ECX,[L_e] ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock36 | JE Lock51 ; | | JMP Lock37 | JMP Lock52 ; | | Lock38: | Lock53: ; | | MOV EBX,[b] | MOV [e],$1 ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r11),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r11) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r11),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r14d _litmus_P3_28_: xchgl %r14d,(%r13) _litmus_P3_29_: cmpl $0,%r14d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r13),%r14d _litmus_P3_33_: cmpl $0,%r14d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r10),%edx _litmus_P3_38_: movl $0,(%r13) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%r14d _litmus_P3_41_: xchgl %r14d,(%r12) _litmus_P3_42_: cmpl $0,%r14d _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%r12),%r14d _litmus_P3_46_: cmpl $0,%r14d _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl $1,(%r9) _litmus_P3_51_: movl $0,(%r12) _litmus_P3_52_: LitLock51: _litmus_P3_53_: movl $1,%r14d _litmus_P3_54_: xchgl %r14d,(%rbx) _litmus_P3_55_: cmpl $0,%r14d _litmus_P3_56_: je LitLock53 _litmus_P3_57_: LitLock52: _litmus_P3_58_: movl (%rbx),%r14d _litmus_P3_59_: cmpl $0,%r14d _litmus_P3_60_: je LitLock51 _litmus_P3_61_: jmp LitLock52 _litmus_P3_62_: LitLock53: _litmus_P3_63_: movl $1,(%r8) _litmus_P3_64_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%r9) _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r11) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rdi) _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r9) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r12) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r9),%eax _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r13) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r13),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r10),%edx _litmus_P2_64_: movl $0,(%r13) Test X026+X027-L Required Histogram (222 states) 6 :>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; 83 :>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; 5 :>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; 5 :>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; 5653 :>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; 142422:>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; 130 :>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; 5 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; e=1; z=1; 17800 :>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; 35 :>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; 6 :>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; 26633 :>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; 322646:>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; 102 :>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; 179 :>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; 76633 :>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; 1629332:>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; 13 :>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; 82 :>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; 14 :>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; 226 :>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; 363 :>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; 419856:>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; 36 :>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; 191 :>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; 38 :>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; 2994 :>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; 37 :>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; 1411427:>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; 754 :>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; 3 :>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; 6 :>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; 1 :>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; 119705:>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; 258723:>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; 2029 :>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; 40858 :>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; 3 :>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; 510 :>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; 3172 :>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; 19101 :>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; 4 :>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; 497 :>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; 7367 :>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; 190928:>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; 14 :>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; 149380:>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; 2935936:>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; 75236 :>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; 33164 :>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; 6374 :>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; 3882 :>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; 24712 :>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; 598196:>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; 621153:>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; 24477 :>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; 351483:>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; 8085 :>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; 224102:>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; 7219 :>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; 130290:>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; 1144224:>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; 196 :>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; 299138:>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; 43314 :>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; 1453123:>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; 27440 :>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; 895781:>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; 13666598:>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; 67 :>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; 2016247:>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; 17 :>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; 42489 :>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; 16 :>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; 425 :>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; 5302 :>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; 3 :>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; 66108 :>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; 40391 :>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; 262260:>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; 16 :>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; 38588 :>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; 235102:>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; 165 :>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; 189359:>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; 23 :>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; 1221216:>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; 2125 :>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; 2154 :>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; 494 :>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; 21 :>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; 3 :>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; 107 :>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; 235160:>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; 11114 :>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; 128392:>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; 70508 :>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; 212 :>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; 285 :>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; 128276:>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; 45525 :>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; 7096 :>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; 14090 :>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; 1360363:>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; 352488:>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; 286881:>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; 241859:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=1; 4 :>0:EAX=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; 25 :>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; 4 :>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; 197287:>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; 1160711:>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; 14 :>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; 506 :>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; 30729 :>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; 699456:>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; 108 :>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; 882 :>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; 250652:>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; 10602924:>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; 46 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 1 :>0:EAX=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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; e=2; z=1; 14 :>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; 150 :>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; 306 :>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; 24 :>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; 187841:>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; 3244 :>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; 100002:>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; 51140 :>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; 566115:>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; 3879599:>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; 36351 :>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; 840673:>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; 2279219:>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; 4945604:>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; 313906:>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; 3260423:>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; 12 :>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; 123173:>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; 390 :>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; 1892754:>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; 2235502:>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; 14 :>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; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; e=2; z=1; 768689:>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; 694955:>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; 21935 :>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; 50252 :>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; 61 :>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; 363 :>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; 3 :>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; 81 :>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; 12459 :>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; 528202:>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; 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=2; 6470 :>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; 57 :>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; 52541 :>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; 923 :>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; 156 :>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; 96 :>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; 1181397:>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; 5913652:>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; 15571 :>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; 814070:>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; 18 :>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; 377 :>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; 7703 :>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; 18882 :>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; 65 :>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; 8859 :>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; 32238 :>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; 785571:>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; 73 :>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; 574415:>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; 13548230:>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; 618005:>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; 44 :>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; 12 :>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; 410561:>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; 105 :>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; 6766 :>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; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; e=1; z=2; 47999 :>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; 43 :>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; 633303:>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; 316888:>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; 149934:>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; 184 :>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; 60 :>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; 48 :>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; 779 :>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; 1167569:>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; 61212 :>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; 2626226:>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; 831362:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=1; z=2; 18 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; c=1; e=2; z=2; 86 :>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; 5 :>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; 336 :>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; 124 :>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; 17 :>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; 12 :>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; 7 :>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; 318 :>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; 216 :>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; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; e=2; z=2; 167 :>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; 19 :>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; 3 :>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; 279 :>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; 9 :>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; 4 :>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; 5 :>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; 3 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; e=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ e=1 /\ (z=2 \/ z=1) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ e=1 \/ c=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ c=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (c=2 /\ (e=2 \/ e=1) \/ c=1 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 3:EAX=2 /\ z=1 /\ (2:EAX=2 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ (z=2 \/ z=1)) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (e=2 \/ e=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (e=2 \/ e=1)) \/ 2:EAX=1 /\ e=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (z=2 \/ z=1) \/ 3:EBX=0 /\ z=1) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1))))) is validated Hash=0651e31e65120b44f3c5f76cc4d8f72d Time X026+X027-L 285.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X028-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X027+X028-L "Fre PodWW Wse PodWR Fre PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV EAX,[L_a] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_d],EBX | XCHG [L_c],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV EAX,[L_b] | MOV EBX,[L_d] | MOV ECX,[L_c] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [b],$2 | MOV [d],$1 | MOV [c],$2 | MOV EAX,[z] ; MOV [L_b],$0 | MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],EAX | XCHG [L_y],EBX | XCHG [L_c],ECX | XCHG [L_a],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV EAX,[L_c] | MOV EBX,[L_y] | MOV ECX,[L_c] | MOV ECX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV [c],$1 | MOV EAX,[y] | MOV EAX,[c] | MOV EBX,[a] ; MOV [L_c],$0 | MOV [L_y],$0 | MOV [L_c],$0 | MOV [L_a],$0 ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_x],EAX | XCHG [L_b],EBX | XCHG [L_d],ECX | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_b] | MOV ECX,[L_d] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV [b],$1 | MOV EBX,[d] | ; MOV [L_x],$0 | MOV [L_b],$0 | MOV [L_d],$0 | ; | | Lock36: | ; | | MOV ECX,$1 | ; | | XCHG [L_z],ECX | ; | | CMP ECX,$0 | ; | | JE Lock38 | ; | | Lock37: | ; | | MOV ECX,[L_z] | ; | | CMP ECX,$0 | ; | | JE Lock36 | ; | | JMP Lock37 | ; | | Lock38: | ; | | MOV [z],$1 | ; | | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%rdi) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rax) _litmus_P0_51_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%r8) _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r10) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r13) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r13),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r10),%eax _litmus_P2_38_: movl $0,(%r13) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r12) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r9),%edx _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r11) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r11),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl $1,(%rdi) _litmus_P2_64_: movl $0,(%r11) Test X027+X028-L Required Histogram (100 states) 5800 :>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; 8299 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 6702808:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 7027 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 500706:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 47006 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 6281547:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=1; 1211 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 1742039:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 15 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3102 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 3780 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 189977:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=1; z=1; 54736 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 10389784:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 34298 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 2299055:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 234203:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 14069254:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=1; 57284 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 6445 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 22621 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; b=2; c=1; x=1; z=1; 1814797:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 147453:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 1967 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 2940578:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 4771708:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=1; 150045:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 103 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 105714:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 196425:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=1; x=1; z=1; 364379:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 201657:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 2024 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 2606567:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 1484208:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=1; 42213 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1449084:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 1781917:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=1; z=1; 20848 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 7037 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 31401 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=1; z=1; 559575:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 7942119:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 13609402:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=1; 1046503:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 38 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=2; x=1; z=1; 2819 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=2; c=2; x=1; z=1; 2308455:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 56 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=1; 294 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=0; b=1; c=1; x=2; z=1; 21408 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 477615:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 2602 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 5 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=1; 4557 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 90089 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 4 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=1; x=2; z=1; 95530 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 730987:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 6432 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 12 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=1; 264855:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 63651 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 341948:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=2; x=2; z=1; 83485 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 204 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 6540 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; b=1; c=2; x=2; z=1; 2737287:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 529309:>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 3268295:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=1; 66304 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 12 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=1; c=1; x=1; z=2; 370 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 3119558:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 31 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 2853 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 1029 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 85063 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=1; x=1; z=2; 307857:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 17181 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 78974 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; b=2; c=1; x=1; z=2; 665339:>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 239 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 90037 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 242970:>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=1; x=1; z=2; 4453 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 10405 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 22520 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=1; z=2; 4324 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=2; c=2; x=1; z=2; 1800 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=0; b=1; c=1; x=2; z=2; 3086 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=1; x=2; z=2; 240720:>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; 54522 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 399 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; 4746 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; b=1; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ z=1 \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EBX=0 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (b=2 /\ c=1 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ c=1 /\ x=1 \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EBX=0 /\ c=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=1 /\ c=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (z=2 \/ z=1) \/ b=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 /\ x=1 \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (x=2 \/ x=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=2 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 /\ (z=2 \/ z=1) \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (b=2 /\ x=1 /\ (c=2 /\ z=1 \/ c=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (b=2 /\ x=1 /\ (c=2 \/ c=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)) \/ 3:EBX=0 /\ c=1 /\ x=1 /\ (b=2 \/ b=1))) \/ 2:EAX=1 /\ c=1 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (b=2 /\ (z=2 \/ z=1) \/ b=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (b=2 \/ b=1)) \/ 3:EAX=1 /\ 3:EBX=1 /\ z=1 /\ (b=2 \/ b=1)))) is validated Hash=f36dc129883763b8ffdc28160ec00fab Time X027+X028-L 259.43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X029-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X028+X029-L "Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock42: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_d],ESI | XCHG [L_c],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock44 ; Lock01: | Lock13: | Lock25: | Lock43: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV ESI,[L_d] | MOV EAX,[L_c] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock42 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock43 ; Lock02: | Lock14: | Lock26: | Lock44: ; MOV [b],$1 | MOV [x],$2 | MOV [d],$2 | MOV [c],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock45: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_z],EAX | XCHG [L_a],EBX | XCHG [L_y],ESI | XCHG [L_d],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock47 ; Lock04: | Lock16: | Lock28: | Lock46: ; MOV EAX,[L_z] | MOV EBX,[L_a] | MOV ESI,[L_y] | MOV EAX,[L_d] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock45 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock46 ; Lock05: | Lock17: | Lock29: | Lock47: ; MOV [z],$1 | MOV [a],$1 | MOV [y],$2 | MOV [d],$1 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_c],EAX | XCHG [L_b],EBX | XCHG [L_d],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EBX,[L_b] | MOV ESI,[L_d] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV EAX,[b] | MOV ECX,[d] | ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_a],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ESI,[L_a] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV [y],$1 | MOV EDX,[a] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_a],$0 | ; | | Lock36: | ; | | MOV ESI,$1 | ; | | XCHG [L_y],ESI | ; | | CMP ESI,$0 | ; | | JE Lock38 | ; | | Lock37: | ; | | MOV ESI,[L_y] | ; | | CMP ESI,$0 | ; | | JE Lock36 | ; | | JMP Lock37 | ; | | Lock38: | ; | | MOV EAX,[y] | ; | | MOV [L_y],$0 | ; | | Lock39: | ; | | MOV ESI,$1 | ; | | XCHG [L_z],ESI | ; | | CMP ESI,$0 | ; | | JE Lock41 | ; | | Lock40: | ; | | MOV ESI,[L_z] | ; | | CMP ESI,$0 | ; | | JE Lock39 | ; | | JMP Lock40 | ; | | Lock41: | ; | | MOV EBX,[z] | ; | | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P3_0_: LitLock42: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock44 _litmus_P3_5_: LitLock43: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock42 _litmus_P3_9_: jmp LitLock43 _litmus_P3_10_: LitLock44: _litmus_P3_11_: movl $2,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock45: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock47 _litmus_P3_18_: LitLock46: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock45 _litmus_P3_22_: jmp LitLock46 _litmus_P3_23_: LitLock47: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r9) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r9),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r12) _litmus_P2_12_: movl $0,(%r9) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rax) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rax),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r15) _litmus_P2_25_: movl $0,(%rax) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%edi _litmus_P2_28_: xchgl %edi,(%r9) _litmus_P2_29_: cmpl $0,%edi _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r9),%edi _litmus_P2_33_: cmpl $0,%edi _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r12),%ebx _litmus_P2_38_: movl $0,(%r9) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%edi _litmus_P2_41_: xchgl %edi,(%r8) _litmus_P2_42_: cmpl $0,%edi _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r8),%edi _litmus_P2_46_: cmpl $0,%edi _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r13),%esi _litmus_P2_51_: movl $0,(%r8) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%edi _litmus_P2_54_: xchgl %edi,(%rax) _litmus_P2_55_: cmpl $0,%edi _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%rax),%edi _litmus_P2_59_: cmpl $0,%edi _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r15),%edx _litmus_P2_64_: movl $0,(%rax) _litmus_P2_65_: LitLock39: _litmus_P2_66_: movl $1,%edi _litmus_P2_67_: xchgl %edi,(%r14) _litmus_P2_68_: cmpl $0,%edi _litmus_P2_69_: je LitLock41 _litmus_P2_70_: LitLock40: _litmus_P2_71_: movl (%r14),%edi _litmus_P2_72_: cmpl $0,%edi _litmus_P2_73_: je LitLock39 _litmus_P2_74_: jmp LitLock40 _litmus_P2_75_: LitLock41: _litmus_P2_76_: movl (%r11),%ecx _litmus_P2_77_: movl $0,(%r14) Test X028+X029-L Required Histogram (116 states) 74 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 109351:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 971717:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 129 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 30 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 14 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 1747554:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=1; y=1; 320 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 1372005:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 9371403:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 747 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 741 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 206 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 6056855:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=1; y=1; 347034:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 25 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 101630:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 145468:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1044319:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 10789757:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 26201 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 2879837:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=1; 1105041:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 193 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 269490:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 282054:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 609821:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 3977918:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 18575 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 2703970:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=1; 4119 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=1; y=1; 2298 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 121287:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 6 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 585 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 6 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 897571:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=1; y=1; 13 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 557412:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 42722 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=1; 2898 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 750 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 861 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 5596 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 1383298:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 434 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 445239:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=1; 122 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 196279:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1275259:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 174 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 68 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 24 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 1513336:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=1; y=1; 477046:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 103 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 112302:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 133128:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 325889:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 8806225:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 26435 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 3633778:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=1; 201 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=1; y=1; 41687 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 10164 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=1; 40804 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 539663:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=1; d=1; x=2; y=1; 156752:>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 275685:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=1; x=2; y=1; 85886 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 31519 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=1; 5342 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 2055 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=1; 2 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 130075:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=0; c=2; d=1; x=2; y=1; 34864 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 107 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 1492210:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=1; x=2; y=1; 496743:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 115069:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=1; 284584:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 89314 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=1; 92560 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 19 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 1387597:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=1; d=2; x=2; y=1; 829114:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 286158:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=1; 29172 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=0; c=2; d=2; x=2; y=1; 176824:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 56217 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=1; 107734:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 1749092:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 652778:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=1; y=2; 578898:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 39 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 349613:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 97319 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=1; y=2; 21325 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 639324:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=1; y=2; 2665 :>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 59079 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 274963:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=1; y=2; 788003:>1:EAX=0; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 41 :>1:EAX=1; 2:EAX=2; 2:EBX=0; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 5085297:>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 16442374:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=1; y=2; 36052 :>1:EAX=0; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 1228293:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=1; y=2; 78 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=1; d=1; x=2; y=2; 19 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=1; x=2; y=2; 34232 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=1; 2:EDX=1; c=2; d=1; x=2; y=2; 10624 :>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=1; x=2; y=2; 934053:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=1; d=2; x=2; y=2; 319973:>1:EAX=1; 2:EAX=2; 2:EBX=1; 2:ECX=2; 2:EDX=1; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ x=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ x=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (c=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ x=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 /\ (y=2 \/ y=1) \/ c=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ c=1 /\ y=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 /\ (y=2 \/ y=1) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 2:EDX=0 /\ y=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1))) \/ 2:EAX=1 /\ y=1 /\ (2:EBX=1 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ (d=2 \/ d=1) \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ d=1 /\ (2:EDX=1 /\ (c=2 \/ c=1) \/ 2:EDX=0 /\ c=1)) \/ 2:EBX=0 /\ (2:ECX=2 /\ (2:EDX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 2:EDX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1))) \/ 2:ECX=1 /\ c=1 /\ d=1 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=2316d383b9e5f2f18ab86d6733b64310 Time X028+X029-L 261.06 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X030-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X029+X030-L "Fre PodWR Fre PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock41 ; Lock01: | Lock13: | Lock25: | Lock40: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock39 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock40 ; Lock02: | Lock14: | Lock26: | Lock41: ; MOV [a],$1 | MOV [x],$1 | MOV [y],$2 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],EBX | XCHG [L_b],EAX | XCHG [L_z],ECX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock44 ; Lock04: | Lock16: | Lock28: | Lock43: ; MOV EBX,[L_c] | MOV EAX,[L_b] | MOV ECX,[L_z] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock42 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock43 ; Lock05: | Lock17: | Lock29: | Lock44: ; MOV [c],$2 | MOV [b],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; Lock06: | Lock18: | Lock30: | Lock45: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],EBX | XCHG [L_y],EAX | XCHG [L_e],ECX | XCHG [L_a],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock47 ; Lock07: | Lock19: | Lock31: | Lock46: ; MOV EBX,[L_d] | MOV EAX,[L_y] | MOV ECX,[L_e] | MOV ECX,[L_a] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock45 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock46 ; Lock08: | Lock20: | Lock32: | Lock47: ; MOV [d],$1 | MOV [y],$1 | MOV [e],$2 | MOV EBX,[a] ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_e],$0 | MOV [L_a],$0 ; Lock09: | Lock21: | Lock33: | Lock48: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],EBX | XCHG [L_c],EAX | XCHG [L_e],ECX | XCHG [L_d],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock11 | JE Lock23 | JE Lock35 | JE Lock50 ; Lock10: | Lock22: | Lock34: | Lock49: ; MOV EBX,[L_x] | MOV EAX,[L_c] | MOV ECX,[L_e] | MOV ECX,[L_d] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock09 | JE Lock21 | JE Lock33 | JE Lock48 ; JMP Lock10 | JMP Lock22 | JMP Lock34 | JMP Lock49 ; Lock11: | Lock23: | Lock35: | Lock50: ; MOV EAX,[x] | MOV [c],$1 | MOV EAX,[e] | MOV [d],$2 ; MOV [L_x],$0 | MOV [L_c],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; | | Lock36: | Lock51: ; | | MOV ECX,$1 | MOV ECX,$1 ; | | XCHG [L_b],ECX | XCHG [L_e],ECX ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock38 | JE Lock53 ; | | Lock37: | Lock52: ; | | MOV ECX,[L_b] | MOV ECX,[L_e] ; | | CMP ECX,$0 | CMP ECX,$0 ; | | JE Lock36 | JE Lock51 ; | | JMP Lock37 | JMP Lock52 ; | | Lock38: | Lock53: ; | | MOV EBX,[b] | MOV [e],$1 ; | | MOV [L_b],$0 | MOV [L_e],$0 ; forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) Generated assembler _litmus_P3_0_: LitLock39: _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r11) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock41 _litmus_P3_5_: LitLock40: _litmus_P3_6_: movl (%r11),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock39 _litmus_P3_9_: jmp LitLock40 _litmus_P3_10_: LitLock41: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r11) _litmus_P3_13_: LitLock42: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%r11) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock44 _litmus_P3_18_: LitLock43: _litmus_P3_19_: movl (%r11),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock42 _litmus_P3_22_: jmp LitLock43 _litmus_P3_23_: LitLock44: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r11) _litmus_P3_26_: LitLock45: _litmus_P3_27_: movl $1,%r14d _litmus_P3_28_: xchgl %r14d,(%r13) _litmus_P3_29_: cmpl $0,%r14d _litmus_P3_30_: je LitLock47 _litmus_P3_31_: LitLock46: _litmus_P3_32_: movl (%r13),%r14d _litmus_P3_33_: cmpl $0,%r14d _litmus_P3_34_: je LitLock45 _litmus_P3_35_: jmp LitLock46 _litmus_P3_36_: LitLock47: _litmus_P3_37_: movl (%r10),%edx _litmus_P3_38_: movl $0,(%r13) _litmus_P3_39_: LitLock48: _litmus_P3_40_: movl $1,%r14d _litmus_P3_41_: xchgl %r14d,(%r12) _litmus_P3_42_: cmpl $0,%r14d _litmus_P3_43_: je LitLock50 _litmus_P3_44_: LitLock49: _litmus_P3_45_: movl (%r12),%r14d _litmus_P3_46_: cmpl $0,%r14d _litmus_P3_47_: je LitLock48 _litmus_P3_48_: jmp LitLock49 _litmus_P3_49_: LitLock50: _litmus_P3_50_: movl $2,(%r9) _litmus_P3_51_: movl $0,(%r12) _litmus_P3_52_: LitLock51: _litmus_P3_53_: movl $1,%r14d _litmus_P3_54_: xchgl %r14d,(%rbx) _litmus_P3_55_: cmpl $0,%r14d _litmus_P3_56_: je LitLock53 _litmus_P3_57_: LitLock52: _litmus_P3_58_: movl (%rbx),%r14d _litmus_P3_59_: cmpl $0,%r14d _litmus_P3_60_: je LitLock51 _litmus_P3_61_: jmp LitLock52 _litmus_P3_62_: LitLock53: _litmus_P3_63_: movl $1,(%r8) _litmus_P3_64_: movl $0,(%rbx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rsi) _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r9) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r11) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r11),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rdi) _litmus_P2_25_: movl $0,(%r11) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r9) _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r12) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r12),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%r9),%eax _litmus_P2_51_: movl $0,(%r12) _litmus_P2_52_: LitLock36: _litmus_P2_53_: movl $1,%r14d _litmus_P2_54_: xchgl %r14d,(%r13) _litmus_P2_55_: cmpl $0,%r14d _litmus_P2_56_: je LitLock38 _litmus_P2_57_: LitLock37: _litmus_P2_58_: movl (%r13),%r14d _litmus_P2_59_: cmpl $0,%r14d _litmus_P2_60_: je LitLock36 _litmus_P2_61_: jmp LitLock37 _litmus_P2_62_: LitLock38: _litmus_P2_63_: movl (%r10),%edx _litmus_P2_64_: movl $0,(%r13) Test X029+X030-L Required Histogram (227 states) 5 :>0:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; d=1; e=1; y=1; z=1; 103 :>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; 6945 :>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; 148858:>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; 173 :>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; 19357 :>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; 31801 :>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; 324225:>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; 78547 :>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; 1438620:>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; 273 :>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; 416913:>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; 42 :>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; 1165283:>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; 9 :>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; 3 :>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; 3945 :>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; 39009 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 756 :>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; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=1; e=1; y=1; z=1; 77195 :>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; 9276 :>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; 34550 :>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; 37687 :>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; 279910:>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; 393 :>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; 342671:>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; 134 :>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; 1600048:>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; 11 :>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; 39513 :>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; 519 :>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; 82367 :>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; 33422 :>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; 218136:>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; 263833:>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; 1142791:>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; 1611 :>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; 252 :>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; 78788 :>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; 1 :>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; 244 :>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; 20823 :>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; 248844:>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; 5 :>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; 7 :>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; 12 :>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; 26 :>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; 141 :>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; 184 :>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; 13 :>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; 266 :>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; 39 :>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; 3282 :>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; 622 :>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; 2 :>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; 128919:>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; 249578:>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; 2777 :>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; 19716 :>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; 130445:>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; 3201258:>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; 41874 :>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; 6708 :>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; 619589:>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; 607320:>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; 119019:>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; 1150282:>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; 757327:>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; 14029476:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=1; z=1; 5 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=2; e=1; y=1; z=1; 2 :>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; 43 :>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; 1644 :>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; 16 :>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; 147530:>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; 216 :>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; 8099 :>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; 318821:>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; 9 :>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; 244027:>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; 1274103:>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; 265188:>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; 10658934:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=2; y=1; z=1; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; d=1; e=2; y=1; z=1; 10 :>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; 127772:>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; 67374 :>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; 366459:>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; 3440569:>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; 10 :>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; 113632:>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; 2410899:>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; 76265 :>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; 37 :>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; 1 :>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; 140 :>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; 1132 :>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; 41 :>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; 134 :>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; 401 :>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; 215725:>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; 3564 :>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; 2221509:>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; 5054259:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=1; z=1; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=2; y=1; z=1; 1 :>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; 28081 :>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; 76 :>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; 166 :>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; 34 :>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; 5625 :>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; 17950 :>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; 13 :>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; 6648 :>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; 35954 :>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; 177059:>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; 32 :>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; 11446 :>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; 46586 :>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; 272634:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=1; e=1; y=2; z=1; 10 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=2; e=1; y=2; z=1; 53 :>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; 3 :>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; 461 :>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; 4675 :>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; 196708:>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; 5037 :>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; 232516:>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; 26703 :>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; 1513764:>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; 24 :>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; 200 :>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; 427 :>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; 238520:>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; 122512:>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; 1358274:>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; 31194 :>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; 720943:>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; 41392 :>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; 811513:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=2; z=1; 1 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; d=1; e=2; y=2; z=1; 1868923:>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; 2 :>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; 760606:>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; 11 :>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; 707 :>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; 8 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; d=2; e=2; y=2; z=1; 502605:>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; 4077949:>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; 328 :>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; 20 :>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; 701502:>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; 71 :>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; 353 :>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; 15560 :>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; 539129:>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; 7384 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 1 :>0:EAX=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=1; d=1; e=1; y=1; z=2; 58927 :>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; 134 :>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; 38 :>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; 23955 :>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; 721882:>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; 91 :>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; 10960 :>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; 5 :>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; 567841:>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; 45 :>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; 387967:>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; 7762 :>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; 635825:>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; 132848:>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; 1256 :>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; 809538:>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; 5 :>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; 77 :>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; 61 :>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; 789 :>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; 3 :>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; 1047549:>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; 5728206:>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; 7330 :>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; 18634 :>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; 460827:>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; 13757815:>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; 8 :>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; 33 :>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; 304101:>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; 20 :>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; 2590246:>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; 77 :>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; 1 :>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; 388 :>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; 17 :>0:EAX=0; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=0; 3:EAX=2; 3:EBX=1; c=1; d=1; e=2; y=1; z=2; 13 :>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; 184 :>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; 23 :>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; 332 :>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; 6 :>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; 150 :>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; 313 :>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; 283 :>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; 4 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=1; z=2; 1 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=1; 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=1; y=2; z=2; 91 :>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; 48698 :>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; 127 :>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; 57259 :>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; 14 :>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; 349 :>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; 19116 :>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; 788721:>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=1; y=2; z=2; 3 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=0; c=2; d=2; e=1; y=2; z=2; 145 :>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; 1151024:>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=2; d=1; e=2; y=2; z=2; 3 :>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=0; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=1; d=2; e=2; y=2; z=2; 15 :>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; 14 :>0:EAX=1; 2:EAX=2; 2:EBX=1; 3:EAX=2; 3:EBX=1; c=2; d=2; e=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ e=1 \/ d=1 /\ (e=2 \/ e=1)) \/ c=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ c=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (c=2 /\ d=1 /\ (z=2 \/ z=1) \/ c=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)) \/ 3:EBX=0 /\ (c=2 /\ d=1 \/ c=1 /\ (d=2 \/ d=1)))))) \/ 0:EAX=0 /\ c=1 /\ (2:EAX=2 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ d=1 /\ (e=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (y=2 \/ y=1) \/ e=1 /\ (y=2 \/ y=1)) \/ d=1 /\ y=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ y=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (d=2 /\ (e=2 \/ e=1) \/ d=1 /\ (e=2 \/ e=1))))) \/ 2:EAX=1 /\ e=1 /\ (2:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 /\ (y=2 \/ y=1) \/ d=1 /\ y=1) \/ 3:EBX=0 /\ y=1 /\ (d=2 \/ d=1))) \/ 2:EBX=0 /\ y=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (d=2 /\ (z=2 \/ z=1) \/ d=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))))) is validated Hash=d942c66eb8627bc37842b77c402a7dc4 Time X029+X030-L 291.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X031-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X030+X031-L "Fre PodWW Wse PodWW Wse PodWW Wse Rfi PodRR+Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_d],ECX | XCHG [L_x],ECX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV ECX,[L_d] | MOV ECX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [d],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_d],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock33: ; MOV ECX,$1 | MOV ECX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_y],ECX | XCHG [L_z],EAX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock04: | Lock16: | Lock28: | Lock34: ; MOV ECX,[L_a] | MOV ECX,[L_y] | MOV EAX,[L_z] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP ECX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock05: | Lock17: | Lock29: | Lock35: ; MOV [a],$1 | MOV [y],$1 | MOV [z],$1 | MOV EAX,[z] ; MOV [L_a],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_z],$0 ; MOV [e],$1 | Lock18: | | Lock36: ; MOV EAX,[e] | MOV ECX,$1 | | MOV ECX,$1 ; Lock06: | XCHG [L_b],ECX | | XCHG [L_a],ECX ; MOV ECX,$1 | CMP ECX,$0 | | CMP ECX,$0 ; XCHG [L_x],ECX | JE Lock20 | | JE Lock38 ; CMP ECX,$0 | Lock19: | | Lock37: ; JE Lock08 | MOV ECX,[L_b] | | MOV ECX,[L_a] ; Lock07: | CMP ECX,$0 | | CMP ECX,$0 ; MOV ECX,[L_x] | JE Lock18 | | JE Lock36 ; CMP ECX,$0 | JMP Lock19 | | JMP Lock37 ; JE Lock06 | Lock20: | | Lock38: ; JMP Lock07 | MOV [b],$1 | | MOV EBX,[a] ; Lock08: | MOV [L_b],$0 | | MOV [L_a],$0 ; MOV [x],$1 | MOV [c],$1 | | ; MOV [L_x],$0 | MOV EAX,[c] | | ; Lock09: | Lock21: | | ; MOV ECX,$1 | MOV ECX,$1 | | ; XCHG [L_b],ECX | XCHG [L_d],ECX | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV ECX,[L_b] | MOV ECX,[L_d] | | ; CMP ECX,$0 | CMP ECX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV EBX,[b] | MOV EBX,[d] | | ; MOV [L_b],$0 | MOV [L_d],$0 | | ; forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%r11d _litmus_P3_2_: xchgl %r11d,(%r9) _litmus_P3_3_: cmpl $0,%r11d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r9),%r11d _litmus_P3_7_: cmpl $0,%r11d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r9) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r11d _litmus_P3_15_: xchgl %r11d,(%r9) _litmus_P3_16_: cmpl $0,%r11d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r9),%r11d _litmus_P3_20_: cmpl $0,%r11d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%rdi),%eax _litmus_P3_25_: movl $0,(%r9) _litmus_P3_26_: LitLock36: _litmus_P3_27_: movl $1,%r11d _litmus_P3_28_: xchgl %r11d,(%r10) _litmus_P3_29_: cmpl $0,%r11d _litmus_P3_30_: je LitLock38 _litmus_P3_31_: LitLock37: _litmus_P3_32_: movl (%r10),%r11d _litmus_P3_33_: cmpl $0,%r11d _litmus_P3_34_: je LitLock36 _litmus_P3_35_: jmp LitLock37 _litmus_P3_36_: LitLock38: _litmus_P3_37_: movl (%r8),%edx _litmus_P3_38_: movl $0,(%r10) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r12) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r14) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: movl $1,(%r8) _litmus_P0_27_: movl (%r8),%eax _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%r15d _litmus_P0_30_: xchgl %r15d,(%rbx) _litmus_P0_31_: cmpl $0,%r15d _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rbx),%r15d _litmus_P0_35_: cmpl $0,%r15d _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl $1,(%rdi) _litmus_P0_40_: movl $0,(%rbx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r13) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r13),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%edx _litmus_P0_53_: movl $0,(%r13) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r8) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%rbx) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r15d _litmus_P1_28_: xchgl %r15d,(%r14) _litmus_P1_29_: cmpl $0,%r15d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r14),%r15d _litmus_P1_33_: cmpl $0,%r15d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r11) _litmus_P1_38_: movl $0,(%r14) _litmus_P1_39_: movl $1,(%r10) _litmus_P1_40_: movl (%r10),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%r13) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r13),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%edx _litmus_P1_53_: movl $0,(%r13) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X030+X031-L Required Histogram (54 states) 276124:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 74807 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 863747:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 2786451:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 3840579:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 21142645:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=1; 17328 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 926654:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 2296428:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 5618 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 4297488:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 5830652:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=1; 107604:>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; 3810726:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 247 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=1; 1002913:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 145 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 6347302:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 1042 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=1; 30490 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3208 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 3355569:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 119693:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 6225653:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=1; 194178:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 40427 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 563527:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 692427:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 1090542:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 6904429:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=1; 15819 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 21 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=2; z=1; 14100 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 28 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 473722:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 1141 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=1; 2527637:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 525212:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 6402505:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=1; z=2; 303401:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 3112471:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 7955867:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=1; z=2; 650429:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 27 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=2; y=1; z=2; 3722965:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 2688 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=1; z=2; 122320:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 13753 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=0; x=1; y=2; z=2; 338318:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 90522 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 846921:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=1; y=2; z=2; 31457 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; 30 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 3:EAX=2; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 1:EBX=0 /\ x=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (y=2 \/ y=1) \/ 3:EBX=0 /\ (y=2 \/ y=1)))) \/ 0:EBX=0 /\ 1:EBX=1 /\ (3:EAX=2 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=1 /\ z=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))))) is validated Hash=3fe1dd0f43637bdb2371a488e711d5de Time X030+X031-L 244.92 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X032-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X031+X032-L "Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ESI,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_d],ESI | XCHG [L_y],EDX | XCHG [L_f],ECX ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ESI,[L_d] | MOV EDX,[L_y] | MOV ECX,[L_f] ; CMP ESI,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [d],$1 | MOV [y],$1 | MOV [f],$1 ; MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; MOV [e],$1 | MOV [z],$1 | MOV [b],$1 ; Lock03: | MOV EAX,[z] | MOV EAX,[b] ; MOV ESI,$1 | Lock15: | Lock27: ; XCHG [L_a],ESI | MOV EDX,$1 | MOV ECX,$1 ; CMP ESI,$0 | XCHG [L_a],EDX | XCHG [L_c],ECX ; JE Lock05 | CMP EDX,$0 | CMP ECX,$0 ; Lock04: | JE Lock17 | JE Lock29 ; MOV ESI,[L_a] | Lock16: | Lock28: ; CMP ESI,$0 | MOV EDX,[L_a] | MOV ECX,[L_c] ; JE Lock03 | CMP EDX,$0 | CMP ECX,$0 ; JMP Lock04 | JE Lock15 | JE Lock27 ; Lock05: | JMP Lock16 | JMP Lock28 ; MOV [a],$1 | Lock17: | Lock29: ; MOV [L_a],$0 | MOV EBX,[a] | MOV EBX,[c] ; MOV [x],$1 | MOV [L_a],$0 | MOV [L_c],$0 ; MOV ECX,[e] | Lock18: | ; MOV EAX,[x] | MOV EDX,$1 | ; Lock06: | XCHG [L_c],EDX | ; MOV ESI,$1 | CMP EDX,$0 | ; XCHG [L_f],ESI | JE Lock20 | ; CMP ESI,$0 | Lock19: | ; JE Lock08 | MOV EDX,[L_c] | ; Lock07: | CMP EDX,$0 | ; MOV ESI,[L_f] | JE Lock18 | ; CMP ESI,$0 | JMP Lock19 | ; JE Lock06 | Lock20: | ; JMP Lock07 | MOV [c],$1 | ; Lock08: | MOV [L_c],$0 | ; MOV EDX,[f] | Lock21: | ; MOV [L_f],$0 | MOV EDX,$1 | ; Lock09: | XCHG [L_d],EDX | ; MOV ESI,$1 | CMP EDX,$0 | ; XCHG [L_y],ESI | JE Lock23 | ; CMP ESI,$0 | Lock22: | ; JE Lock11 | MOV EDX,[L_d] | ; Lock10: | CMP EDX,$0 | ; MOV ESI,[L_y] | JE Lock21 | ; CMP ESI,$0 | JMP Lock22 | ; JE Lock09 | Lock23: | ; JMP Lock10 | MOV ECX,[d] | ; Lock11: | MOV [L_d],$0 | ; MOV EBX,[y] | | ; MOV [L_y],$0 | | ; forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%rcx) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rcx),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rcx) _litmus_P0_13_: movl $1,(%r9) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r15d _litmus_P0_16_: xchgl %r15d,(%rdx) _litmus_P0_17_: cmpl $0,%r15d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rdx),%r15d _litmus_P0_21_: cmpl $0,%r15d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%rbp) _litmus_P0_26_: movl $0,(%rdx) _litmus_P0_27_: movl $1,(%r11) _litmus_P0_28_: movl (%r9),%r13d _litmus_P0_29_: movl (%r11),%esi _litmus_P0_30_: LitLock06: _litmus_P0_31_: movl $1,%r15d _litmus_P0_32_: xchgl %r15d,(%rbx) _litmus_P0_33_: cmpl $0,%r15d _litmus_P0_34_: je LitLock08 _litmus_P0_35_: LitLock07: _litmus_P0_36_: movl (%rbx),%r15d _litmus_P0_37_: cmpl $0,%r15d _litmus_P0_38_: je LitLock06 _litmus_P0_39_: jmp LitLock07 _litmus_P0_40_: LitLock08: _litmus_P0_41_: movl (%r10),%r14d _litmus_P0_42_: movl $0,(%rbx) _litmus_P0_43_: LitLock09: _litmus_P0_44_: movl $1,%r15d _litmus_P0_45_: xchgl %r15d,(%rdi) _litmus_P0_46_: cmpl $0,%r15d _litmus_P0_47_: je LitLock11 _litmus_P0_48_: LitLock10: _litmus_P0_49_: movl (%rdi),%r15d _litmus_P0_50_: cmpl $0,%r15d _litmus_P0_51_: je LitLock09 _litmus_P0_52_: jmp LitLock10 _litmus_P0_53_: LitLock11: _litmus_P0_54_: movl (%rax),%r12d _litmus_P0_55_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r13) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: movl $1,(%r9) _litmus_P1_14_: movl (%r9),%ecx _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r12) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r12),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%rdx),%ebx _litmus_P1_27_: movl $0,(%r12) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edi _litmus_P1_30_: xchgl %edi,(%rax) _litmus_P1_31_: cmpl $0,%edi _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rax),%edi _litmus_P1_35_: cmpl $0,%edi _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r15) _litmus_P1_40_: movl $0,(%rax) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r14) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r14),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r11),%esi _litmus_P1_53_: movl $0,(%r14) Test X031+X032-L Required Histogram (15 states) 4214759:>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; 11 :>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; 22832353:>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; 2394787:>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; 1033966:>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; 5488326:>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; 33377427:>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; 214575:>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; 6058528:>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; 1642665:>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; 16187975:>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; 1037233:>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; 4031662:>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; 252 :>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; 1485481:>0:EAX=1; 0:EBX=1; 0:ECX=1; 0:EDX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 0:ECX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (0:EDX=1 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EDX=0 /\ (1:EBX=1 /\ 1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EBX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EDX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EDX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=a54b01d7e0c2f445716116b25e3595e2 Time X031+X032-L 200.81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X033-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X032+X033-L "Fre PodWR Fre PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EDX,$1 | MOV ECX,$1 | MOV ESI,$1 ; XCHG [L_e],EDX | XCHG [L_x],ECX | XCHG [L_g],ESI ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EDX,[L_e] | MOV ECX,[L_x] | MOV ESI,[L_g] ; CMP EDX,$0 | CMP ECX,$0 | CMP ESI,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 ; MOV [f],$1 | Lock15: | MOV [c],$1 ; Lock03: | MOV ECX,$1 | MOV ECX,[c] ; MOV EDX,$1 | XCHG [L_d],ECX | Lock27: ; XCHG [L_b],EDX | CMP ECX,$0 | MOV ESI,$1 ; CMP EDX,$0 | JE Lock17 | XCHG [L_d],ESI ; JE Lock05 | Lock16: | CMP ESI,$0 ; Lock04: | MOV ECX,[L_d] | JE Lock29 ; MOV EDX,[L_b] | CMP ECX,$0 | Lock28: ; CMP EDX,$0 | JE Lock15 | MOV ESI,[L_d] ; JE Lock03 | JMP Lock16 | CMP ESI,$0 ; JMP Lock04 | Lock17: | JE Lock27 ; Lock05: | MOV [d],$1 | JMP Lock28 ; MOV [b],$1 | MOV [L_d],$0 | Lock29: ; MOV [L_b],$0 | MOV [y],$1 | MOV EDX,[d] ; MOV EBX,[f] | Lock18: | MOV [L_d],$0 ; Lock06: | MOV ECX,$1 | Lock30: ; MOV EDX,$1 | XCHG [L_e],ECX | MOV ESI,$1 ; XCHG [L_x],EDX | CMP ECX,$0 | XCHG [L_z],ESI ; CMP EDX,$0 | JE Lock20 | CMP ESI,$0 ; JE Lock08 | Lock19: | JE Lock32 ; Lock07: | MOV ECX,[L_e] | Lock31: ; MOV EDX,[L_x] | CMP ECX,$0 | MOV ESI,[L_z] ; CMP EDX,$0 | JE Lock18 | CMP ESI,$0 ; JE Lock06 | JMP Lock19 | JE Lock30 ; JMP Lock07 | Lock20: | JMP Lock31 ; Lock08: | MOV [e],$1 | Lock32: ; MOV EAX,[x] | MOV [L_e],$0 | MOV [z],$1 ; MOV [L_x],$0 | MOV EAX,[y] | MOV [L_z],$0 ; Lock09: | Lock21: | MOV [a],$1 ; MOV EDX,$1 | MOV ECX,$1 | MOV EAX,[a] ; XCHG [L_g],EDX | XCHG [L_z],ECX | Lock33: ; CMP EDX,$0 | CMP ECX,$0 | MOV ESI,$1 ; JE Lock11 | JE Lock23 | XCHG [L_b],ESI ; Lock10: | Lock22: | CMP ESI,$0 ; MOV EDX,[L_g] | MOV ECX,[L_z] | JE Lock35 ; CMP EDX,$0 | CMP ECX,$0 | Lock34: ; JE Lock09 | JE Lock21 | MOV ESI,[L_b] ; JMP Lock10 | JMP Lock22 | CMP ESI,$0 ; Lock11: | Lock23: | JE Lock33 ; MOV ECX,[g] | MOV EBX,[z] | JMP Lock34 ; MOV [L_g],$0 | MOV [L_z],$0 | Lock35: ; | | MOV EBX,[b] ; | | MOV [L_b],$0 ; forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%r13d _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%r15d _litmus_P2_17_: xchgl %r15d,(%rcx) _litmus_P2_18_: cmpl $0,%r15d _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%rcx),%r15d _litmus_P2_22_: cmpl $0,%r15d _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r10),%r14d _litmus_P2_27_: movl $0,(%rcx) _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%r15d _litmus_P2_30_: xchgl %r15d,(%rdi) _litmus_P2_31_: cmpl $0,%r15d _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rdi),%r15d _litmus_P2_35_: cmpl $0,%r15d _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%rax) _litmus_P2_40_: movl $0,(%rdi) _litmus_P2_41_: movl $1,(%rbp) _litmus_P2_42_: movl (%rbp),%esi _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%r8),%r12d _litmus_P2_55_: movl $0,(%rdx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%edi _litmus_P0_2_: xchgl %edi,(%rdx) _litmus_P0_3_: cmpl $0,%edi _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdx),%edi _litmus_P0_7_: cmpl $0,%edi _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r15) _litmus_P0_12_: movl $0,(%rdx) _litmus_P0_13_: movl $1,(%r11) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%edi _litmus_P0_16_: xchgl %edi,(%rax) _litmus_P0_17_: cmpl $0,%edi _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%rax),%edi _litmus_P0_21_: cmpl $0,%edi _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r12) _litmus_P0_26_: movl $0,(%rax) _litmus_P0_27_: movl (%r11),%ebx _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%edi _litmus_P0_30_: xchgl %edi,(%r13) _litmus_P0_31_: cmpl $0,%edi _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%r13),%edi _litmus_P0_35_: cmpl $0,%edi _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl (%r9),%ecx _litmus_P0_40_: movl $0,(%r13) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%edi _litmus_P0_43_: xchgl %edi,(%r14) _litmus_P0_44_: cmpl $0,%edi _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r14),%edi _litmus_P0_48_: cmpl $0,%edi _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r10),%esi _litmus_P0_53_: movl $0,(%r14) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r15d _litmus_P1_2_: xchgl %r15d,(%r12) _litmus_P1_3_: cmpl $0,%r15d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r12),%r15d _litmus_P1_7_: cmpl $0,%r15d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r9) _litmus_P1_12_: movl $0,(%r12) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r15d _litmus_P1_15_: xchgl %r15d,(%r14) _litmus_P1_16_: cmpl $0,%r15d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r14),%r15d _litmus_P1_20_: cmpl $0,%r15d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r11) _litmus_P1_25_: movl $0,(%r14) _litmus_P1_26_: movl $1,(%r8) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%r15d _litmus_P1_29_: xchgl %r15d,(%r13) _litmus_P1_30_: cmpl $0,%r15d _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%r13),%r15d _litmus_P1_34_: cmpl $0,%r15d _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl $1,(%r10) _litmus_P1_39_: movl $0,(%r13) _litmus_P1_40_: movl (%r8),%eax _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%r15d _litmus_P1_43_: xchgl %r15d,(%rbx) _litmus_P1_44_: cmpl $0,%r15d _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rbx),%r15d _litmus_P1_48_: cmpl $0,%r15d _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%rdi),%edx _litmus_P1_53_: movl $0,(%rbx) Test X032+X033-L Required Histogram (29 states) 889839:>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; 12029555:>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; 39 :>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; 400 :>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; 1404 :>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; 1650550:>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; 90 :>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; 7668456:>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; 20167101:>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; 1447 :>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; 521804:>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; 1615059:>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; 5410101:>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; 248264:>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; 21840401:>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; 597615:>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; 32437 :>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; 107330:>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; 11600095:>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; 1552 :>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; 1913018:>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; 1258 :>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; 2917 :>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; 3505471:>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; 768333:>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; 617953:>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; 8738690:>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; 5 :>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; 68816 :>0:EAX=1; 0:EBX=1; 0:ECX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EBX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ (e=2 \/ e=1)))) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1) \/ 1:EBX=0 /\ (2:EDX=1 /\ (e=2 \/ e=1) \/ 2:EDX=0 /\ e=1))) \/ 0:EAX=0 /\ e=1 /\ (0:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 2:EBX=0 /\ 2:EDX=0) \/ 1:EBX=0 /\ 2:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 0:ECX=0 /\ 2:EBX=1 /\ (1:EBX=1 /\ (2:EDX=1 \/ 2:EDX=0) \/ 1:EBX=0 /\ (2:EDX=1 \/ 2:EDX=0))))) is validated Hash=1cc544dec54ff4bb693a214742befe8f Time X032+X033-L 226.37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X034-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X033+X034-L "Fre PodWW Wse PodWW Rfi PodRR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],EDX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_c] | MOV EDX,[L_x] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [c],$1 | MOV [x],$2 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_z],$0 ; Lock03: | MOV [y],$1 | MOV [a],$1 ; MOV ECX,$1 | Lock15: | MOV EAX,[a] ; XCHG [L_b],ECX | MOV EDX,$1 | Lock27: ; CMP ECX,$0 | XCHG [L_e],EDX | MOV ECX,$1 ; JE Lock05 | CMP EDX,$0 | XCHG [L_b],ECX ; Lock04: | JE Lock17 | CMP ECX,$0 ; MOV ECX,[L_b] | Lock16: | JE Lock29 ; CMP ECX,$0 | MOV EDX,[L_e] | Lock28: ; JE Lock03 | CMP EDX,$0 | MOV ECX,[L_b] ; JMP Lock04 | JE Lock15 | CMP ECX,$0 ; Lock05: | JMP Lock16 | JE Lock27 ; MOV [b],$1 | Lock17: | JMP Lock28 ; MOV [L_b],$0 | MOV [e],$1 | Lock29: ; Lock06: | MOV [L_e],$0 | MOV EBX,[b] ; MOV ECX,$1 | Lock18: | MOV [L_b],$0 ; XCHG [L_x],ECX | MOV EDX,$1 | ; CMP ECX,$0 | XCHG [L_c],EDX | ; JE Lock08 | CMP EDX,$0 | ; Lock07: | JE Lock20 | ; MOV ECX,[L_x] | Lock19: | ; CMP ECX,$0 | MOV EDX,[L_c] | ; JE Lock06 | CMP EDX,$0 | ; JMP Lock07 | JE Lock18 | ; Lock08: | JMP Lock19 | ; MOV [x],$1 | Lock20: | ; MOV [L_x],$0 | MOV ECX,[c] | ; MOV [d],$1 | MOV [L_c],$0 | ; MOV EAX,[d] | MOV EAX,[y] | ; Lock09: | Lock21: | ; MOV ECX,$1 | MOV EDX,$1 | ; XCHG [L_e],ECX | XCHG [L_z],EDX | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock11 | JE Lock23 | ; Lock10: | Lock22: | ; MOV ECX,[L_e] | MOV EDX,[L_z] | ; CMP ECX,$0 | CMP EDX,$0 | ; JE Lock09 | JE Lock21 | ; JMP Lock10 | JMP Lock22 | ; Lock11: | Lock23: | ; MOV EBX,[e] | MOV EBX,[z] | ; MOV [L_e],$0 | MOV [L_z],$0 | ; forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rdi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%r9) _litmus_P2_14_: movl (%r9),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r8),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r13) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r15d _litmus_P0_15_: xchgl %r15d,(%r14) _litmus_P0_16_: cmpl $0,%r15d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r14),%r15d _litmus_P0_20_: cmpl $0,%r15d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r11) _litmus_P0_25_: movl $0,(%r14) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r15d _litmus_P0_28_: xchgl %r15d,(%rbx) _litmus_P0_29_: cmpl $0,%r15d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r15d _litmus_P0_33_: cmpl $0,%r15d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: movl $1,(%r9) _litmus_P0_40_: movl (%r9),%eax _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r12) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r8),%edx _litmus_P0_53_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: LitLock15: _litmus_P1_15_: movl $1,%edi _litmus_P1_16_: xchgl %edi,(%rdx) _litmus_P1_17_: cmpl $0,%edi _litmus_P1_18_: je LitLock17 _litmus_P1_19_: LitLock16: _litmus_P1_20_: movl (%rdx),%edi _litmus_P1_21_: cmpl $0,%edi _litmus_P1_22_: je LitLock15 _litmus_P1_23_: jmp LitLock16 _litmus_P1_24_: LitLock17: _litmus_P1_25_: movl $1,(%r15) _litmus_P1_26_: movl $0,(%rdx) _litmus_P1_27_: LitLock18: _litmus_P1_28_: movl $1,%edi _litmus_P1_29_: xchgl %edi,(%rax) _litmus_P1_30_: cmpl $0,%edi _litmus_P1_31_: je LitLock20 _litmus_P1_32_: LitLock19: _litmus_P1_33_: movl (%rax),%edi _litmus_P1_34_: cmpl $0,%edi _litmus_P1_35_: je LitLock18 _litmus_P1_36_: jmp LitLock19 _litmus_P1_37_: LitLock20: _litmus_P1_38_: movl (%r12),%esi _litmus_P1_39_: movl $0,(%rax) _litmus_P1_40_: movl (%r10),%ecx _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%r13) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%r13),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r9),%ebx _litmus_P1_53_: movl $0,(%r13) Test X033+X034-L Required Histogram (17 states) 739085:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 13452338:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; x=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 150408:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 35693560:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=1; 2352562:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 626036:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; x=1; 10330 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 2380881:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 159360:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 28319365:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=1; 3811349:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 8925 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; x=2; 313884:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 1331 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 11910678:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; 69906 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 1:EAX=1 /\ 2:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ x=1) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ 1:ECX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (x=2 \/ x=1) \/ 2:EBX=0 /\ (x=2 \/ x=1)) \/ 1:EBX=0 /\ 2:EBX=1 /\ (x=2 \/ x=1)))) is validated Hash=0c97b9f275d997c1319c8739ecdb4d04 Time X033+X034-L 195.18 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X035-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X034+X035-L "Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_z],ECX | XCHG [L_x],EDX | XCHG [L_c],ECX ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_z] | MOV EDX,[L_x] | MOV ECX,[L_c] ; CMP ECX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [z],$1 | MOV [x],$1 | MOV [c],$1 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_c],$0 ; Lock03: | MOV [y],$1 | MOV [d],$1 ; MOV ECX,$1 | MOV EAX,[y] | MOV EAX,[d] ; XCHG [L_b],ECX | Lock15: | Lock27: ; CMP ECX,$0 | MOV EDX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],EDX | XCHG [L_a],ECX ; Lock04: | CMP EDX,$0 | CMP ECX,$0 ; MOV ECX,[L_b] | JE Lock17 | JE Lock29 ; CMP ECX,$0 | Lock16: | Lock28: ; JE Lock03 | MOV EDX,[L_z] | MOV ECX,[L_a] ; JMP Lock04 | CMP EDX,$0 | CMP ECX,$0 ; Lock05: | JE Lock15 | JE Lock27 ; MOV [b],$1 | JMP Lock16 | JMP Lock28 ; MOV [L_b],$0 | Lock17: | Lock29: ; Lock06: | MOV EBX,[z] | MOV EBX,[a] ; MOV ECX,$1 | MOV [L_z],$0 | MOV [L_a],$0 ; XCHG [L_x],ECX | Lock18: | ; CMP ECX,$0 | MOV EDX,$1 | ; JE Lock08 | XCHG [L_a],EDX | ; Lock07: | CMP EDX,$0 | ; MOV ECX,[L_x] | JE Lock20 | ; CMP ECX,$0 | Lock19: | ; JE Lock06 | MOV EDX,[L_a] | ; JMP Lock07 | CMP EDX,$0 | ; Lock08: | JE Lock18 | ; MOV EAX,[x] | JMP Lock19 | ; MOV [L_x],$0 | Lock20: | ; Lock09: | MOV [a],$1 | ; MOV ECX,$1 | MOV [L_a],$0 | ; XCHG [L_c],ECX | Lock21: | ; CMP ECX,$0 | MOV EDX,$1 | ; JE Lock11 | XCHG [L_b],EDX | ; Lock10: | CMP EDX,$0 | ; MOV ECX,[L_c] | JE Lock23 | ; CMP ECX,$0 | Lock22: | ; JE Lock09 | MOV EDX,[L_b] | ; JMP Lock10 | CMP EDX,$0 | ; Lock11: | JE Lock21 | ; MOV EBX,[c] | JMP Lock22 | ; MOV [L_c],$0 | Lock23: | ; | MOV ECX,[b] | ; | MOV [L_b],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r11) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%eax _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r12) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r12),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r9),%edx _litmus_P0_51_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: movl (%r10),%ecx _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r9),%ebx _litmus_P1_27_: movl $0,(%r13) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edi _litmus_P1_30_: xchgl %edi,(%r12) _litmus_P1_31_: cmpl $0,%edi _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%r12),%edi _litmus_P1_35_: cmpl $0,%edi _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%rdx) _litmus_P1_40_: movl $0,(%r12) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%rax) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rax),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r15),%esi _litmus_P1_53_: movl $0,(%rax) Test X034+X035-L Required Histogram (17 states) 8273228:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; 10432 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; 2567002:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; 2214588:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 3126 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 17227368:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 41139571:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; 334962:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 13965558:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; 24 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 2218 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; 429233:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2978632:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2949885:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 2027470:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 274439:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; 5602264:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 0:EBX=0 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1) \/ 1:EBX=0 /\ (1:ECX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 1:ECX=0 /\ 2:EBX=1))) \/ 0:EAX=0 /\ 1:EBX=1 /\ 1:ECX=1 /\ (0:EBX=1 /\ (2:EBX=1 \/ 2:EBX=0) \/ 0:EBX=0 /\ (2:EBX=1 \/ 2:EBX=0)))) is validated Hash=de5d70613247878c6810d893330e5d70 Time X034+X035-L 186.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X036-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X035+X036-L "Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_a],ECX | XCHG [L_c],ECX | XCHG [L_f],ESI | XCHG [L_e],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_a] | MOV ECX,[L_c] | MOV ESI,[L_f] | MOV EBX,[L_e] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$1 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_x],ECX | XCHG [L_x],ECX | XCHG [L_y],ESI | XCHG [L_f],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_x] | MOV ECX,[L_x] | MOV ESI,[L_y] | MOV EBX,[L_f] ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$1 | MOV EAX,[f] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV ECX,$1 | MOV ECX,$1 | MOV [z],$1 | ; XCHG [L_d],ECX | XCHG [L_d],ECX | MOV EAX,[z] | ; CMP ECX,$0 | CMP ECX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV ECX,[L_d] | MOV ECX,[L_d] | XCHG [L_c],ESI | ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EBX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV ECX,$1 | MOV ECX,$1 | Lock32: | ; XCHG [L_e],ECX | XCHG [L_y],ECX | MOV EDX,[c] | ; CMP ECX,$0 | CMP ECX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV ECX,[L_e] | MOV ECX,[L_y] | XCHG [L_a],ESI | ; CMP ECX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV EBX,[e] | MOV EAX,[y] | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%eax _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r9) _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%edx _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r13) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rbx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X035+X036-L Required Histogram (65 states) 1146 :>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; 275641:>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; 200825:>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; 622 :>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; 1757 :>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; 29609 :>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; 8479 :>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; 2031950:>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; 38 :>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; 612845:>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; 811597:>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; 6 :>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; 67 :>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; 8 :>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; 110939:>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; 37195 :>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; 12880443:>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; 30347 :>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; 4966153:>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; 505299:>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; 18 :>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; 4145047:>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; 7373 :>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; 127923:>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; 12666876:>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; 28671 :>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; 5 :>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; 3432 :>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; 8182 :>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; 2477956:>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; 16662 :>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; 4 :>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; 1474787:>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; 4438 :>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; 10 :>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; 380 :>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; 13085 :>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; 374427:>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; 567264:>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; 6047436:>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; 800 :>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; 949 :>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; 769867:>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; 2902 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 3075093:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=1; 85 :>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; 304 :>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; 300 :>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; 220346:>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; 16789 :>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; 6748397:>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; 192 :>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; 43381 :>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; 94862 :>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; 16446538:>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; 565324:>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; 86 :>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; 332919:>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; 468 :>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; 2582432:>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; 1023 :>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; 18575000:>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; 52999 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EDX=0 /\ 3:EAX=1) \/ 2:EBX=0 /\ 3:EAX=1 /\ (2:EDX=1 \/ 2:EDX=0))) \/ 1:EAX=0 /\ 2:EBX=1 /\ 2:EDX=1 /\ (1:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 1:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))))) is validated Hash=08a6576f261b059d6b2fa7c590427a4a Time X035+X036-L 261.82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X037-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X036+X037-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_e],ECX | XCHG [L_x],EBX | XCHG [L_g],EDX | XCHG [L_f],EDX ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_e] | MOV EBX,[L_x] | MOV EDX,[L_g] | MOV EDX,[L_f] ; CMP ECX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$1 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | Lock27: | MOV EDX,$1 ; XCHG [L_f],ECX | XCHG [L_d],EBX | MOV EDX,$1 | XCHG [L_z],EDX ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_y],EDX | CMP EDX,$0 ; JE Lock05 | JE Lock17 | CMP EDX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV ECX,[L_f] | MOV EBX,[L_d] | Lock28: | MOV EDX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,[L_y] | CMP EDX,$0 ; JE Lock03 | JE Lock15 | CMP EDX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV EBX,[f] | MOV [d],$1 | Lock29: | MOV [z],$1 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$1 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV EBX,[c] | MOV EDX,$1 ; XCHG [L_b],ECX | XCHG [L_e],EBX | Lock30: | XCHG [L_g],EDX ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,$1 | CMP EDX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],EDX | JE Lock44 ; Lock07: | Lock19: | CMP EDX,$0 | Lock43: ; MOV ECX,[L_b] | MOV EBX,[L_e] | JE Lock32 | MOV EDX,[L_g] ; CMP ECX,$0 | CMP EBX,$0 | Lock31: | CMP EDX,$0 ; JE Lock06 | JE Lock18 | MOV EDX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP EDX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV ECX,[g] ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV EAX,[z] | MOV [a],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],ECX | XCHG [L_y],EBX | Lock33: | Lock45: ; CMP ECX,$0 | CMP EBX,$0 | MOV EDX,$1 | MOV EDX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],EDX | XCHG [L_b],EDX ; Lock10: | Lock22: | CMP EDX,$0 | CMP EDX,$0 ; MOV ECX,[L_x] | MOV EBX,[L_y] | JE Lock35 | JE Lock47 ; CMP ECX,$0 | CMP EBX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV EDX,[L_d] | MOV EDX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP EDX,$0 | CMP EDX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV ECX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rdx) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdx),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r11) _litmus_P3_12_: movl $0,(%rdx) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r13) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r13),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r9) _litmus_P3_25_: movl $0,(%r13) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%edi _litmus_P3_28_: xchgl %edi,(%r14) _litmus_P3_29_: cmpl $0,%edi _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r14),%edi _litmus_P3_33_: cmpl $0,%edi _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl (%r10),%esi _litmus_P3_38_: movl $0,(%r14) _litmus_P3_39_: movl $1,(%r12) _litmus_P3_40_: movl (%r12),%ecx _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%edi _litmus_P3_43_: xchgl %edi,(%rax) _litmus_P3_44_: cmpl $0,%edi _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rax),%edi _litmus_P3_48_: cmpl $0,%edi _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r15),%ebx _litmus_P3_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rbx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r8),%edx _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r13) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r10) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rdi) _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rdx) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdx),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: movl $1,(%r12) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%edi _litmus_P2_16_: xchgl %edi,(%r14) _litmus_P2_17_: cmpl $0,%edi _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r14),%edi _litmus_P2_21_: cmpl $0,%edi _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r10) _litmus_P2_26_: movl $0,(%r14) _litmus_P2_27_: movl (%r12),%ebx _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%edi _litmus_P2_30_: xchgl %edi,(%r13) _litmus_P2_31_: cmpl $0,%edi _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r13),%edi _litmus_P2_35_: cmpl $0,%edi _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r9),%ecx _litmus_P2_40_: movl $0,(%r13) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) Test X036+X037-L Required Histogram (92 states) 20 :>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; 22 :>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; 286497:>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; 552109:>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; 4 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; 226 :>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; 88282 :>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; 2422633:>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; 9 :>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; 309 :>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; 720956:>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; 6234198:>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; 36574 :>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; 107 :>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; 139911:>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; 1297 :>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; 219335:>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; 833285:>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; 130281:>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; 1333923:>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; 396796:>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; 52204 :>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; 818375:>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; 609790:>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; 94 :>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; 803 :>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; 81155 :>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; 2905359:>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; 5 :>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; 51 :>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; 218618:>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; 2760254:>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; 1 :>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; 802 :>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; 120 :>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; 1146017:>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; 5 :>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; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; 172954:>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; 91 :>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; 3829 :>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; 9365923:>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; 1467683:>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; 2945766:>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; 98236 :>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; 3219643:>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; 444973:>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; 52330 :>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; 576722:>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; 533089:>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; 31615 :>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; 1281798:>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; 5819 :>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; 537928:>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; 8262448:>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; 111 :>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; 3816886:>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; 163874:>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; 3425081:>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; 254 :>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; 1844014:>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; 2071104:>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; 5862204:>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; 238999:>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; 18327951:>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; 37148 :>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; 6 :>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; 1281684:>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; 319138:>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; 26966 :>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; 87346 :>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=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=0; e=2; 583906:>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; 228468:>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; 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; e=2; 288802:>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; 5 :>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; 1347343:>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; 3 :>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; 1904587:>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; 2092441:>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; 69090 :>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; 124962:>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; 25 :>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; 616256:>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; 454885:>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; 490700:>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; 953240:>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; 221223:>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; 1818685:>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; 349 :>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; 310981:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:ECX=0 /\ e=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1)))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 \/ e=1) \/ 3:ECX=0 /\ (e=2 \/ e=1))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (3:EBX=1 /\ (e=2 \/ e=1) \/ 3:EBX=0 /\ (e=2 \/ e=1))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1)) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:ECX=0 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:ECX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (3:ECX=1 \/ 3:ECX=0) \/ 3:EBX=0 /\ (3:ECX=1 \/ 3:ECX=0)) \/ 2:EAX=0 /\ 3:EBX=1 /\ 3:ECX=1))))) is validated Hash=724ff34acca320fc1e51e9573d376d03 Time X036+X037-L 292.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X038-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X037+X038-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EDX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EDX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$1 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EDX,$1 | MOV EAX,[a] ; XCHG [L_d],EBX | XCHG [L_c],EBX | XCHG [L_e],EDX | Lock39: ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; Lock04: | Lock16: | Lock28: | CMP ECX,$0 ; MOV EBX,[L_d] | MOV EBX,[L_c] | MOV EDX,[L_e] | JE Lock41 ; CMP EBX,$0 | CMP EBX,$0 | CMP EDX,$0 | Lock40: ; JE Lock03 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; Lock05: | Lock17: | Lock29: | JE Lock39 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$1 | JMP Lock40 ; MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_e],$0 | Lock41: ; Lock06: | Lock18: | MOV [f],$1 | MOV EBX,[b] ; MOV EBX,$1 | MOV EBX,$1 | Lock30: | MOV [L_b],$0 ; XCHG [L_e],EBX | XCHG [L_y],EBX | MOV EDX,$1 | ; CMP EBX,$0 | CMP EBX,$0 | XCHG [L_z],EDX | ; JE Lock08 | JE Lock20 | CMP EDX,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EBX,[L_e] | MOV EBX,[L_y] | Lock31: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,[L_z] | ; JE Lock06 | JE Lock18 | CMP EDX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV EAX,[e] | MOV EAX,[y] | Lock32: | ; MOV [L_e],$0 | MOV [L_y],$0 | MOV EAX,[z] | ; Lock09: | Lock21: | MOV [L_z],$0 | ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,[f] | ; XCHG [L_x],EBX | XCHG [L_d],EBX | Lock33: | ; CMP EBX,$0 | CMP EBX,$0 | MOV EDX,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_c],EDX | ; Lock10: | Lock22: | CMP EDX,$0 | ; MOV EBX,[L_x] | MOV EBX,[L_d] | JE Lock35 | ; CMP EBX,$0 | CMP EBX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV EDX,[L_c] | ; JMP Lock10 | JMP Lock22 | CMP EDX,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV [x],$1 | MOV [d],$1 | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_d],$0 | Lock35: | ; | | MOV ECX,[c] | ; | | MOV [L_c],$0 | ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock39: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock41 _litmus_P3_20_: LitLock40: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock39 _litmus_P3_24_: jmp LitLock40 _litmus_P3_25_: LitLock41: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rsi),%eax _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%r14) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r14),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%r14) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rdx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r15) _litmus_P2_25_: movl $0,(%rdx) _litmus_P2_26_: movl $1,(%r11) _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%edi _litmus_P2_29_: xchgl %edi,(%r13) _litmus_P2_30_: cmpl $0,%edi _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%r13),%edi _litmus_P2_34_: cmpl $0,%edi _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl (%r9),%ecx _litmus_P2_39_: movl $0,(%r13) _litmus_P2_40_: movl (%r11),%ebx _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r12),%esi _litmus_P2_53_: movl $0,(%rax) Test X037+X038-L Required Histogram (54 states) 204126:>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; 37330 :>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; 4730989:>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; 3751 :>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; 1365855:>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; 45619 :>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; 2254704:>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; 9904829:>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; 14158 :>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; 4033927:>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; 211070:>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; 2098963:>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; 16789 :>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; 2182 :>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; 104435:>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; 1992861:>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; 6759147:>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; 218589:>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; 14698881:>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; 21920024:>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; 403430:>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; 844889:>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; 31685 :>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; 317237:>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; 970901:>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; 2824655:>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; 73 :>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; 6633042:>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; 421391:>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; 5111 :>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; 7397 :>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; 150799:>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; 1 :>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; 883699:>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; 1918106:>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; 2263779:>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; 94 :>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; 1572378:>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; 7485 :>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; 296814:>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; 489592:>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; 73653 :>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; 598339:>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; 580 :>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; 106696:>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; 387768:>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; 1831702:>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; 577203:>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; 626 :>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; 35627 :>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; 897 :>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; 622561:>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; 5074687:>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; 28874 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; d=1; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:ECX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (3:EBX=1 /\ (d=2 \/ d=1) \/ 3:EBX=0 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:ECX=0 /\ d=1 /\ (3:EBX=1 /\ (x=2 \/ x=1) \/ 3:EBX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (2:ECX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 2:ECX=0 /\ d=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:ECX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)) \/ 3:EBX=0 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EBX=1 /\ (d=2 /\ x=1 \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=f436e046d19f9260e37f0da8ce10ac22 Time X037+X038-L 265.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X039-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X038+X039-L "Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_c],ECX | XCHG [L_f],ESI | XCHG [L_e],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_a] | MOV ECX,[L_c] | MOV ESI,[L_f] | MOV EBX,[L_e] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$1 | MOV [e],$2 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV ECX,$1 | MOV ESI,$1 | MOV EBX,$1 ; XCHG [L_x],EAX | XCHG [L_x],ECX | XCHG [L_y],ESI | XCHG [L_f],EBX ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_x] | MOV ECX,[L_x] | MOV ESI,[L_y] | MOV EBX,[L_f] ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [x],$1 | MOV [x],$2 | MOV [y],$1 | MOV EAX,[f] ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV EAX,$1 | MOV ECX,$1 | MOV [z],$1 | ; XCHG [L_d],EAX | XCHG [L_d],ECX | MOV EAX,[z] | ; CMP EAX,$0 | CMP ECX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV EAX,[L_d] | MOV ECX,[L_d] | XCHG [L_c],ESI | ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EBX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV EAX,$1 | MOV ECX,$1 | Lock32: | ; XCHG [L_e],EAX | XCHG [L_y],ECX | MOV EDX,[c] | ; CMP EAX,$0 | CMP ECX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV EAX,[L_e] | MOV ECX,[L_y] | XCHG [L_a],ESI | ; CMP EAX,$0 | CMP ECX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV [e],$1 | MOV EAX,[y] | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r13) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%rbx) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r12) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r12),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r9),%edx _litmus_P1_38_: movl $0,(%r12) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X038+X039-L Required Histogram (65 states) 258073:>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; 1468 :>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; 28675 :>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; 183 :>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; 622568:>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; 779963:>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; 47 :>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; 12981782:>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; 4265091:>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; 18710 :>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; 65404 :>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; 2449109:>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; 13845 :>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; 367536:>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; 3405 :>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; 804313:>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; 3005442:>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; 210 :>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; 7361941:>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; 14855051:>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; 974 :>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; 135153:>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; 133871:>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; 53 :>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; 4378 :>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; 16 :>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; 539 :>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; 984 :>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; 2878 :>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; 270924:>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; 43462 :>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; 233 :>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; 2193 :>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; 1274 :>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; 232870:>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; 1872 :>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; 2100406:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 3:EAX=0; e=1; x=2; 2 :>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; 3:EAX=0; e=1; x=2; 45924 :>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; 31720 :>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; 4093783:>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; 12931326:>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; 9412 :>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; 1557459:>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; 16228 :>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; 6302410:>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; 1 :>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; 88 :>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; 20186 :>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; 104500:>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; 343366:>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; 19284485:>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; 5985 :>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; 18 :>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; 541699:>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; 108628:>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; 5 :>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; 17023 :>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; 17 :>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; 529906:>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; 386 :>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; 234 :>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; 621687:>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; 2618625:>1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; 3:EAX=1; e=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ x=2 \/ e=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1)) \/ 2:EDX=0 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ e=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EDX=1 /\ (1:EBX=1 /\ 2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (e=2 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ x=1 /\ (3:EAX=1 /\ (e=2 \/ e=1) \/ 3:EAX=0 /\ e=1))))) is validated Hash=6f79ac6210146ef5b45bc74cf0cd2e22 Time X038+X039-L 264.96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X040-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X039+X040-L "Fre PodWR Fre PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EAX,$1 | MOV EDX,$1 | MOV EDX,$1 ; XCHG [L_e],EBX | XCHG [L_x],EAX | XCHG [L_g],EDX | XCHG [L_f],EDX ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_e] | MOV EAX,[L_x] | MOV EDX,[L_g] | MOV EDX,[L_f] ; CMP EBX,$0 | CMP EAX,$0 | CMP EDX,$0 | CMP EDX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$1 | MOV [f],$2 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | Lock27: | MOV EDX,$1 ; XCHG [L_f],EBX | XCHG [L_d],EAX | MOV EDX,$1 | XCHG [L_z],EDX ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_y],EDX | CMP EDX,$0 ; JE Lock05 | JE Lock17 | CMP EDX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV EBX,[L_f] | MOV EAX,[L_d] | Lock28: | MOV EDX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,[L_y] | CMP EDX,$0 ; JE Lock03 | JE Lock15 | CMP EDX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV [f],$1 | MOV [d],$1 | Lock29: | MOV [z],$1 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$2 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,[c] | MOV EDX,$1 ; XCHG [L_b],EBX | XCHG [L_e],EAX | Lock30: | XCHG [L_g],EDX ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,$1 | CMP EDX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],EDX | JE Lock44 ; Lock07: | Lock19: | CMP EDX,$0 | Lock43: ; MOV EBX,[L_b] | MOV EAX,[L_e] | JE Lock32 | MOV EDX,[L_g] ; CMP EBX,$0 | CMP EAX,$0 | Lock31: | CMP EDX,$0 ; JE Lock06 | JE Lock18 | MOV EDX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP EDX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV ECX,[g] ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV EAX,[z] | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | Lock33: | Lock45: ; CMP EBX,$0 | CMP EAX,$0 | MOV EDX,$1 | MOV EDX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],EDX | XCHG [L_b],EDX ; Lock10: | Lock22: | CMP EDX,$0 | CMP EDX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | JE Lock35 | JE Lock47 ; CMP EBX,$0 | CMP EAX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV EDX,[L_d] | MOV EDX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP EDX,$0 | CMP EDX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV [y],$1 | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV ECX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rdx) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdx),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r11) _litmus_P3_12_: movl $0,(%rdx) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%r13) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r13),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%r9) _litmus_P3_25_: movl $0,(%r13) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%edi _litmus_P3_28_: xchgl %edi,(%r14) _litmus_P3_29_: cmpl $0,%edi _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r14),%edi _litmus_P3_33_: cmpl $0,%edi _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl (%r10),%esi _litmus_P3_38_: movl $0,(%r14) _litmus_P3_39_: movl $1,(%r12) _litmus_P3_40_: movl (%r12),%ecx _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%edi _litmus_P3_43_: xchgl %edi,(%rax) _litmus_P3_44_: cmpl $0,%edi _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%rax),%edi _litmus_P3_48_: cmpl $0,%edi _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r15),%ebx _litmus_P3_53_: movl $0,(%rax) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r10) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%rbx) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r8) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%rdi) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdi),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rax) _litmus_P1_51_: movl $0,(%rdi) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rdx) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdx),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r11) _litmus_P2_12_: movl $0,(%rdx) _litmus_P2_13_: movl $1,(%r12) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%edi _litmus_P2_16_: xchgl %edi,(%r14) _litmus_P2_17_: cmpl $0,%edi _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r14),%edi _litmus_P2_21_: cmpl $0,%edi _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $2,(%r10) _litmus_P2_26_: movl $0,(%r14) _litmus_P2_27_: movl (%r12),%ebx _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%edi _litmus_P2_30_: xchgl %edi,(%r13) _litmus_P2_31_: cmpl $0,%edi _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%r13),%edi _litmus_P2_35_: cmpl $0,%edi _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl (%r9),%ecx _litmus_P2_40_: movl $0,(%r13) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%edi _litmus_P2_43_: xchgl %edi,(%rax) _litmus_P2_44_: cmpl $0,%edi _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%rax),%edi _litmus_P2_48_: cmpl $0,%edi _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r15),%esi _litmus_P2_53_: movl $0,(%rax) Test X039+X040-L Required Histogram (93 states) 242892:>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; 549733:>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; 551107:>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; 5990688:>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; 152320:>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; 1215 :>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; 957726:>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; 508675:>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; 78506 :>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; 2581856:>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; 201106:>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; 2645116:>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; 977785:>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; 2821 :>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; 8653993:>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; 131092:>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; 3336546:>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; 697557:>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; 502226:>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; 217 :>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; 3687980:>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; 288779:>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; 18404998:>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; 40988 :>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; 314551:>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; 3 :>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; 644701:>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; 239691:>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; 1361943:>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; 2092684:>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; 153439:>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; 18 :>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; 943824:>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; 269433:>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; 14 :>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; 18 :>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; 7 :>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; 305 :>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; 38733 :>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; 120 :>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; 410884:>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; 53806 :>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; 105 :>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; 730 :>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; 15 :>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; 69 :>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; 118 :>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; 121 :>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; 1449828:>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; 3131299:>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; 448998:>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; 48933 :>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; 489718:>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; 8858411:>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; 1976400:>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; 5859541:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=1; f=2; y=1; 1 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=0; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=1; 6 :>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; 90888 :>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; 526897:>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; 348 :>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; 70137 :>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; 2544405:>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; 156491:>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; 1311498:>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; 826 :>0:EAX=1; 2:EAX=0; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=1; f=1; y=2; 127932:>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; 5988 :>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; 281 :>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; 1998192:>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; 1327487:>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; 109946:>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; 277894:>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; 1920357:>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; 493072:>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; 1979684:>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; 1 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=0; e=1; f=2; y=2; 274 :>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; 226916:>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; 856663:>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; 1 :>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; 7 :>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; 19783 :>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; 1313084:>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; 123226:>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; 3504252:>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; 3 :>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; 36682 :>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; 5 :>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; 5 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=0; 3:ECX=1; e=2; f=2; y=2; 729119:>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; 273266:>0:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 3:EAX=1; 3:EBX=1; 3:ECX=1; e=2; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EBX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:ECX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1)) \/ 3:ECX=0 /\ (e=2 /\ f=1 \/ e=1 /\ (f=2 \/ f=1))))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (e=2 /\ (f=2 \/ f=1) \/ e=1 /\ (f=2 \/ f=1))))) \/ 0:EAX=0 /\ e=1 /\ (2:EAX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:ECX=0 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)))) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)) \/ 3:EBX=0 /\ (3:ECX=1 /\ (f=2 \/ f=1) \/ 3:ECX=0 /\ (f=2 \/ f=1)))) \/ 2:EAX=0 /\ 3:ECX=1 /\ (2:ECX=1 /\ (3:EBX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:ECX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 \/ f=1) \/ 3:EBX=0 /\ (f=2 \/ f=1)))))) is validated Hash=2295290e1f6831541af1ab80a875d8d7 Time X039+X040-L 296.29 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X041-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X040+X041-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWW Rfi PodRR+Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV ECX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV ECX,[L_c] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [c],$2 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; MOV [d],$1 | Lock15: | Lock27: | MOV [a],$1 ; Lock03: | MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[a] ; MOV ECX,$1 | XCHG [L_e],EAX | XCHG [L_z],EBX | Lock33: ; XCHG [L_b],ECX | CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 ; CMP ECX,$0 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; JE Lock05 | Lock16: | Lock28: | CMP ECX,$0 ; Lock04: | MOV EAX,[L_e] | MOV EBX,[L_z] | JE Lock35 ; MOV ECX,[L_b] | CMP EAX,$0 | CMP EBX,$0 | Lock34: ; CMP ECX,$0 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JE Lock03 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; JMP Lock04 | Lock17: | Lock29: | JE Lock33 ; Lock05: | MOV [e],$1 | MOV EAX,[z] | JMP Lock34 ; MOV [b],$1 | MOV [L_e],$0 | MOV [L_z],$0 | Lock35: ; MOV [L_b],$0 | Lock18: | | MOV EBX,[b] ; MOV EAX,[d] | MOV EAX,$1 | | MOV [L_b],$0 ; Lock06: | XCHG [L_y],EAX | | ; MOV ECX,$1 | CMP EAX,$0 | | ; XCHG [L_x],ECX | JE Lock20 | | ; CMP ECX,$0 | Lock19: | | ; JE Lock08 | MOV EAX,[L_y] | | ; Lock07: | CMP EAX,$0 | | ; MOV ECX,[L_x] | JE Lock18 | | ; CMP ECX,$0 | JMP Lock19 | | ; JE Lock06 | Lock20: | | ; JMP Lock07 | MOV [y],$1 | | ; Lock08: | MOV [L_y],$0 | | ; MOV [x],$1 | Lock21: | | ; MOV [L_x],$0 | MOV EAX,$1 | | ; Lock09: | XCHG [L_c],EAX | | ; MOV ECX,$1 | CMP EAX,$0 | | ; XCHG [L_e],ECX | JE Lock23 | | ; CMP ECX,$0 | Lock22: | | ; JE Lock11 | MOV EAX,[L_c] | | ; Lock10: | CMP EAX,$0 | | ; MOV ECX,[L_e] | JE Lock21 | | ; CMP ECX,$0 | JMP Lock22 | | ; JE Lock09 | Lock23: | | ; JMP Lock10 | MOV [c],$1 | | ; Lock11: | MOV [L_c],$0 | | ; MOV EBX,[e] | | | ; MOV [L_e],$0 | | | ; forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock33: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock35 _litmus_P3_20_: LitLock34: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock33 _litmus_P3_24_: jmp LitLock34 _litmus_P3_25_: LitLock35: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r15d _litmus_P0_2_: xchgl %r15d,(%r13) _litmus_P0_3_: cmpl $0,%r15d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r15d _litmus_P0_7_: cmpl $0,%r15d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: movl $1,(%r9) _litmus_P0_14_: LitLock03: _litmus_P0_15_: movl $1,%r15d _litmus_P0_16_: xchgl %r15d,(%r14) _litmus_P0_17_: cmpl $0,%r15d _litmus_P0_18_: je LitLock05 _litmus_P0_19_: LitLock04: _litmus_P0_20_: movl (%r14),%r15d _litmus_P0_21_: cmpl $0,%r15d _litmus_P0_22_: je LitLock03 _litmus_P0_23_: jmp LitLock04 _litmus_P0_24_: LitLock05: _litmus_P0_25_: movl $1,(%r11) _litmus_P0_26_: movl $0,(%r14) _litmus_P0_27_: movl (%r9),%eax _litmus_P0_28_: LitLock06: _litmus_P0_29_: movl $1,%r15d _litmus_P0_30_: xchgl %r15d,(%rbx) _litmus_P0_31_: cmpl $0,%r15d _litmus_P0_32_: je LitLock08 _litmus_P0_33_: LitLock07: _litmus_P0_34_: movl (%rbx),%r15d _litmus_P0_35_: cmpl $0,%r15d _litmus_P0_36_: je LitLock06 _litmus_P0_37_: jmp LitLock07 _litmus_P0_38_: LitLock08: _litmus_P0_39_: movl $1,(%rdi) _litmus_P0_40_: movl $0,(%rbx) _litmus_P0_41_: LitLock09: _litmus_P0_42_: movl $1,%r15d _litmus_P0_43_: xchgl %r15d,(%r12) _litmus_P0_44_: cmpl $0,%r15d _litmus_P0_45_: je LitLock11 _litmus_P0_46_: LitLock10: _litmus_P0_47_: movl (%r12),%r15d _litmus_P0_48_: cmpl $0,%r15d _litmus_P0_49_: je LitLock09 _litmus_P0_50_: jmp LitLock10 _litmus_P0_51_: LitLock11: _litmus_P0_52_: movl (%r8),%edx _litmus_P0_53_: movl $0,(%r12) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r10) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r10),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rsi) _litmus_P1_51_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X040+X041-L Required Histogram (37 states) 13711 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 6979986:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 96379 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 35279533:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=1; 89171 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 11468365:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 156633:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 14727951:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=1; 2760886:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 3453948:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=1; 305345:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 3023 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=1; 522176:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 568 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 3757682:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 4875 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=1; 2873598:>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 8681 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 6233665:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 22551 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=1; 320 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 337 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 2162613:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=1; y=2; 103 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 568776:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 1506 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 5230419:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=1; y=2; 28921 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 1999854:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=2; x=1; y=2; 235645:>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 748737:>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=2; x=1; y=2; 6835 :>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 21 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=0; c=1; x=2; y=2; 14689 :>0:EAX=1; 0:EBX=0; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 11 :>0:EAX=1; 0:EBX=1; 2:EAX=0; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 241632:>0:EAX=1; 0:EBX=0; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; 854 :>0:EAX=1; 0:EBX=1; 2:EAX=1; 3:EAX=1; 3:EBX=1; c=1; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ 3:EAX=1 /\ (0:EBX=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EBX=0 /\ (c=2 /\ x=1 /\ (y=2 \/ y=1) \/ c=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EBX=0 /\ c=1 /\ (2:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EBX=0 /\ y=1 /\ (x=2 \/ x=1))))) is validated Hash=a0164659d915d45a75f596ff34a0a66f Time X040+X041-L 240.83 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X042-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X041+X042-L "Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV EAX,$1 | MOV EDX,$1 | MOV ECX,$1 ; XCHG [L_z],EAX | XCHG [L_x],EDX | XCHG [L_c],ECX ; CMP EAX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV EAX,[L_z] | MOV EDX,[L_x] | MOV ECX,[L_c] ; CMP EAX,$0 | CMP EDX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [z],$1 | MOV [x],$2 | MOV [c],$2 ; MOV [L_z],$0 | MOV [L_x],$0 | MOV [L_c],$0 ; Lock03: | MOV [y],$1 | MOV [d],$1 ; MOV EAX,$1 | MOV EAX,[y] | MOV EAX,[d] ; XCHG [L_b],EAX | Lock15: | Lock27: ; CMP EAX,$0 | MOV EDX,$1 | MOV ECX,$1 ; JE Lock05 | XCHG [L_z],EDX | XCHG [L_a],ECX ; Lock04: | CMP EDX,$0 | CMP ECX,$0 ; MOV EAX,[L_b] | JE Lock17 | JE Lock29 ; CMP EAX,$0 | Lock16: | Lock28: ; JE Lock03 | MOV EDX,[L_z] | MOV ECX,[L_a] ; JMP Lock04 | CMP EDX,$0 | CMP ECX,$0 ; Lock05: | JE Lock15 | JE Lock27 ; MOV [b],$1 | JMP Lock16 | JMP Lock28 ; MOV [L_b],$0 | Lock17: | Lock29: ; Lock06: | MOV EBX,[z] | MOV EBX,[a] ; MOV EAX,$1 | MOV [L_z],$0 | MOV [L_a],$0 ; XCHG [L_x],EAX | Lock18: | ; CMP EAX,$0 | MOV EDX,$1 | ; JE Lock08 | XCHG [L_a],EDX | ; Lock07: | CMP EDX,$0 | ; MOV EAX,[L_x] | JE Lock20 | ; CMP EAX,$0 | Lock19: | ; JE Lock06 | MOV EDX,[L_a] | ; JMP Lock07 | CMP EDX,$0 | ; Lock08: | JE Lock18 | ; MOV [x],$1 | JMP Lock19 | ; MOV [L_x],$0 | Lock20: | ; Lock09: | MOV [a],$1 | ; MOV EAX,$1 | MOV [L_a],$0 | ; XCHG [L_c],EAX | Lock21: | ; CMP EAX,$0 | MOV EDX,$1 | ; JE Lock11 | XCHG [L_b],EDX | ; Lock10: | CMP EDX,$0 | ; MOV EAX,[L_c] | JE Lock23 | ; CMP EAX,$0 | Lock22: | ; JE Lock09 | MOV EDX,[L_b] | ; JMP Lock10 | CMP EDX,$0 | ; Lock11: | JE Lock21 | ; MOV [c],$1 | JMP Lock22 | ; MOV [L_c],$0 | Lock23: | ; | MOV ECX,[b] | ; | MOV [L_b],$0 | ; forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%ebx _litmus_P2_2_: xchgl %ebx,(%r10) _litmus_P2_3_: cmpl $0,%ebx _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%ebx _litmus_P2_7_: cmpl $0,%ebx _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r8) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: movl $1,(%rdi) _litmus_P2_14_: movl (%rdi),%eax _litmus_P2_15_: LitLock27: _litmus_P2_16_: movl $1,%ebx _litmus_P2_17_: xchgl %ebx,(%r11) _litmus_P2_18_: cmpl $0,%ebx _litmus_P2_19_: je LitLock29 _litmus_P2_20_: LitLock28: _litmus_P2_21_: movl (%r11),%ebx _litmus_P2_22_: cmpl $0,%ebx _litmus_P2_23_: je LitLock27 _litmus_P2_24_: jmp LitLock28 _litmus_P2_25_: LitLock29: _litmus_P2_26_: movl (%r9),%edx _litmus_P2_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r10) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r9) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%edi _litmus_P1_2_: xchgl %edi,(%r14) _litmus_P1_3_: cmpl $0,%edi _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r14),%edi _litmus_P1_7_: cmpl $0,%edi _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%r11) _litmus_P1_12_: movl $0,(%r14) _litmus_P1_13_: movl $1,(%r10) _litmus_P1_14_: movl (%r10),%ecx _litmus_P1_15_: LitLock15: _litmus_P1_16_: movl $1,%edi _litmus_P1_17_: xchgl %edi,(%r13) _litmus_P1_18_: cmpl $0,%edi _litmus_P1_19_: je LitLock17 _litmus_P1_20_: LitLock16: _litmus_P1_21_: movl (%r13),%edi _litmus_P1_22_: cmpl $0,%edi _litmus_P1_23_: je LitLock15 _litmus_P1_24_: jmp LitLock16 _litmus_P1_25_: LitLock17: _litmus_P1_26_: movl (%r9),%ebx _litmus_P1_27_: movl $0,(%r13) _litmus_P1_28_: LitLock18: _litmus_P1_29_: movl $1,%edi _litmus_P1_30_: xchgl %edi,(%rax) _litmus_P1_31_: cmpl $0,%edi _litmus_P1_32_: je LitLock20 _litmus_P1_33_: LitLock19: _litmus_P1_34_: movl (%rax),%edi _litmus_P1_35_: cmpl $0,%edi _litmus_P1_36_: je LitLock18 _litmus_P1_37_: jmp LitLock19 _litmus_P1_38_: LitLock20: _litmus_P1_39_: movl $1,(%r12) _litmus_P1_40_: movl $0,(%rax) _litmus_P1_41_: LitLock21: _litmus_P1_42_: movl $1,%edi _litmus_P1_43_: xchgl %edi,(%rdx) _litmus_P1_44_: cmpl $0,%edi _litmus_P1_45_: je LitLock23 _litmus_P1_46_: LitLock22: _litmus_P1_47_: movl (%rdx),%edi _litmus_P1_48_: cmpl $0,%edi _litmus_P1_49_: je LitLock21 _litmus_P1_50_: jmp LitLock22 _litmus_P1_51_: LitLock23: _litmus_P1_52_: movl (%r15),%esi _litmus_P1_53_: movl $0,(%rdx) Test X041+X042-L Required Histogram (18 states) 8789164:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 10680 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=0; c=1; x=1; 2823126:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 41198532:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=1; 12973849:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 2263 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=1; x=1; 2850626:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 5024108:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=1; 2 :>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 4478 :>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=1; 340483:>1:EAX=1; 1:EBX=0; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 23 :>1:EAX=1; 1:EBX=1; 1:ECX=0; 2:EAX=1; 2:EBX=1; c=2; x=1; 665493:>1:EAX=1; 1:EBX=0; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 2000052:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=1; 16828398:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=1; x=2; 324564:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=1; x=2; 2438993:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=0; c=2; x=2; 3725166:>1:EAX=1; 1:EBX=1; 1:ECX=1; 2:EAX=1; 2:EBX=1; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ 2:EAX=1 /\ (1:EBX=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 1:ECX=0 /\ x=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)) \/ 1:EBX=0 /\ x=1 /\ (1:ECX=1 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ (c=2 \/ c=1)) \/ 1:ECX=0 /\ (2:EBX=1 /\ (c=2 \/ c=1) \/ 2:EBX=0 /\ c=1)))) is validated Hash=3e8c372cacf5391565a348d7a2abf062 Time X041+X042-L 189.19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X043-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X042+X043-L "Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_a],ECX | XCHG [L_c],EBX | XCHG [L_f],ESI | XCHG [L_e],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_a] | MOV EBX,[L_c] | MOV ESI,[L_f] | MOV EAX,[L_e] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$1 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_x],ECX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_f],EAX ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_x] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV EAX,[L_f] ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV EAX,[x] | MOV [x],$1 | MOV [y],$2 | MOV [f],$1 ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV ECX,$1 | MOV EBX,$1 | MOV [z],$1 | ; XCHG [L_d],ECX | XCHG [L_d],EBX | MOV EAX,[z] | ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV ECX,[L_d] | MOV EBX,[L_d] | XCHG [L_c],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EAX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV ECX,$1 | MOV EBX,$1 | Lock32: | ; XCHG [L_e],ECX | XCHG [L_y],EBX | MOV EDX,[c] | ; CMP ECX,$0 | CMP EBX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV ECX,[L_e] | MOV EBX,[L_y] | XCHG [L_a],ESI | ; CMP ECX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV EBX,[e] | MOV [y],$1 | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r11) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%eax _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r9) _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%edx _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r10) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X042+X043-L Required Histogram (65 states) 3 :>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; 3306 :>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; 8883 :>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; 2626628:>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; 13465 :>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; 5 :>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; 1467540:>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; 4234 :>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; 11 :>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; 350 :>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; 14414 :>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; 405107:>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; 558301:>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; 6304472:>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; 940 :>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; 3076 :>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; 3331064:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=1; y=1; 87 :>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; 257 :>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; 177 :>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; 45945 :>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; 102637:>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; 16434766:>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; 2510618:>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; 941 :>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; 17815094:>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; 51040 :>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; 1230 :>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; 287200:>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; 213546:>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; 495 :>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; 2114 :>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; 34681 :>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; 8100 :>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; 2264563:>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; 55 :>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; 937236:>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; 14 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; f=2; y=1; 46 :>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; 32312 :>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; 4862333:>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; 129807:>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; 2 :>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; 12500166:>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; 28064 :>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; 1056 :>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; 808651:>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; 259 :>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; 200055:>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; 15700 :>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; 6652605:>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; 497167:>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; 85 :>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; 277993:>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; 464 :>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; 641045:>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; 9 :>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; 86059 :>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; 41401 :>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; 13094756:>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; 458211:>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; 18 :>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; 4211550:>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; 7590 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; f=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ (2:EDX=1 /\ (y=2 \/ y=1) \/ 2:EDX=0 /\ y=1)))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (f=2 \/ f=1) \/ 2:EDX=0 /\ (f=2 \/ f=1)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ y=1 /\ (f=2 \/ f=1)) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (f=2 /\ (y=2 \/ y=1) \/ f=1 /\ (y=2 \/ y=1)) \/ 2:EDX=0 /\ f=1 /\ y=1) \/ 2:EBX=0 /\ f=1 /\ y=1 /\ (2:EDX=1 \/ 2:EDX=0)))))) is validated Hash=f0619759dfe6b38d63d68f2b152c1347 Time X042+X043-L 263.58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X044-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X043+X044-L "Fre PodWR Fre PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_e],ECX | XCHG [L_x],EBX | XCHG [L_g],ECX | XCHG [L_f],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_e] | MOV EBX,[L_x] | MOV ECX,[L_g] | MOV ECX,[L_f] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$1 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | Lock27: | MOV ECX,$1 ; XCHG [L_f],ECX | XCHG [L_d],EBX | MOV ECX,$1 | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | XCHG [L_y],ECX | CMP ECX,$0 ; JE Lock05 | JE Lock17 | CMP ECX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV ECX,[L_f] | MOV EBX,[L_d] | Lock28: | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,[L_y] | CMP ECX,$0 ; JE Lock03 | JE Lock15 | CMP ECX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV EBX,[f] | MOV [d],$1 | Lock29: | MOV [z],$2 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$1 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV EAX,[c] | MOV ECX,$1 ; XCHG [L_b],ECX | XCHG [L_e],EBX | Lock30: | XCHG [L_g],ECX ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,$1 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],ECX | JE Lock44 ; Lock07: | Lock19: | CMP ECX,$0 | Lock43: ; MOV ECX,[L_b] | MOV EBX,[L_e] | JE Lock32 | MOV ECX,[L_g] ; CMP ECX,$0 | CMP EBX,$0 | Lock31: | CMP ECX,$0 ; JE Lock06 | JE Lock18 | MOV ECX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP ECX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV [g],$1 ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV [z],$1 | MOV [a],$1 ; MOV ECX,$1 | MOV EBX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],ECX | XCHG [L_y],EBX | Lock33: | Lock45: ; CMP ECX,$0 | CMP EBX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],ECX | XCHG [L_b],ECX ; Lock10: | Lock22: | CMP ECX,$0 | CMP ECX,$0 ; MOV ECX,[L_x] | MOV EBX,[L_y] | JE Lock35 | JE Lock47 ; CMP ECX,$0 | CMP EBX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV ECX,[L_d] | MOV ECX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP ECX,$0 | CMP ECX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV EAX,[y] | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV EBX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r15d _litmus_P3_2_: xchgl %r15d,(%r13) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%rbx) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rbx),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $2,(%rdi) _litmus_P3_25_: movl $0,(%rbx) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r12) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r12),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%r8) _litmus_P3_38_: movl $0,(%r12) _litmus_P3_39_: movl $1,(%r11) _litmus_P3_40_: movl (%r11),%eax _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%r15d _litmus_P3_43_: xchgl %r15d,(%r14) _litmus_P3_44_: cmpl $0,%r15d _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r14),%r15d _litmus_P3_48_: cmpl $0,%r15d _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r10),%edx _litmus_P3_53_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%rbx) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rbx),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r8),%edx _litmus_P0_25_: movl $0,(%rbx) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r13) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r13),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r10) _litmus_P0_38_: movl $0,(%r13) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rdi) _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r13) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r9) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r11) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $1,(%r8) _litmus_P2_26_: movl $0,(%r12) _litmus_P2_27_: movl (%r11),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%r15d _litmus_P2_30_: xchgl %r15d,(%rbx) _litmus_P2_31_: cmpl $0,%r15d _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rbx),%r15d _litmus_P2_35_: cmpl $0,%r15d _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%rdi) _litmus_P2_40_: movl $0,(%rbx) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%r15d _litmus_P2_43_: xchgl %r15d,(%r14) _litmus_P2_44_: cmpl $0,%r15d _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%r15d _litmus_P2_48_: cmpl $0,%r15d _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r10),%edx _litmus_P2_53_: movl $0,(%r14) Test X043+X044-L Required Histogram (92 states) 17 :>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; 223 :>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; 232089:>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; 2988898:>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; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 1 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=1; z=1; 212688:>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; 284 :>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; 2847 :>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; 10539252:>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; 505014:>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; 64969 :>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; 583812:>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; 546842:>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; 157263:>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; 3175329:>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; 201 :>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; 1568611:>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; 2059840:>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; 5672542:>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; 216289:>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; 17327080:>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; 263904:>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; 5 :>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; 2150720:>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; 2209447:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=1; 9 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; e=2; g=1; z=1; 209099:>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; 1526183:>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; 344 :>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; 281655:>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; 17 :>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; 15 :>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; 260042:>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; 629681:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; g=2; z=1; 154 :>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; 57528 :>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; 2117431:>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; 9 :>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; 224 :>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; 546995:>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; 6251237:>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; 26962 :>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; 116 :>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; 162282:>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; 1386 :>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; 212477:>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; 787822:>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; 144487:>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; 1381597:>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; 340253:>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; 53349 :>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; 967865:>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; 775639:>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; 45875 :>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; 3 :>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; 1252473:>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; 373731:>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; 24953 :>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; 94447 :>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; 12 :>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; 66 :>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; 528 :>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; 81877 :>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; 2586138:>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; 4 :>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; 530 :>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; 81 :>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; 952322:>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; 1430671:>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; 2664102:>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; 109126:>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; 3708742:>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; 30512 :>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; 1245327:>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; 6147 :>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; 617872:>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; 8134913:>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; 54 :>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; 4345413:>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; 553522:>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; 1 :>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; 225874:>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; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; g=1; z=2; 1293184:>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; 52992 :>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; 124678:>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; 634393:>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; 499457:>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; 521418:>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; 1175530:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; g=1; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ g=1 /\ z=2 \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (e=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ 3:EBX=0 /\ z=1 /\ (g=2 \/ g=1)))))) is validated Hash=bb89630069f7b5ae4d02533b48178b3d Time X043+X044-L 296.87 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X045-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X044+X045-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_b],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_b] | MOV EBX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$1 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV [a],$1 ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EAX,[a] ; XCHG [L_d],EAX | XCHG [L_c],EBX | XCHG [L_e],ECX | Lock39: ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; Lock04: | Lock16: | Lock28: | CMP ECX,$0 ; MOV EAX,[L_d] | MOV EBX,[L_c] | MOV ECX,[L_e] | JE Lock41 ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | Lock40: ; JE Lock03 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; Lock05: | Lock17: | Lock29: | JE Lock39 ; MOV [d],$2 | MOV [c],$1 | MOV [e],$2 | JMP Lock40 ; MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_e],$0 | Lock41: ; Lock06: | Lock18: | MOV [f],$1 | MOV EBX,[b] ; MOV EAX,$1 | MOV EBX,$1 | Lock30: | MOV [L_b],$0 ; XCHG [L_e],EAX | XCHG [L_y],EBX | MOV ECX,$1 | ; CMP EAX,$0 | CMP EBX,$0 | XCHG [L_z],ECX | ; JE Lock08 | JE Lock20 | CMP ECX,$0 | ; Lock07: | Lock19: | JE Lock32 | ; MOV EAX,[L_e] | MOV EBX,[L_y] | Lock31: | ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[L_z] | ; JE Lock06 | JE Lock18 | CMP ECX,$0 | ; JMP Lock07 | JMP Lock19 | JE Lock30 | ; Lock08: | Lock20: | JMP Lock31 | ; MOV [e],$1 | MOV EAX,[y] | Lock32: | ; MOV [L_e],$0 | MOV [L_y],$0 | MOV [z],$1 | ; Lock09: | Lock21: | MOV [L_z],$0 | ; MOV EAX,$1 | MOV EBX,$1 | MOV EAX,[f] | ; XCHG [L_x],EAX | XCHG [L_d],EBX | Lock33: | ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,$1 | ; JE Lock11 | JE Lock23 | XCHG [L_c],ECX | ; Lock10: | Lock22: | CMP ECX,$0 | ; MOV EAX,[L_x] | MOV EBX,[L_d] | JE Lock35 | ; CMP EAX,$0 | CMP EBX,$0 | Lock34: | ; JE Lock09 | JE Lock21 | MOV ECX,[L_c] | ; JMP Lock10 | JMP Lock22 | CMP ECX,$0 | ; Lock11: | Lock23: | JE Lock33 | ; MOV [x],$1 | MOV [d],$1 | JMP Lock34 | ; MOV [L_x],$0 | MOV [L_d],$0 | Lock35: | ; | | MOV EBX,[c] | ; | | MOV [L_c],$0 | ; forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock39: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock41 _litmus_P3_20_: LitLock40: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock39 _litmus_P3_24_: jmp LitLock40 _litmus_P3_25_: LitLock41: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%rdi) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rax) _litmus_P0_51_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rcx),%eax _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r11) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rdi) _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r12) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%r13) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r10) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: movl $1,(%r9) _litmus_P2_27_: LitLock30: _litmus_P2_28_: movl $1,%r15d _litmus_P2_29_: xchgl %r15d,(%rbx) _litmus_P2_30_: cmpl $0,%r15d _litmus_P2_31_: je LitLock32 _litmus_P2_32_: LitLock31: _litmus_P2_33_: movl (%rbx),%r15d _litmus_P2_34_: cmpl $0,%r15d _litmus_P2_35_: je LitLock30 _litmus_P2_36_: jmp LitLock31 _litmus_P2_37_: LitLock32: _litmus_P2_38_: movl $1,(%rdi) _litmus_P2_39_: movl $0,(%rbx) _litmus_P2_40_: movl (%r9),%eax _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%r15d _litmus_P2_43_: xchgl %r15d,(%r14) _litmus_P2_44_: cmpl $0,%r15d _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%r15d _litmus_P2_48_: cmpl $0,%r15d _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r11),%edx _litmus_P2_53_: movl $0,(%r14) Test X044+X045-L Required Histogram (54 states) 4863926:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 46569 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 10264193:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=1; 2582831:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 235033:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 20927953:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=1; 818779:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 2726002:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 6375184:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=1; 8656 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 2184494:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 1367583:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=1; 24835 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 1368767:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 2269648:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=1; z=1; 181416:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 6914250:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 15005301:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=1; 952832:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 69 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=2; x=1; z=1; 1831532:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 73 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=1; 648105:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 1299 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=1; 739024:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 39970 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=1; 284185:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 64923 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 609722:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=2; x=2; z=1; 1809568:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 480153:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 4717565:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=1; 204423:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 5205 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=1; e=1; x=1; z=2; 4395154:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 2966 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 2122899:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=1; z=2; 381801:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 26186 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 346926:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; d=2; e=1; x=1; z=2; 388869:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 146699:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 866377:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=1; x=1; z=2; 12109 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 15503 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 108351:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=1; z=2; 6332 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 3 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=2; e=2; x=1; z=2; 8565 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; d=1; e=1; x=2; z=2; 462076:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 1063 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=1; x=2; z=2; 113119:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 562 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; 40372 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; d=1; e=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ (3:EBX=1 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (d=2 /\ e=1 /\ x=1 /\ (z=2 \/ z=1) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (3:EBX=1 /\ (d=2 /\ x=1 /\ (e=2 /\ (z=2 \/ z=1) \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ e=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (d=2 /\ x=1 /\ (e=2 /\ z=1 \/ e=1 /\ (z=2 \/ z=1)) \/ d=1 /\ (e=2 /\ z=1 /\ (x=2 \/ x=1) \/ e=1 /\ x=1 /\ (z=2 \/ z=1)))))) is validated Hash=4ba21da52e820a1d1ca1929c5c76de63 Time X044+X045-L 269.80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X046-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X045+X046-L "Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_a],EAX | XCHG [L_c],EBX | XCHG [L_f],ESI | XCHG [L_e],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_a] | MOV EBX,[L_c] | MOV ESI,[L_f] | MOV EAX,[L_e] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [c],$1 | MOV [f],$2 | MOV [e],$2 ; MOV [L_a],$0 | MOV [L_c],$0 | MOV [L_f],$0 | MOV [L_e],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV ESI,$1 | MOV EAX,$1 ; XCHG [L_x],EAX | XCHG [L_x],EBX | XCHG [L_y],ESI | XCHG [L_f],EAX ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_x] | MOV EBX,[L_x] | MOV ESI,[L_y] | MOV EAX,[L_f] ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [x],$1 | MOV [x],$2 | MOV [y],$2 | MOV [f],$1 ; MOV [L_x],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_f],$0 ; Lock06: | Lock18: | MOV [b],$1 | ; MOV EAX,$1 | MOV EBX,$1 | MOV [z],$1 | ; XCHG [L_d],EAX | XCHG [L_d],EBX | MOV EAX,[z] | ; CMP EAX,$0 | CMP EBX,$0 | MOV ECX,[b] | ; JE Lock08 | JE Lock20 | Lock30: | ; Lock07: | Lock19: | MOV ESI,$1 | ; MOV EAX,[L_d] | MOV EBX,[L_d] | XCHG [L_c],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock06 | JE Lock18 | JE Lock32 | ; JMP Lock07 | JMP Lock19 | Lock31: | ; Lock08: | Lock20: | MOV ESI,[L_c] | ; MOV [d],$1 | MOV EAX,[d] | CMP ESI,$0 | ; MOV [L_d],$0 | MOV [L_d],$0 | JE Lock30 | ; Lock09: | Lock21: | JMP Lock31 | ; MOV EAX,$1 | MOV EBX,$1 | Lock32: | ; XCHG [L_e],EAX | XCHG [L_y],EBX | MOV EDX,[c] | ; CMP EAX,$0 | CMP EBX,$0 | MOV [L_c],$0 | ; JE Lock11 | JE Lock23 | Lock33: | ; Lock10: | Lock22: | MOV ESI,$1 | ; MOV EAX,[L_e] | MOV EBX,[L_y] | XCHG [L_a],ESI | ; CMP EAX,$0 | CMP EBX,$0 | CMP ESI,$0 | ; JE Lock09 | JE Lock21 | JE Lock35 | ; JMP Lock10 | JMP Lock22 | Lock34: | ; Lock11: | Lock23: | MOV ESI,[L_a] | ; MOV [e],$1 | MOV [y],$1 | CMP ESI,$0 | ; MOV [L_e],$0 | MOV [L_y],$0 | JE Lock33 | ; | | JMP Lock34 | ; | | Lock35: | ; | | MOV EBX,[a] | ; | | MOV [L_a],$0 | ; forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%rdi) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%rdi),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rax) _litmus_P0_25_: movl $0,(%rdi) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r10) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $2,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%rdi),%eax _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rcx) _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%rbx) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r10) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r15d _litmus_P2_15_: xchgl %r15d,(%rdi) _litmus_P2_16_: cmpl $0,%r15d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r15d _litmus_P2_20_: cmpl $0,%r15d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r11) _litmus_P2_25_: movl $0,(%rdi) _litmus_P2_26_: movl $1,(%r8) _litmus_P2_27_: movl $1,(%rax) _litmus_P2_28_: movl (%rax),%esi _litmus_P2_29_: movl (%r8),%r13d _litmus_P2_30_: LitLock30: _litmus_P2_31_: movl $1,%r15d _litmus_P2_32_: xchgl %r15d,(%rcx) _litmus_P2_33_: cmpl $0,%r15d _litmus_P2_34_: je LitLock32 _litmus_P2_35_: LitLock31: _litmus_P2_36_: movl (%rcx),%r15d _litmus_P2_37_: cmpl $0,%r15d _litmus_P2_38_: je LitLock30 _litmus_P2_39_: jmp LitLock31 _litmus_P2_40_: LitLock32: _litmus_P2_41_: movl (%r9),%r14d _litmus_P2_42_: movl $0,(%rcx) _litmus_P2_43_: LitLock33: _litmus_P2_44_: movl $1,%r15d _litmus_P2_45_: xchgl %r15d,(%rdx) _litmus_P2_46_: cmpl $0,%r15d _litmus_P2_47_: je LitLock35 _litmus_P2_48_: LitLock34: _litmus_P2_49_: movl (%rdx),%r15d _litmus_P2_50_: cmpl $0,%r15d _litmus_P2_51_: je LitLock33 _litmus_P2_52_: jmp LitLock34 _litmus_P2_53_: LitLock35: _litmus_P2_54_: movl (%rbp),%r12d _litmus_P2_55_: movl $0,(%rdx) Test X045+X046-L Required Histogram (65 states) 2556470:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 13422 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 391317:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 3321 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=1; y=1; 3101460:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 219 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 14901147:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 140391:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=1; 4530 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 11 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 520 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=1; y=1; 2783 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 51090 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 2122 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=1; 260575:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 1468 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 32954 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 191 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=1; y=1; 882187:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 37 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 4233821:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 65100 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=1; 8612 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 1529957:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 14803 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 6476109:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=1; x=2; y=1; 81 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 101838:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 18295126:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=1; 5 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 14353 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 8 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 526189:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=1; x=2; y=1; 1 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 236 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 2589962:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=1; 1216 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 245286:>1:EAX=1; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 1910 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=1; f=2; x=2; y=1; 2343622:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; 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; 30787 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 12808276:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=1; 6167 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=0; e=2; f=2; x=2; y=1; 105356:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=1; 821725:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 7421473:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 965 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=1; y=2; 986 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 269966:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 201 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=1; y=2; 615743:>1:EAX=0; 2:EAX=1; 2:EBX=0; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 13315824:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 23082 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=1; y=2; 111773:>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 30 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=1; y=2; 17674 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 289225:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=1; x=2; y=2; 414 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 553243:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=1; x=2; y=2; 46536 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 4261873:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=1; f=2; x=2; y=2; 11 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; 504212:>1:EAX=1; 2:EAX=1; 2:EBX=1; 2:ECX=1; 2:EDX=1; e=2; f=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 2:ECX=1 /\ (1:EAX=1 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ (f=2 /\ x=2 \/ f=1 /\ (x=2 \/ x=1)) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ y=1 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))) \/ 2:EDX=0 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EBX=1 /\ (2:EDX=1 /\ (e=2 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ e=1 /\ (f=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (2:EDX=1 /\ (e=2 /\ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ e=1 /\ (f=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ f=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EDX=0 /\ y=1 /\ (e=2 /\ f=1 /\ (x=2 \/ x=1) \/ e=1 /\ (f=2 /\ (x=2 \/ x=1) \/ f=1 /\ (x=2 \/ x=1))))))) is validated Hash=c3c27eb82b90a01230ac111cae4b9f9e Time X045+X046-L 267.91 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X047-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X046+X047-L "Fre PodWR Fre PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_e],EBX | XCHG [L_x],EAX | XCHG [L_g],ECX | XCHG [L_f],ECX ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_e] | MOV EAX,[L_x] | MOV ECX,[L_g] | MOV ECX,[L_f] ; CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [e],$2 | MOV [x],$1 | MOV [g],$2 | MOV [f],$2 ; MOV [L_e],$0 | MOV [L_x],$0 | MOV [L_g],$0 | MOV [L_f],$0 ; Lock03: | Lock15: | MOV [c],$1 | Lock39: ; MOV EBX,$1 | MOV EAX,$1 | Lock27: | MOV ECX,$1 ; XCHG [L_f],EBX | XCHG [L_d],EAX | MOV ECX,$1 | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EAX,$0 | XCHG [L_y],ECX | CMP ECX,$0 ; JE Lock05 | JE Lock17 | CMP ECX,$0 | JE Lock41 ; Lock04: | Lock16: | JE Lock29 | Lock40: ; MOV EBX,[L_f] | MOV EAX,[L_d] | Lock28: | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,[L_y] | CMP ECX,$0 ; JE Lock03 | JE Lock15 | CMP ECX,$0 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JE Lock27 | JMP Lock40 ; Lock05: | Lock17: | JMP Lock28 | Lock41: ; MOV [f],$1 | MOV [d],$1 | Lock29: | MOV [z],$2 ; MOV [L_f],$0 | MOV [L_d],$0 | MOV [y],$2 | MOV [L_z],$0 ; Lock06: | Lock18: | MOV [L_y],$0 | Lock42: ; MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[c] | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_e],EAX | Lock30: | XCHG [L_g],ECX ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | XCHG [L_z],ECX | JE Lock44 ; Lock07: | Lock19: | CMP ECX,$0 | Lock43: ; MOV EBX,[L_b] | MOV EAX,[L_e] | JE Lock32 | MOV ECX,[L_g] ; CMP EBX,$0 | CMP EAX,$0 | Lock31: | CMP ECX,$0 ; JE Lock06 | JE Lock18 | MOV ECX,[L_z] | JE Lock42 ; JMP Lock07 | JMP Lock19 | CMP ECX,$0 | JMP Lock43 ; Lock08: | Lock20: | JE Lock30 | Lock44: ; MOV [b],$1 | MOV [e],$1 | JMP Lock31 | MOV [g],$1 ; MOV [L_b],$0 | MOV [L_e],$0 | Lock32: | MOV [L_g],$0 ; Lock09: | Lock21: | MOV [z],$1 | MOV [a],$1 ; MOV EBX,$1 | MOV EAX,$1 | MOV [L_z],$0 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_y],EAX | Lock33: | Lock45: ; CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 | MOV ECX,$1 ; JE Lock11 | JE Lock23 | XCHG [L_d],ECX | XCHG [L_b],ECX ; Lock10: | Lock22: | CMP ECX,$0 | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EAX,[L_y] | JE Lock35 | JE Lock47 ; CMP EBX,$0 | CMP EAX,$0 | Lock34: | Lock46: ; JE Lock09 | JE Lock21 | MOV ECX,[L_d] | MOV ECX,[L_b] ; JMP Lock10 | JMP Lock22 | CMP ECX,$0 | CMP ECX,$0 ; Lock11: | Lock23: | JE Lock33 | JE Lock45 ; MOV EAX,[x] | MOV [y],$1 | JMP Lock34 | JMP Lock46 ; MOV [L_x],$0 | MOV [L_y],$0 | Lock35: | Lock47: ; | | MOV EBX,[d] | MOV EBX,[b] ; | | MOV [L_d],$0 | MOV [L_b],$0 ; forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r15d _litmus_P3_2_: xchgl %r15d,(%r13) _litmus_P3_3_: cmpl $0,%r15d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r13),%r15d _litmus_P3_7_: cmpl $0,%r15d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%r9) _litmus_P3_12_: movl $0,(%r13) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r15d _litmus_P3_15_: xchgl %r15d,(%rbx) _litmus_P3_16_: cmpl $0,%r15d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rbx),%r15d _litmus_P3_20_: cmpl $0,%r15d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $2,(%rdi) _litmus_P3_25_: movl $0,(%rbx) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%r15d _litmus_P3_28_: xchgl %r15d,(%r12) _litmus_P3_29_: cmpl $0,%r15d _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r12),%r15d _litmus_P3_33_: cmpl $0,%r15d _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%r8) _litmus_P3_38_: movl $0,(%r12) _litmus_P3_39_: movl $1,(%r11) _litmus_P3_40_: movl (%r11),%eax _litmus_P3_41_: LitLock45: _litmus_P3_42_: movl $1,%r15d _litmus_P3_43_: xchgl %r15d,(%r14) _litmus_P3_44_: cmpl $0,%r15d _litmus_P3_45_: je LitLock47 _litmus_P3_46_: LitLock46: _litmus_P3_47_: movl (%r14),%r15d _litmus_P3_48_: cmpl $0,%r15d _litmus_P3_49_: je LitLock45 _litmus_P3_50_: jmp LitLock46 _litmus_P3_51_: LitLock47: _litmus_P3_52_: movl (%r10),%edx _litmus_P3_53_: movl $0,(%r14) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%r11) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r10) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%rbx) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%r8) _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rcx),%eax _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r10) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r10),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rsi) _litmus_P1_25_: movl $0,(%r10) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r9) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%rdi) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdi),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rax) _litmus_P1_51_: movl $0,(%rdi) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r15d _litmus_P2_2_: xchgl %r15d,(%r13) _litmus_P2_3_: cmpl $0,%r15d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r13),%r15d _litmus_P2_7_: cmpl $0,%r15d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r9) _litmus_P2_12_: movl $0,(%r13) _litmus_P2_13_: movl $1,(%r11) _litmus_P2_14_: LitLock27: _litmus_P2_15_: movl $1,%r15d _litmus_P2_16_: xchgl %r15d,(%r12) _litmus_P2_17_: cmpl $0,%r15d _litmus_P2_18_: je LitLock29 _litmus_P2_19_: LitLock28: _litmus_P2_20_: movl (%r12),%r15d _litmus_P2_21_: cmpl $0,%r15d _litmus_P2_22_: je LitLock27 _litmus_P2_23_: jmp LitLock28 _litmus_P2_24_: LitLock29: _litmus_P2_25_: movl $2,(%r8) _litmus_P2_26_: movl $0,(%r12) _litmus_P2_27_: movl (%r11),%eax _litmus_P2_28_: LitLock30: _litmus_P2_29_: movl $1,%r15d _litmus_P2_30_: xchgl %r15d,(%rbx) _litmus_P2_31_: cmpl $0,%r15d _litmus_P2_32_: je LitLock32 _litmus_P2_33_: LitLock31: _litmus_P2_34_: movl (%rbx),%r15d _litmus_P2_35_: cmpl $0,%r15d _litmus_P2_36_: je LitLock30 _litmus_P2_37_: jmp LitLock31 _litmus_P2_38_: LitLock32: _litmus_P2_39_: movl $1,(%rdi) _litmus_P2_40_: movl $0,(%rbx) _litmus_P2_41_: LitLock33: _litmus_P2_42_: movl $1,%r15d _litmus_P2_43_: xchgl %r15d,(%r14) _litmus_P2_44_: cmpl $0,%r15d _litmus_P2_45_: je LitLock35 _litmus_P2_46_: LitLock34: _litmus_P2_47_: movl (%r14),%r15d _litmus_P2_48_: cmpl $0,%r15d _litmus_P2_49_: je LitLock33 _litmus_P2_50_: jmp LitLock34 _litmus_P2_51_: LitLock35: _litmus_P2_52_: movl (%r10),%edx _litmus_P2_53_: movl $0,(%r14) Test X046+X047-L Required Histogram (91 states) 225021:>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; 2837349:>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; 2403 :>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; 9865947:>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; 727527:>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; 541427:>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; 268740:>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; 17267685:>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; 263437:>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; 2097326:>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; 14 :>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; 249332:>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; 28 :>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; 294 :>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; 330 :>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; 528415:>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; 64700 :>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; 2037067:>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; 5628818:>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; 328 :>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; 264058:>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; 606783:>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; 532774:>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; 6060525:>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; 166630:>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; 1167 :>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; 1077442:>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; 684499:>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; 47537 :>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; 351373:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=1; g=2; y=1; z=1; 6 :>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=1; z=1; 13 :>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; 18 :>0:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 4 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=1; z=1; 213 :>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; 27602 :>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; 124 :>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; 369597:>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; 55107 :>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=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=1; g=1; y=2; z=1; 180770:>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; 249 :>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; 1787125:>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; 2235684:>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; 1765158:>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; 15 :>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; 120054:>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; 3336123:>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; 6 :>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; 263758:>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; 62744 :>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; 2432464:>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; 177614:>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; 1381329:>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; 1310424:>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; 135585:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=1; g=2; y=2; z=1; 2 :>0:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=1; f=2; g=2; y=2; z=1; 184 :>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; 234340:>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; 867912:>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=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; e=2; f=2; g=2; y=2; z=1; 34697 :>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; 80492 :>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; 2331691:>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; 814017:>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; 145209:>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; 3637343:>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; 79 :>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; 4213123:>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; 573703:>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; 1266581:>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; 127218:>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; 1109696:>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; 76 :>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; 501 :>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; 75 :>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; 1387891:>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; 2724048:>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; 580942:>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; 8446782:>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; 59686 :>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; 524719:>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; 606 :>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; 6428 :>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; 223533:>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; 527597:>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; 19050 :>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; 1293822:>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; 2 :>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; 727184:>0:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; e=2; f=2; g=1; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ 3:EAX=1 /\ (0:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (e=2 /\ (f=2 /\ g=1 /\ z=2 \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ e=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)))))) \/ 0:EAX=0 /\ e=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))) \/ f=1 /\ (g=2 /\ z=1 /\ (y=2 \/ y=1) \/ g=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1))))) \/ 2:EBX=0 /\ y=1 /\ (3:EBX=1 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (f=2 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1)) \/ f=1 /\ (g=2 /\ z=1 \/ g=1 /\ (z=2 \/ z=1))))))) is validated Hash=c2ed4084429d36f8478c0c55be79b1b1 Time X046+X047-L 302.63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X048-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X047+X048-L "Fre PodWW Wse PodWW Wse PodWW Wse PodWW Rfi PodRR+Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV ECX,$1 ; XCHG [L_b],EBX | XCHG [L_x],EBX | XCHG [L_y],EAX | XCHG [L_z],ECX ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EBX,[L_b] | MOV EBX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [b],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$2 ; MOV [L_b],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | MOV [a],$1 ; MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 | MOV EAX,[a] ; XCHG [L_x],EBX | XCHG [L_d],EBX | XCHG [L_z],EAX | Lock33: ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | MOV ECX,$1 ; JE Lock05 | JE Lock17 | JE Lock29 | XCHG [L_b],ECX ; Lock04: | Lock16: | Lock28: | CMP ECX,$0 ; MOV EBX,[L_x] | MOV EBX,[L_d] | MOV EAX,[L_z] | JE Lock35 ; CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 | Lock34: ; JE Lock03 | JE Lock15 | JE Lock27 | MOV ECX,[L_b] ; JMP Lock04 | JMP Lock16 | JMP Lock28 | CMP ECX,$0 ; Lock05: | Lock17: | Lock29: | JE Lock33 ; MOV [x],$1 | MOV [d],$1 | MOV [z],$1 | JMP Lock34 ; MOV [L_x],$0 | MOV [L_d],$0 | MOV [L_z],$0 | Lock35: ; Lock06: | Lock18: | | MOV EBX,[b] ; MOV EBX,$1 | MOV EBX,$1 | | MOV [L_b],$0 ; XCHG [L_c],EBX | XCHG [L_y],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock08 | JE Lock20 | | ; Lock07: | Lock19: | | ; MOV EBX,[L_c] | MOV EBX,[L_y] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock06 | JE Lock18 | | ; JMP Lock07 | JMP Lock19 | | ; Lock08: | Lock20: | | ; MOV [c],$1 | MOV [y],$1 | | ; MOV [L_c],$0 | MOV [L_y],$0 | | ; Lock09: | Lock21: | | ; MOV EBX,$1 | MOV EBX,$1 | | ; XCHG [L_d],EBX | XCHG [L_c],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EBX,[L_d] | MOV EBX,[L_c] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV EAX,[d] | MOV EAX,[c] | | ; MOV [L_d],$0 | MOV [L_c],$0 | | ; forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%ebx _litmus_P3_2_: xchgl %ebx,(%r10) _litmus_P3_3_: cmpl $0,%ebx _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%r10),%ebx _litmus_P3_7_: cmpl $0,%ebx _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $2,(%rdi) _litmus_P3_12_: movl $0,(%r10) _litmus_P3_13_: movl $1,(%r9) _litmus_P3_14_: movl (%r9),%eax _litmus_P3_15_: LitLock33: _litmus_P3_16_: movl $1,%ebx _litmus_P3_17_: xchgl %ebx,(%r11) _litmus_P3_18_: cmpl $0,%ebx _litmus_P3_19_: je LitLock35 _litmus_P3_20_: LitLock34: _litmus_P3_21_: movl (%r11),%ebx _litmus_P3_22_: cmpl $0,%ebx _litmus_P3_23_: je LitLock33 _litmus_P3_24_: jmp LitLock34 _litmus_P3_25_: LitLock35: _litmus_P3_26_: movl (%r8),%edx _litmus_P3_27_: movl $0,(%r11) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r9) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r11) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rsi),%eax _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r9) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r9),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rcx) _litmus_P1_38_: movl $0,(%r9) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%rbx) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rbx),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%r8),%eax _litmus_P1_51_: movl $0,(%rbx) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%edi _litmus_P2_2_: xchgl %edi,(%rsi) _litmus_P2_3_: cmpl $0,%edi _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rsi),%edi _litmus_P2_7_: cmpl $0,%edi _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rdx) _litmus_P2_12_: movl $0,(%rsi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%edi _litmus_P2_15_: xchgl %edi,(%rcx) _litmus_P2_16_: cmpl $0,%edi _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rcx),%edi _litmus_P2_20_: cmpl $0,%edi _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%rax) _litmus_P2_25_: movl $0,(%rcx) Test X047+X048-L Required Histogram (43 states) 14665818:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 7906 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 7410640:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=1; 4358857:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 15677 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 9880863:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=1; 77 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 5691826:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 597928:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=1; 191 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 15473177:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 2606759:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=1; 2963437:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 21 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 151911:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=2; z=1; 6547522:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 127 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 2243058:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=1; 3 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 6258 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 1396 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=2; z=1; 517 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 341631:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 171066:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=1; 4719069:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 589 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 819785:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=1; y=1; z=2; 5327926:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 11385 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 6134386:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=1; z=2; 6 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 600683:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 77348 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=0; x=2; y=1; z=2; 569 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 7299983:>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 965585:>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=1; z=2; 23925 :>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=0; x=1; y=2; z=2; 711223:>0:EAX=1; 1:EAX=0; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 2 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=1; y=2; z=2; 143045:>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; 18029 :>0:EAX=0; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; 9791 :>0:EAX=1; 1:EAX=1; 3:EAX=1; 3:EBX=1; x=2; y=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (3:EAX=1 /\ (0:EAX=1 /\ (1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)))) \/ 1:EAX=0 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))))) \/ 0:EAX=0 /\ 1:EAX=1 /\ (3:EBX=1 /\ (x=2 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ (z=2 \/ z=1) \/ y=1 /\ (z=2 \/ z=1))) \/ 3:EBX=0 /\ (x=2 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)) \/ x=1 /\ (y=2 /\ z=1 \/ y=1 /\ (z=2 \/ z=1)))))) is validated Hash=e39f8e4e85fedf2c897faa313e0ed116 Time X047+X048-L 230.00 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X049-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X048+X049-L "Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 ; Lock00: | Lock12: | Lock24: ; MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_a],ECX | XCHG [L_x],ECX | XCHG [L_b],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 ; Lock01: | Lock13: | Lock25: ; MOV ECX,[L_a] | MOV ECX,[L_x] | MOV EBX,[L_b] ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 ; JMP Lock01 | JMP Lock13 | JMP Lock25 ; Lock02: | Lock14: | Lock26: ; MOV [a],$1 | MOV [x],$1 | MOV [b],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_b],$0 ; Lock03: | Lock15: | Lock27: ; MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],ECX | XCHG [L_c],ECX | XCHG [L_c],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 ; Lock04: | Lock16: | Lock28: ; MOV ECX,[L_b] | MOV ECX,[L_c] | MOV EBX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 ; JMP Lock04 | JMP Lock16 | JMP Lock28 ; Lock05: | Lock17: | Lock29: ; MOV EBX,[b] | MOV [c],$1 | MOV EAX,[c] ; MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_c],$0 ; Lock06: | Lock18: | ; MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_y],ECX | XCHG [L_a],ECX | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | ; Lock07: | Lock19: | ; MOV ECX,[L_y] | MOV ECX,[L_a] | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | ; JMP Lock07 | JMP Lock19 | ; Lock08: | Lock20: | ; MOV [y],$1 | MOV EBX,[a] | ; MOV [L_y],$0 | MOV [L_a],$0 | ; Lock09: | Lock21: | ; MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_x],ECX | XCHG [L_y],ECX | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | ; Lock10: | Lock22: | ; MOV ECX,[L_x] | MOV ECX,[L_y] | ; CMP ECX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | ; JMP Lock10 | JMP Lock22 | ; Lock11: | Lock23: | ; MOV EAX,[x] | MOV EAX,[y] | ; MOV [L_x],$0 | MOV [L_y],$0 | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) Generated assembler _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r13) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r13),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r10) _litmus_P0_12_: movl $0,(%r13) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r12) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r12),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%r9),%edx _litmus_P0_25_: movl $0,(%r12) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r11) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%rbx) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r12) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r9) _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%r13) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r13),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl (%r10),%edx _litmus_P1_38_: movl $0,(%r13) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) Test X048+X049-L Required Histogram (18 states) 5303058:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 331 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 33 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=0; 4067695:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=0; 4564937:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2972207:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 4086227:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 33662644:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 523794:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 10875438:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 778 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 892 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 1647129:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 8059164:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 1586887:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 13431340:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 9217442:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0)) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1) \/ 1:EAX=0 /\ (1:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 1:EBX=0 /\ 2:EAX=1))) \/ 0:EAX=0 /\ 1:EAX=1 /\ 1:EBX=1 /\ (0:EBX=1 /\ (2:EAX=1 \/ 2:EAX=0) \/ 0:EBX=0 /\ (2:EAX=1 \/ 2:EAX=0))) is validated Hash=38d9f5f96b1321a03de0ae8490dbdd42 Time X048+X049-L 176.03 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X050-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X049+X050-L "Fre PodWR Fre PodWR Fre PodWR+Fre PodWR Fre PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_z],ECX | XCHG [L_a],ECX | XCHG [L_d],ECX | XCHG [L_c],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_z] | MOV ECX,[L_a] | MOV ECX,[L_d] | MOV EBX,[L_c] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$1 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],ECX | XCHG [L_b],ECX | XCHG [L_a],ECX | XCHG [L_d],EBX ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_b] | MOV ECX,[L_b] | MOV ECX,[L_a] | MOV EBX,[L_d] ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$1 | MOV EBX,[b] | MOV EBX,[a] | MOV EAX,[d] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_c],ECX | XCHG [L_x],ECX | XCHG [L_y],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV ECX,[L_c] | MOV ECX,[L_x] | MOV ECX,[L_y] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV EBX,[c] | MOV [x],$1 | MOV [y],$1 | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV ECX,$1 | MOV ECX,$1 | MOV ECX,$1 | ; XCHG [L_x],ECX | XCHG [L_y],ECX | XCHG [L_z],ECX | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV ECX,[L_x] | MOV ECX,[L_y] | MOV ECX,[L_z] | ; CMP ECX,$0 | CMP ECX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r11) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r11),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rdi) _litmus_P0_12_: movl $0,(%r11) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%r12) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r12),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r9),%edx _litmus_P0_38_: movl $0,(%r12) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%rbx) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rbx),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%r8),%eax _litmus_P0_51_: movl $0,(%rbx) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r14d _litmus_P1_2_: xchgl %r14d,(%r13) _litmus_P1_3_: cmpl $0,%r14d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r13),%r14d _litmus_P1_7_: cmpl $0,%r14d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r10) _litmus_P1_12_: movl $0,(%r13) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r14d _litmus_P1_15_: xchgl %r14d,(%r12) _litmus_P1_16_: cmpl $0,%r14d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r12),%r14d _litmus_P1_20_: cmpl $0,%r14d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl (%r9),%edx _litmus_P1_25_: movl $0,(%r12) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r14d _litmus_P1_28_: xchgl %r14d,(%rbx) _litmus_P1_29_: cmpl $0,%r14d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rbx),%r14d _litmus_P1_33_: cmpl $0,%r14d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%r8) _litmus_P1_38_: movl $0,(%rbx) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r14d _litmus_P1_41_: xchgl %r14d,(%r11) _litmus_P1_42_: cmpl $0,%r14d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r11),%r14d _litmus_P1_46_: cmpl $0,%r14d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rdi),%eax _litmus_P1_51_: movl $0,(%r11) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X049+X050-L Required Histogram (82 states) 21 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 110 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 628234:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 261942:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 39727 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 76 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 139 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 173304:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 2 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 55 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 57535 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 4473650:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 185299:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 551951:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 4 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 516148:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 5 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 62 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 150288:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 9611 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 15297171:>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; 4 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 6352 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 1916727:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 625841:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 138722:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3508481:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 2325622:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 156416:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 12 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 5380936:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 626346:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 175 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 19 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 16402 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 2849 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 5626072:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 43583 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 10764 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 1731849:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 588374:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 106 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2102 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 15 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 6508 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2479 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2257759:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 316 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 37 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 112 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 168 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2949586:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 44650 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 10643040:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 2817188:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 1862 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 987606:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2594 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 11 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2139642:>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; 17 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 2 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 815 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 568163:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 406 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 12950047:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1559 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 41586 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3664 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 6031436:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1328452:>0:EAX=0; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 486304:>0:EAX=1; 0:EBX=0; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 360395:>0:EAX=0; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 1746530:>0:EAX=1; 0:EBX=1; 1:EAX=0; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2967667:>0:EAX=0; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 124269:>0:EAX=1; 0:EBX=0; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3640086:>0:EAX=0; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 2841933:>0:EAX=1; 0:EBX=1; 1:EAX=1; 1:EBX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ (1:EBX=1 /\ 2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))))) \/ 0:EAX=0 /\ (0:EBX=1 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0))) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)))) \/ 0:EBX=0 /\ (1:EAX=1 /\ (1:EBX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0)) \/ 1:EBX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 \/ 2:EBX=0))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (1:EBX=1 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ (3:EAX=1 \/ 3:EAX=0)) \/ 1:EBX=0 /\ (2:EBX=1 /\ (3:EAX=1 \/ 3:EAX=0) \/ 2:EBX=0 /\ 3:EAX=1))))) is validated Hash=e4ed9491c75b137554cc4aa9dd4cef4f Time X049+X050-L 244.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X051-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X050+X051-L "Fre PodWR Fre PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_c],ECX | XCHG [L_x],EBX | XCHG [L_e],ECX | XCHG [L_d],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV ECX,[L_c] | MOV EBX,[L_x] | MOV ECX,[L_e] | MOV ECX,[L_d] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [c],$2 | MOV [x],$1 | MOV [e],$1 | MOV [d],$1 ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_e],$0 | MOV [L_d],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_a],ECX | XCHG [L_b],EBX | XCHG [L_b],ECX | XCHG [L_e],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV ECX,[L_a] | MOV EBX,[L_b] | MOV ECX,[L_b] | MOV ECX,[L_e] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [a],$1 | MOV [b],$1 | MOV EBX,[b] | MOV EBX,[e] ; MOV [L_a],$0 | MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_e],$0 ; Lock06: | Lock18: | Lock30: | Lock42: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_d],ECX | XCHG [L_c],EBX | XCHG [L_y],ECX | XCHG [L_z],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock08 | JE Lock20 | JE Lock32 | JE Lock44 ; Lock07: | Lock19: | Lock31: | Lock43: ; MOV ECX,[L_d] | MOV EBX,[L_c] | MOV ECX,[L_y] | MOV ECX,[L_z] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock06 | JE Lock18 | JE Lock30 | JE Lock42 ; JMP Lock07 | JMP Lock19 | JMP Lock31 | JMP Lock43 ; Lock08: | Lock20: | Lock32: | Lock44: ; MOV EBX,[d] | MOV [c],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_d],$0 | MOV [L_c],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock09: | Lock21: | Lock33: | Lock45: ; MOV ECX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV ECX,$1 ; XCHG [L_x],ECX | XCHG [L_y],EBX | XCHG [L_z],ECX | XCHG [L_a],ECX ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock11 | JE Lock23 | JE Lock35 | JE Lock47 ; Lock10: | Lock22: | Lock34: | Lock46: ; MOV ECX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] | MOV ECX,[L_a] ; CMP ECX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP ECX,$0 ; JE Lock09 | JE Lock21 | JE Lock33 | JE Lock45 ; JMP Lock10 | JMP Lock22 | JMP Lock34 | JMP Lock46 ; Lock11: | Lock23: | Lock35: | Lock47: ; MOV EAX,[x] | MOV EAX,[y] | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r14d _litmus_P3_2_: xchgl %r14d,(%r12) _litmus_P3_3_: cmpl $0,%r14d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r12),%r14d _litmus_P3_7_: cmpl $0,%r14d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%r9) _litmus_P3_12_: movl $0,(%r12) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r14d _litmus_P3_15_: xchgl %r14d,(%rbx) _litmus_P3_16_: cmpl $0,%r14d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rbx),%r14d _litmus_P3_20_: cmpl $0,%r14d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%r8),%edx _litmus_P3_25_: movl $0,(%rbx) _litmus_P3_26_: LitLock42: _litmus_P3_27_: movl $1,%r14d _litmus_P3_28_: xchgl %r14d,(%r11) _litmus_P3_29_: cmpl $0,%r14d _litmus_P3_30_: je LitLock44 _litmus_P3_31_: LitLock43: _litmus_P3_32_: movl (%r11),%r14d _litmus_P3_33_: cmpl $0,%r14d _litmus_P3_34_: je LitLock42 _litmus_P3_35_: jmp LitLock43 _litmus_P3_36_: LitLock44: _litmus_P3_37_: movl $1,(%rdi) _litmus_P3_38_: movl $0,(%r11) _litmus_P3_39_: LitLock45: _litmus_P3_40_: movl $1,%r14d _litmus_P3_41_: xchgl %r14d,(%r13) _litmus_P3_42_: cmpl $0,%r14d _litmus_P3_43_: je LitLock47 _litmus_P3_44_: LitLock46: _litmus_P3_45_: movl (%r13),%r14d _litmus_P3_46_: cmpl $0,%r14d _litmus_P3_47_: je LitLock45 _litmus_P3_48_: jmp LitLock46 _litmus_P3_49_: LitLock47: _litmus_P3_50_: movl (%r10),%eax _litmus_P3_51_: movl $0,(%r13) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r14d _litmus_P0_2_: xchgl %r14d,(%r12) _litmus_P0_3_: cmpl $0,%r14d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r12),%r14d _litmus_P0_7_: cmpl $0,%r14d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r9) _litmus_P0_12_: movl $0,(%r12) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r14d _litmus_P0_15_: xchgl %r14d,(%r13) _litmus_P0_16_: cmpl $0,%r14d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r13),%r14d _litmus_P0_20_: cmpl $0,%r14d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%r10) _litmus_P0_25_: movl $0,(%r13) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r14d _litmus_P0_28_: xchgl %r14d,(%rbx) _litmus_P0_29_: cmpl $0,%r14d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%rbx),%r14d _litmus_P0_33_: cmpl $0,%r14d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%r8),%edx _litmus_P0_38_: movl $0,(%rbx) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r14d _litmus_P0_41_: xchgl %r14d,(%r11) _litmus_P0_42_: cmpl $0,%r14d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r11),%r14d _litmus_P0_46_: cmpl $0,%r14d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rdi),%eax _litmus_P0_51_: movl $0,(%r11) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r10) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r11) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r11),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rdi) _litmus_P1_38_: movl $0,(%r11) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X050+X051-L Required Histogram (116 states) 10 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 205 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 8 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 214 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 558032:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 2956095:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 139061:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 4087005:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 26093 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 1525793:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=1; 20 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 2 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 81 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1732 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 9 :>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; 33 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 176 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 124176:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 637 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1315931:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 1378418:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=1; 5 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 11 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 2 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 150 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 192 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 395967:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1026375:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 599858:>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 9925860:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 52477 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 12663 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 119179:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 1465680:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=1; 41040 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 1456459:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 115699:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 3448227:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=1; 4 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 1212 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 106797:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 317155:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=1; 259 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1770 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 394 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1667326:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 3553671:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 441085:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 19569979:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 196 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 467 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 6 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 1737 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 532535:>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 209201:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 505936:>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 8034837:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=1; 82002 :>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2458368:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 24 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1267357:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 35227 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 700029:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 16 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 1892491:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 247216:>0:EAX=0; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2227004:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 656 :>0:EAX=0; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 8601612:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 39745 :>0:EAX=0; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 190231:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 96 :>0:EAX=0; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 2663213:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=1; 174 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 324 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 117206:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=0; c=2; 245 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 44 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 2332217:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 43957 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=0; c=2; 43 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 22 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=0; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 324 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 29 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 72307 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 988408:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 55 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=0; c=2; 320 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 848223:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 2772 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 416331:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; 3:EBX=1; c=2; 242500:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 79807 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 1050072:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 95210 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; 3:EBX=1; c=2; 143 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1324 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 132401:>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1260178:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 1 :>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 909 :>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 3785 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; 3:EBX=1; c=2; 622768:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2476920:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 27371 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 296573:>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 128041:>0:EAX=1; 0:EBX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 2616236:>0:EAX=1; 0:EBX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 3 :>0:EAX=1; 0:EBX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; 19301 :>0:EAX=1; 0:EBX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; 3:EBX=1; c=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 3:EAX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)))))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ (c=2 \/ c=1)) \/ 2:EBX=0 /\ (3:EBX=1 /\ (c=2 \/ c=1) \/ 3:EBX=0 /\ c=1))))) \/ 0:EAX=0 /\ c=1 /\ (0:EBX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ (2:EBX=1 /\ 3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EBX=0 /\ (3:EAX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 3:EAX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))) \/ 0:EBX=0 /\ 3:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EBX=1 \/ 3:EBX=0) \/ 2:EBX=0 /\ (3:EBX=1 \/ 3:EBX=0)))))) is validated Hash=81455cc8edec1ed085b99d09bbd73d5a Time X050+X051-L 274.36 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X052-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X051+X052-L "Fre PodWW Wse PodWR Fre PodWR Fre PodWR+Fre PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_a],EBX | XCHG [L_d],EBX | XCHG [L_y],ECX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EBX,[L_a] | MOV EBX,[L_d] | MOV ECX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],EBX | XCHG [L_b],EBX | XCHG [L_c],ECX | XCHG [L_a],EBX ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EBX,[L_b] | MOV EBX,[L_b] | MOV ECX,[L_c] | MOV EBX,[L_a] ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV [c],$1 | MOV EAX,[a] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_c],EBX | XCHG [L_x],EBX | XCHG [L_d],ECX | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EBX,[L_c] | MOV EBX,[L_x] | MOV ECX,[L_d] | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV EAX,[c] | MOV [x],$2 | MOV EBX,[d] | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EBX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_x],EBX | XCHG [L_y],EBX | XCHG [L_z],ECX | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EBX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] | ; CMP EBX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rdi) _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r10) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r10),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl (%rsi),%eax _litmus_P0_38_: movl $0,(%r10) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r9) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r9),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rcx) _litmus_P0_51_: movl $0,(%r9) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r11) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r11),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdi) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%rbx) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rbx),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r8) _litmus_P2_12_: movl $0,(%rbx) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $1,(%r10) _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%r12) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r12),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%r9),%edx _litmus_P2_38_: movl $0,(%r12) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X051+X052-L Required Histogram (63 states) 5786 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=1; 1 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 422660:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=1; 62819 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 187929:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 1106829:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=1; 237828:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=1; 4 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 445888:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=1; 376 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 1 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 2083 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 43851 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=1; 435146:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 7 :>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 1259389:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 4347891:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=1; 334000:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=1; 2330439:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=1; 5867 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 260049:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; x=1; 1742884:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 1927047:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 542384:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 19814477:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=1; 766744:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=1; 413860:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=1; 6200 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 24750 :>0:EAX=1; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 2537 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 846728:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=1; 3984024:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1156338:>0:EAX=1; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 1796704:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 14539346:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=1; 28722 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; x=2; 335629:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 3160235:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; x=2; 197461:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 2148786:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 1185626:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; x=2; 69031 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1433490:>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; x=2; 1761477:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 5134282:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; x=2; 1518 :>0:EAX=0; 1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 61850 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 23374 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; x=2; 1910645:>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 19357988:>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 4110782:>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; x=2; 194 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; x=2; 3129 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; x=2; 317 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 1843 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 1174 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; x=2; 2285 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; x=2; 1411 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; x=2; 38 :>0:EAX=0; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 224 :>0:EAX=1; 1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; x=2; 585 :>0:EAX=0; 1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 13094 :>0:EAX=0; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; 1944 :>0:EAX=1; 1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ 2:EBX=1 /\ x=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ (b=2 \/ b=1)) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 \/ b=1) \/ 3:EAX=0 /\ b=2))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ b=1 /\ (3:EAX=1 /\ (x=2 \/ x=1) \/ 3:EAX=0 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 2:EBX=0 /\ b=1 /\ (x=2 \/ x=1))) \/ 1:EAX=0 /\ 2:EBX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1)) \/ 3:EAX=0 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ 3:EAX=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) is validated Hash=d7a3d98f45c33c35e95221ab0988fcc6 Time X051+X052-L 247.28 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X053-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X052+X053-L "Fre PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWW Wse PodWR Fre PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_z],EAX | XCHG [L_a],EBX | XCHG [L_d],ECX | XCHG [L_c],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_z] | MOV EBX,[L_a] | MOV ECX,[L_d] | MOV EBX,[L_c] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [z],$1 | MOV [a],$1 | MOV [d],$1 | MOV [c],$2 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | MOV EBX,$1 ; XCHG [L_b],EAX | XCHG [L_b],EBX | XCHG [L_a],ECX | XCHG [L_d],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EBX,[L_b] | MOV ECX,[L_a] | MOV EBX,[L_d] ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV EAX,[d] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_c],EAX | XCHG [L_x],EBX | XCHG [L_y],ECX | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EBX,[L_x] | MOV ECX,[L_y] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV [x],$2 | MOV [y],$1 | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV ECX,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],ECX | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV ECX,[L_z] | ; CMP EAX,$0 | CMP EBX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV EAX,[y] | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%r8) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%r8),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rsi) _litmus_P3_12_: movl $0,(%r8) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%rdi) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rdi),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rcx),%eax _litmus_P3_25_: movl $0,(%rdi) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r10) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $1,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X052+X053-L Required Histogram (81 states) 63839 :>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; 255375:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=1; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 3346925:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 616450:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=1; 813795:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 239 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 3045374:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=1; 2 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 2191139:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 2194640:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=1; 3 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 580602:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 50 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 151653:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=1; 587884:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 602730:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 15348563:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 1947132:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=1; 152 :>1:EAX=0; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 5406651:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 1680 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 2095082:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=1; 975994:>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 2541772:>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 12386289:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 6231932:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=1; 101804:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 16 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=1; 8141 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 87 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 34804 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=1; 406610:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 105658:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=1; 205703:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 7 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=1; 16724 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 107 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 6741 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=1; 1724 :>1:EAX=0; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 2921 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 639382:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 48331 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=1; 234117:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 19 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=1; x=2; 4160202:>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; 2969581:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 5059556:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=1; x=2; 1460374:>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 83 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 9819624:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=1; x=2; 12 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 351993:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 3632568:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=1; x=2; 67 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 110 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=2; c=1; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 11255 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 7096 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=1; x=2; 3268 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 2437 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=1; x=2; 5 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 485 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=1; x=2; 4795 :>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; 49487 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=0; b=1; c=2; x=2; 755437:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 191531:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=1; c=2; x=2; 59713 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 398 :>1:EAX=0; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 3056623:>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=1; c=2; x=2; 1591579:>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 3609914:>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=1; c=2; x=2; 73 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=0; b=2; c=2; x=2; 21 :>1:EAX=1; 2:EAX=0; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 19 :>1:EAX=1; 2:EAX=1; 2:EBX=0; 3:EAX=1; b=2; c=2; x=2; 1 :>1:EAX=1; 2:EAX=0; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 892 :>1:EAX=0; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; 1937 :>1:EAX=1; 2:EAX=1; 2:EBX=1; 3:EAX=1; b=2; c=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ c=1 /\ (b=2 /\ (x=2 \/ x=1) \/ b=1 /\ (x=2 \/ x=1))))) \/ 1:EAX=0 /\ (2:EAX=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 \/ x=1) \/ b=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 \/ x=1))))) \/ 2:EAX=0 /\ b=2 /\ x=1 /\ (2:EBX=1 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1) \/ 2:EBX=0 /\ (3:EAX=1 /\ (c=2 \/ c=1) \/ 3:EAX=0 /\ c=1)))) is validated Hash=2549e0cc3641e2cc07f18e3b63bb3273 Time X052+X053-L 249.26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X054-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X053+X054-L "Fre PodWW Wse PodWW Wse PodWR Fre PodWR+Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EBX | XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EBX,[L_a] | MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [a],$1 | MOV [x],$2 | MOV [y],$2 | MOV [z],$1 ; MOV [L_a],$0 | MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock33: ; MOV EBX,$1 | MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_x],EBX | XCHG [L_c],EAX | XCHG [L_z],EBX | XCHG [L_a],EBX ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock04: | Lock16: | Lock28: | Lock34: ; MOV EBX,[L_x] | MOV EAX,[L_c] | MOV EBX,[L_z] | MOV EBX,[L_a] ; CMP EBX,$0 | CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock05: | Lock17: | Lock29: | Lock35: ; MOV [x],$1 | MOV [c],$1 | MOV EAX,[z] | MOV EAX,[a] ; MOV [L_x],$0 | MOV [L_c],$0 | MOV [L_z],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | | ; MOV EBX,$1 | MOV EAX,$1 | | ; XCHG [L_b],EBX | XCHG [L_y],EAX | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock08 | JE Lock20 | | ; Lock07: | Lock19: | | ; MOV EBX,[L_b] | MOV EAX,[L_y] | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock06 | JE Lock18 | | ; JMP Lock07 | JMP Lock19 | | ; Lock08: | Lock20: | | ; MOV [b],$2 | MOV [y],$1 | | ; MOV [L_b],$0 | MOV [L_y],$0 | | ; Lock09: | Lock21: | | ; MOV EBX,$1 | MOV EAX,$1 | | ; XCHG [L_c],EBX | XCHG [L_b],EAX | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EBX,[L_c] | MOV EAX,[L_b] | | ; CMP EBX,$0 | CMP EAX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV EAX,[c] | MOV [b],$1 | | ; MOV [L_c],$0 | MOV [L_b],$0 | | ; forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r9) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $1,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r11) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r11),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $2,(%rdi) _litmus_P0_38_: movl $0,(%r11) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl (%rsi),%eax _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r8) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r8),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $2,(%rdx) _litmus_P1_12_: movl $0,(%r8) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%rdi) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%rdi),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $1,(%rax) _litmus_P1_38_: movl $0,(%rdi) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%r10) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r10),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rsi) _litmus_P1_51_: movl $0,(%r10) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%r8) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r8),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rsi) _litmus_P2_12_: movl $0,(%r8) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%rdi) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rdi),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rcx),%eax _litmus_P2_25_: movl $0,(%rdi) Test X053+X054-L Required Histogram (43 states) 588 :>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 648720:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=1; y=1; 10288 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 7442712:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=1; 12644 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 5640462:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=1; 17168 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 9162477:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=1; 4505665:>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=1; 15571537:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=1; 5165664:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=1; 4367308:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=1; 452944:>0:EAX=0; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 50720 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=1; x=2; y=1; 5795477:>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 563058:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=1; 6897808:>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 816964:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=1; 16012529:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 2577751:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=1; 4 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=2; y=1; 61 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=1; 483 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=1; 141 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=1; 38 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 167655:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=1; y=2; 1 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 155761:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=1; y=2; 169 :>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 2143258:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=1; y=2; 30044 :>0:EAX=1; 2:EAX=0; 3:EAX=0; b=2; x=1; y=2; 3493611:>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=1; y=2; 721069:>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=1; y=2; 6904952:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=1; y=2; 6983 :>0:EAX=0; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 1575 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=1; x=2; y=2; 23585 :>0:EAX=0; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 10370 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=1; x=2; y=2; 450150:>0:EAX=0; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 176973:>0:EAX=1; 2:EAX=1; 3:EAX=1; b=1; x=2; y=2; 9 :>0:EAX=1; 2:EAX=1; 3:EAX=0; b=2; x=2; y=2; 2 :>0:EAX=1; 2:EAX=0; 3:EAX=1; b=2; x=2; y=2; 622 :>0:EAX=1; 2:EAX=1; 3:EAX=1; b=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 3:EAX=0 /\ (b=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ b=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1))))) \/ 0:EAX=0 /\ b=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ 3:EAX=0 /\ y=1 /\ (x=2 \/ x=1)))) is validated Hash=41724ac8b54d2e6e267d9dba6f5fcca9 Time X053+X054-L 223.93 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X055-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X054+X055-L "Fre PodWW Wse PodWR+Fre PodWW Wse PodWR Fre PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock30: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 ; XCHG [L_b],EBX | XCHG [L_a],EBX | XCHG [L_d],EBX | XCHG [L_c],EAX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock32 ; Lock01: | Lock13: | Lock25: | Lock31: ; MOV EBX,[L_b] | MOV EBX,[L_a] | MOV EBX,[L_d] | MOV EAX,[L_c] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock30 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock31 ; Lock02: | Lock14: | Lock26: | Lock32: ; MOV [b],$2 | MOV [a],$1 | MOV [d],$2 | MOV [c],$1 ; MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock33: ; MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EAX,$1 ; XCHG [L_c],EBX | XCHG [L_b],EBX | XCHG [L_a],EBX | XCHG [L_d],EAX ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock35 ; Lock04: | Lock16: | Lock28: | Lock34: ; MOV EBX,[L_c] | MOV EBX,[L_b] | MOV EBX,[L_a] | MOV EAX,[L_d] ; CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock33 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock34 ; Lock05: | Lock17: | Lock29: | Lock35: ; MOV EAX,[c] | MOV [b],$1 | MOV EAX,[a] | MOV [d],$1 ; MOV [L_c],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | | ; MOV EBX,$1 | MOV EBX,$1 | | ; XCHG [L_y],EBX | XCHG [L_x],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock08 | JE Lock20 | | ; Lock07: | Lock19: | | ; MOV EBX,[L_y] | MOV EBX,[L_x] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock06 | JE Lock18 | | ; JMP Lock07 | JMP Lock19 | | ; Lock08: | Lock20: | | ; MOV [y],$1 | MOV [x],$2 | | ; MOV [L_y],$0 | MOV [L_x],$0 | | ; Lock09: | Lock21: | | ; MOV EBX,$1 | MOV EBX,$1 | | ; XCHG [L_x],EBX | XCHG [L_y],EBX | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock11 | JE Lock23 | | ; Lock10: | Lock22: | | ; MOV EBX,[L_x] | MOV EBX,[L_y] | | ; CMP EBX,$0 | CMP EBX,$0 | | ; JE Lock09 | JE Lock21 | | ; JMP Lock10 | JMP Lock22 | | ; Lock11: | Lock23: | | ; MOV [x],$1 | MOV EAX,[y] | | ; MOV [L_x],$0 | MOV [L_y],$0 | | ; forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) Generated assembler _litmus_P3_0_: LitLock30: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock32 _litmus_P3_5_: LitLock31: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock30 _litmus_P3_9_: jmp LitLock31 _litmus_P3_10_: LitLock32: _litmus_P3_11_: movl $1,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock33: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock35 _litmus_P3_18_: LitLock34: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock33 _litmus_P3_22_: jmp LitLock34 _litmus_P3_23_: LitLock35: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r12d _litmus_P0_2_: xchgl %r12d,(%rbx) _litmus_P0_3_: cmpl $0,%r12d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rbx),%r12d _litmus_P0_7_: cmpl $0,%r12d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $2,(%r8) _litmus_P0_12_: movl $0,(%rbx) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r12d _litmus_P0_15_: xchgl %r12d,(%r11) _litmus_P0_16_: cmpl $0,%r12d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r11),%r12d _litmus_P0_20_: cmpl $0,%r12d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl (%rdi),%eax _litmus_P0_25_: movl $0,(%r11) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r12d _litmus_P0_28_: xchgl %r12d,(%r9) _litmus_P0_29_: cmpl $0,%r12d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r12d _litmus_P0_33_: cmpl $0,%r12d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r12d _litmus_P0_41_: xchgl %r12d,(%r10) _litmus_P0_42_: cmpl $0,%r12d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r10),%r12d _litmus_P0_46_: cmpl $0,%r12d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rsi) _litmus_P0_51_: movl $0,(%r10) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%rbx) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%rbx),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%r8) _litmus_P1_12_: movl $0,(%rbx) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%r11) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r11),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rdi) _litmus_P1_25_: movl $0,(%r11) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r9d _litmus_P2_2_: xchgl %r9d,(%rdi) _litmus_P2_3_: cmpl $0,%r9d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%rdi),%r9d _litmus_P2_7_: cmpl $0,%r9d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%rcx) _litmus_P2_12_: movl $0,(%rdi) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r9d _litmus_P2_15_: xchgl %r9d,(%r8) _litmus_P2_16_: cmpl $0,%r9d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r8),%r9d _litmus_P2_20_: cmpl $0,%r9d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%rsi),%eax _litmus_P2_25_: movl $0,(%r8) Test X054+X055-L Required Histogram (44 states) 47891 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 1699240:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=1; x=1; 285886:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 5215366:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=1; 561894:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 2559886:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=1; x=1; 2945507:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 3539612:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=1; 16895 :>0:EAX=0; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 6880203:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=1; x=1; 1075 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 144199:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=1; 1065764:>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 17176231:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=1; x=1; 89157 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 311506:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=1; 81889 :>0:EAX=1; 1:EAX=0; 2:EAX=0; b=1; d=2; x=1; 4 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 724753:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=1; 30477 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 1067415:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=1; d=2; x=1; 185119:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 3789777:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=1; 741850:>0:EAX=1; 1:EAX=0; 2:EAX=0; b=2; d=2; x=1; 25362 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=1; 50308 :>0:EAX=0; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 8643516:>0:EAX=1; 1:EAX=0; 2:EAX=1; b=2; d=2; x=1; 1403 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 260612:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=1; 7118219:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 12116916:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=1; x=2; 10293764:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 1257602:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=1; x=2; 7 :>0:EAX=0; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 132 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=1; x=2; 1100 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 188 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=1; x=2; 163572:>0:EAX=0; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 4909683:>0:EAX=1; 1:EAX=1; 2:EAX=0; b=1; d=2; x=2; 1582853:>0:EAX=0; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 4412544:>0:EAX=1; 1:EAX=1; 2:EAX=1; b=1; d=2; x=2; 30 :>0:EAX=1; 1:EAX=1; 2:EAX=0; b=2; d=2; x=2; 15 :>0:EAX=0; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; 578 :>0:EAX=1; 1:EAX=1; 2:EAX=1; b=2; d=2; x=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (0:EAX=1 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)))) \/ 0:EAX=0 /\ (1:EAX=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1))) \/ 2:EAX=0 /\ (b=2 /\ d=1 /\ (x=2 \/ x=1) \/ b=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 1:EAX=0 /\ x=1 /\ (2:EAX=1 /\ (b=2 /\ (d=2 \/ d=1) \/ b=1 /\ (d=2 \/ d=1)) \/ 2:EAX=0 /\ (b=2 /\ d=1 \/ b=1 /\ (d=2 \/ d=1))))) is validated Hash=acee8cc42bda5987c74a35556a39c2bd Time X054+X055-L 222.23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X056-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X055+X056-L "Fre PodWW Wse PodWR Fre PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_a],EAX | XCHG [L_d],EBX | XCHG [L_y],EBX | XCHG [L_z],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_a] | MOV EBX,[L_d] | MOV EBX,[L_y] | MOV EBX,[L_z] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [a],$1 | MOV [d],$1 | MOV [y],$1 | MOV [z],$2 ; MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_y],$0 | MOV [L_z],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | MOV EBX,$1 ; XCHG [L_b],EAX | XCHG [L_b],EBX | XCHG [L_c],EBX | XCHG [L_a],EBX ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EBX,[L_b] | MOV EBX,[L_c] | MOV EBX,[L_a] ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | CMP EBX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV [c],$2 | MOV EAX,[a] ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_c],$0 | MOV [L_a],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | ; XCHG [L_c],EAX | XCHG [L_x],EBX | XCHG [L_d],EBX | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EBX,[L_x] | MOV EBX,[L_d] | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV [x],$2 | MOV EAX,[d] | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_d],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EBX,$1 | MOV EBX,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EBX | XCHG [L_z],EBX | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EBX,[L_y] | MOV EBX,[L_z] | ; CMP EAX,$0 | CMP EBX,$0 | CMP EBX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV EAX,[y] | MOV [z],$1 | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%r9d _litmus_P3_2_: xchgl %r9d,(%rdi) _litmus_P3_3_: cmpl $0,%r9d _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rdi),%r9d _litmus_P3_7_: cmpl $0,%r9d _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rcx) _litmus_P3_12_: movl $0,(%rdi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%r9d _litmus_P3_15_: xchgl %r9d,(%r8) _litmus_P3_16_: cmpl $0,%r9d _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%r8),%r9d _litmus_P3_20_: cmpl $0,%r9d _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl (%rsi),%eax _litmus_P3_25_: movl $0,(%r8) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%r10) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%r10),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rsi) _litmus_P0_12_: movl $0,(%r10) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r9) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r9),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rcx) _litmus_P0_25_: movl $0,(%r9) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r8) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r8),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rdx) _litmus_P0_38_: movl $0,(%r8) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%rdi) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%rdi),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rax) _litmus_P0_51_: movl $0,(%rdi) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r12d _litmus_P1_2_: xchgl %r12d,(%r11) _litmus_P1_3_: cmpl $0,%r12d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r11),%r12d _litmus_P1_7_: cmpl $0,%r12d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rdi) _litmus_P1_12_: movl $0,(%r11) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r12d _litmus_P1_15_: xchgl %r12d,(%rbx) _litmus_P1_16_: cmpl $0,%r12d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%rbx),%r12d _litmus_P1_20_: cmpl $0,%r12d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%r8) _litmus_P1_25_: movl $0,(%rbx) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r12d _litmus_P1_28_: xchgl %r12d,(%r10) _litmus_P1_29_: cmpl $0,%r12d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r10),%r12d _litmus_P1_33_: cmpl $0,%r12d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rsi) _litmus_P1_38_: movl $0,(%r10) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r12d _litmus_P1_41_: xchgl %r12d,(%r9) _litmus_P1_42_: cmpl $0,%r12d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%r9),%r12d _litmus_P1_46_: cmpl $0,%r12d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl (%rcx),%eax _litmus_P1_51_: movl $0,(%r9) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r12d _litmus_P2_2_: xchgl %r12d,(%r10) _litmus_P2_3_: cmpl $0,%r12d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r10),%r12d _litmus_P2_7_: cmpl $0,%r12d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $1,(%rsi) _litmus_P2_12_: movl $0,(%r10) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r12d _litmus_P2_15_: xchgl %r12d,(%rbx) _litmus_P2_16_: cmpl $0,%r12d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%rbx),%r12d _litmus_P2_20_: cmpl $0,%r12d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl $2,(%r8) _litmus_P2_25_: movl $0,(%rbx) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r12d _litmus_P2_28_: xchgl %r12d,(%r11) _litmus_P2_29_: cmpl $0,%r12d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%r11),%r12d _litmus_P2_33_: cmpl $0,%r12d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl (%rdi),%eax _litmus_P2_38_: movl $0,(%r11) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r12d _litmus_P2_41_: xchgl %r12d,(%r9) _litmus_P2_42_: cmpl $0,%r12d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r9),%r12d _litmus_P2_46_: cmpl $0,%r12d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl $1,(%rcx) _litmus_P2_51_: movl $0,(%r9) Test X055+X056-L Required Histogram (63 states) 665715:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=1; 985606:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=1; z=1; 889549:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=1; 7 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 3892343:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=1; 2347567:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=1; 1976209:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 19335476:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=1; 467227:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=1; 1238044:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 14255175:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=1; 136017:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 268271:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=1; z=1; 1 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=1; z=1; 1062662:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 1801288:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=1; 1789935:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 499679:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=1; z=1; 4153041:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 1772089:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=1; 3044770:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=1; 1240781:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=1; 4943399:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=1; 4435983:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=1; 2403 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=1; 1016 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=2; z=1; 2195 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=1; 1844 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=1; 337540:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=2; x=2; z=1; 166570:>1:EAX=0; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 2066155:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=2; x=2; z=1; 1690004:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=1; 1504953:>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 18056577:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=1; 204 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 1252 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=2; x=2; z=1; 416 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 9712 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=1; 11724 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=1; z=2; 744939:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=1; z=2; 1 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 48185 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=1; z=2; 357731:>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=1; z=2; 5782 :>1:EAX=0; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 250992:>1:EAX=1; 2:EAX=1; 3:EAX=0; b=2; c=1; x=1; z=2; 907902:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=1; z=2; 28528 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 810560:>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=1; z=2; 866 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 3132 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=1; z=2; 6390 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 2673 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=1; z=2; 18913 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=1; c=1; x=2; z=2; 1 :>1:EAX=1; 2:EAX=1; 3:EAX=0; b=1; c=1; x=2; z=2; 1570764:>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=1; x=2; z=2; 36752 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=1; x=2; z=2; 89 :>1:EAX=1; 2:EAX=0; 3:EAX=0; b=2; c=1; x=2; z=2; 2812 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=2; c=1; x=2; z=2; 187 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=1; x=2; z=2; 81260 :>1:EAX=1; 2:EAX=0; 3:EAX=1; b=1; c=2; x=2; z=2; 1365 :>1:EAX=0; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 66761 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=1; c=2; x=2; z=2; 16 :>1:EAX=1; 2:EAX=1; 3:EAX=1; b=2; c=2; x=2; z=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (1:EAX=1 /\ (2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1))))) \/ 2:EAX=0 /\ (3:EAX=1 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))) \/ 3:EAX=0 /\ (b=2 /\ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)))))) \/ 1:EAX=0 /\ 2:EAX=1 /\ (3:EAX=1 /\ (b=2 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ (c=2 /\ (x=2 /\ (z=2 \/ z=1) \/ x=1 /\ (z=2 \/ z=1)) \/ c=1 /\ x=1 /\ (z=2 \/ z=1))) \/ 3:EAX=0 /\ (b=2 /\ (c=2 /\ z=1 /\ (x=2 \/ x=1) \/ c=1 /\ x=1 /\ (z=2 \/ z=1)) \/ b=1 /\ z=1 /\ (c=2 /\ (x=2 \/ x=1) \/ c=1 /\ x=1)))) is validated Hash=8202391a4651d464fb16948d886f7ac4 Time X055+X056-L 252.47 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Results for ./L/X057-L.litmus % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X86 X056+X057-L "Fre PodWW Wse PodWW Wse PodWR+Fre PodWW Wse PodWW Wse PodWW Wse PodWR" {} P0 | P1 | P2 | P3 ; Lock00: | Lock12: | Lock24: | Lock36: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_z],EAX | XCHG [L_a],EAX | XCHG [L_d],ECX | XCHG [L_c],EAX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock02 | JE Lock14 | JE Lock26 | JE Lock38 ; Lock01: | Lock13: | Lock25: | Lock37: ; MOV EAX,[L_z] | MOV EAX,[L_a] | MOV ECX,[L_d] | MOV EAX,[L_c] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock00 | JE Lock12 | JE Lock24 | JE Lock36 ; JMP Lock01 | JMP Lock13 | JMP Lock25 | JMP Lock37 ; Lock02: | Lock14: | Lock26: | Lock38: ; MOV [z],$1 | MOV [a],$1 | MOV [d],$2 | MOV [c],$2 ; MOV [L_z],$0 | MOV [L_a],$0 | MOV [L_d],$0 | MOV [L_c],$0 ; Lock03: | Lock15: | Lock27: | Lock39: ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | MOV EAX,$1 ; XCHG [L_b],EAX | XCHG [L_b],EAX | XCHG [L_a],ECX | XCHG [L_d],EAX ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock05 | JE Lock17 | JE Lock29 | JE Lock41 ; Lock04: | Lock16: | Lock28: | Lock40: ; MOV EAX,[L_b] | MOV EAX,[L_b] | MOV ECX,[L_a] | MOV EAX,[L_d] ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | CMP EAX,$0 ; JE Lock03 | JE Lock15 | JE Lock27 | JE Lock39 ; JMP Lock04 | JMP Lock16 | JMP Lock28 | JMP Lock40 ; Lock05: | Lock17: | Lock29: | Lock41: ; MOV [b],$2 | MOV [b],$1 | MOV EBX,[a] | MOV [d],$1 ; MOV [L_b],$0 | MOV [L_b],$0 | MOV [L_a],$0 | MOV [L_d],$0 ; Lock06: | Lock18: | Lock30: | ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | ; XCHG [L_c],EAX | XCHG [L_x],EAX | XCHG [L_y],ECX | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock08 | JE Lock20 | JE Lock32 | ; Lock07: | Lock19: | Lock31: | ; MOV EAX,[L_c] | MOV EAX,[L_x] | MOV ECX,[L_y] | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock06 | JE Lock18 | JE Lock30 | ; JMP Lock07 | JMP Lock19 | JMP Lock31 | ; Lock08: | Lock20: | Lock32: | ; MOV [c],$1 | MOV [x],$2 | MOV [y],$2 | ; MOV [L_c],$0 | MOV [L_x],$0 | MOV [L_y],$0 | ; Lock09: | Lock21: | Lock33: | ; MOV EAX,$1 | MOV EAX,$1 | MOV ECX,$1 | ; XCHG [L_x],EAX | XCHG [L_y],EAX | XCHG [L_z],ECX | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock11 | JE Lock23 | JE Lock35 | ; Lock10: | Lock22: | Lock34: | ; MOV EAX,[L_x] | MOV EAX,[L_y] | MOV ECX,[L_z] | ; CMP EAX,$0 | CMP EAX,$0 | CMP ECX,$0 | ; JE Lock09 | JE Lock21 | JE Lock33 | ; JMP Lock10 | JMP Lock22 | JMP Lock34 | ; Lock11: | Lock23: | Lock35: | ; MOV [x],$1 | MOV [y],$1 | MOV EAX,[z] | ; MOV [L_x],$0 | MOV [L_y],$0 | MOV [L_z],$0 | ; forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) Generated assembler _litmus_P3_0_: LitLock36: _litmus_P3_1_: movl $1,%edi _litmus_P3_2_: xchgl %edi,(%rsi) _litmus_P3_3_: cmpl $0,%edi _litmus_P3_4_: je LitLock38 _litmus_P3_5_: LitLock37: _litmus_P3_6_: movl (%rsi),%edi _litmus_P3_7_: cmpl $0,%edi _litmus_P3_8_: je LitLock36 _litmus_P3_9_: jmp LitLock37 _litmus_P3_10_: LitLock38: _litmus_P3_11_: movl $2,(%rdx) _litmus_P3_12_: movl $0,(%rsi) _litmus_P3_13_: LitLock39: _litmus_P3_14_: movl $1,%edi _litmus_P3_15_: xchgl %edi,(%rcx) _litmus_P3_16_: cmpl $0,%edi _litmus_P3_17_: je LitLock41 _litmus_P3_18_: LitLock40: _litmus_P3_19_: movl (%rcx),%edi _litmus_P3_20_: cmpl $0,%edi _litmus_P3_21_: je LitLock39 _litmus_P3_22_: jmp LitLock40 _litmus_P3_23_: LitLock41: _litmus_P3_24_: movl $1,(%rax) _litmus_P3_25_: movl $0,(%rcx) _litmus_P0_0_: LitLock00: _litmus_P0_1_: movl $1,%r11d _litmus_P0_2_: xchgl %r11d,(%rdi) _litmus_P0_3_: cmpl $0,%r11d _litmus_P0_4_: je LitLock02 _litmus_P0_5_: LitLock01: _litmus_P0_6_: movl (%rdi),%r11d _litmus_P0_7_: cmpl $0,%r11d _litmus_P0_8_: je LitLock00 _litmus_P0_9_: jmp LitLock01 _litmus_P0_10_: LitLock02: _litmus_P0_11_: movl $1,(%rax) _litmus_P0_12_: movl $0,(%rdi) _litmus_P0_13_: LitLock03: _litmus_P0_14_: movl $1,%r11d _litmus_P0_15_: xchgl %r11d,(%r10) _litmus_P0_16_: cmpl $0,%r11d _litmus_P0_17_: je LitLock05 _litmus_P0_18_: LitLock04: _litmus_P0_19_: movl (%r10),%r11d _litmus_P0_20_: cmpl $0,%r11d _litmus_P0_21_: je LitLock03 _litmus_P0_22_: jmp LitLock04 _litmus_P0_23_: LitLock05: _litmus_P0_24_: movl $2,(%rsi) _litmus_P0_25_: movl $0,(%r10) _litmus_P0_26_: LitLock06: _litmus_P0_27_: movl $1,%r11d _litmus_P0_28_: xchgl %r11d,(%r9) _litmus_P0_29_: cmpl $0,%r11d _litmus_P0_30_: je LitLock08 _litmus_P0_31_: LitLock07: _litmus_P0_32_: movl (%r9),%r11d _litmus_P0_33_: cmpl $0,%r11d _litmus_P0_34_: je LitLock06 _litmus_P0_35_: jmp LitLock07 _litmus_P0_36_: LitLock08: _litmus_P0_37_: movl $1,(%rcx) _litmus_P0_38_: movl $0,(%r9) _litmus_P0_39_: LitLock09: _litmus_P0_40_: movl $1,%r11d _litmus_P0_41_: xchgl %r11d,(%r8) _litmus_P0_42_: cmpl $0,%r11d _litmus_P0_43_: je LitLock11 _litmus_P0_44_: LitLock10: _litmus_P0_45_: movl (%r8),%r11d _litmus_P0_46_: cmpl $0,%r11d _litmus_P0_47_: je LitLock09 _litmus_P0_48_: jmp LitLock10 _litmus_P0_49_: LitLock11: _litmus_P0_50_: movl $1,(%rdx) _litmus_P0_51_: movl $0,(%r8) _litmus_P1_0_: LitLock12: _litmus_P1_1_: movl $1,%r11d _litmus_P1_2_: xchgl %r11d,(%r10) _litmus_P1_3_: cmpl $0,%r11d _litmus_P1_4_: je LitLock14 _litmus_P1_5_: LitLock13: _litmus_P1_6_: movl (%r10),%r11d _litmus_P1_7_: cmpl $0,%r11d _litmus_P1_8_: je LitLock12 _litmus_P1_9_: jmp LitLock13 _litmus_P1_10_: LitLock14: _litmus_P1_11_: movl $1,(%rsi) _litmus_P1_12_: movl $0,(%r10) _litmus_P1_13_: LitLock15: _litmus_P1_14_: movl $1,%r11d _litmus_P1_15_: xchgl %r11d,(%r9) _litmus_P1_16_: cmpl $0,%r11d _litmus_P1_17_: je LitLock17 _litmus_P1_18_: LitLock16: _litmus_P1_19_: movl (%r9),%r11d _litmus_P1_20_: cmpl $0,%r11d _litmus_P1_21_: je LitLock15 _litmus_P1_22_: jmp LitLock16 _litmus_P1_23_: LitLock17: _litmus_P1_24_: movl $1,(%rcx) _litmus_P1_25_: movl $0,(%r9) _litmus_P1_26_: LitLock18: _litmus_P1_27_: movl $1,%r11d _litmus_P1_28_: xchgl %r11d,(%r8) _litmus_P1_29_: cmpl $0,%r11d _litmus_P1_30_: je LitLock20 _litmus_P1_31_: LitLock19: _litmus_P1_32_: movl (%r8),%r11d _litmus_P1_33_: cmpl $0,%r11d _litmus_P1_34_: je LitLock18 _litmus_P1_35_: jmp LitLock19 _litmus_P1_36_: LitLock20: _litmus_P1_37_: movl $2,(%rdx) _litmus_P1_38_: movl $0,(%r8) _litmus_P1_39_: LitLock21: _litmus_P1_40_: movl $1,%r11d _litmus_P1_41_: xchgl %r11d,(%rdi) _litmus_P1_42_: cmpl $0,%r11d _litmus_P1_43_: je LitLock23 _litmus_P1_44_: LitLock22: _litmus_P1_45_: movl (%rdi),%r11d _litmus_P1_46_: cmpl $0,%r11d _litmus_P1_47_: je LitLock21 _litmus_P1_48_: jmp LitLock22 _litmus_P1_49_: LitLock23: _litmus_P1_50_: movl $1,(%rax) _litmus_P1_51_: movl $0,(%rdi) _litmus_P2_0_: LitLock24: _litmus_P2_1_: movl $1,%r14d _litmus_P2_2_: xchgl %r14d,(%r12) _litmus_P2_3_: cmpl $0,%r14d _litmus_P2_4_: je LitLock26 _litmus_P2_5_: LitLock25: _litmus_P2_6_: movl (%r12),%r14d _litmus_P2_7_: cmpl $0,%r14d _litmus_P2_8_: je LitLock24 _litmus_P2_9_: jmp LitLock25 _litmus_P2_10_: LitLock26: _litmus_P2_11_: movl $2,(%r9) _litmus_P2_12_: movl $0,(%r12) _litmus_P2_13_: LitLock27: _litmus_P2_14_: movl $1,%r14d _litmus_P2_15_: xchgl %r14d,(%r13) _litmus_P2_16_: cmpl $0,%r14d _litmus_P2_17_: je LitLock29 _litmus_P2_18_: LitLock28: _litmus_P2_19_: movl (%r13),%r14d _litmus_P2_20_: cmpl $0,%r14d _litmus_P2_21_: je LitLock27 _litmus_P2_22_: jmp LitLock28 _litmus_P2_23_: LitLock29: _litmus_P2_24_: movl (%r10),%edx _litmus_P2_25_: movl $0,(%r13) _litmus_P2_26_: LitLock30: _litmus_P2_27_: movl $1,%r14d _litmus_P2_28_: xchgl %r14d,(%rbx) _litmus_P2_29_: cmpl $0,%r14d _litmus_P2_30_: je LitLock32 _litmus_P2_31_: LitLock31: _litmus_P2_32_: movl (%rbx),%r14d _litmus_P2_33_: cmpl $0,%r14d _litmus_P2_34_: je LitLock30 _litmus_P2_35_: jmp LitLock31 _litmus_P2_36_: LitLock32: _litmus_P2_37_: movl $2,(%r8) _litmus_P2_38_: movl $0,(%rbx) _litmus_P2_39_: LitLock33: _litmus_P2_40_: movl $1,%r14d _litmus_P2_41_: xchgl %r14d,(%r11) _litmus_P2_42_: cmpl $0,%r14d _litmus_P2_43_: je LitLock35 _litmus_P2_44_: LitLock34: _litmus_P2_45_: movl (%r11),%r14d _litmus_P2_46_: cmpl $0,%r14d _litmus_P2_47_: je LitLock33 _litmus_P2_48_: jmp LitLock34 _litmus_P2_49_: LitLock35: _litmus_P2_50_: movl (%rdi),%eax _litmus_P2_51_: movl $0,(%r11) Test X056+X057-L Required Histogram (79 states) 844696:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 2942437:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=1; 3 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 2101942:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=1; 6138341:>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 2191154:>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=1; 2635187:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 5848490:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=1; 7374 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 30681 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=1; 110719:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=1; 19114 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 6902 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=1; 4005 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 44900 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=1; 61809 :>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 289406:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=1; 596689:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=1; 644519:>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 176074:>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=1; 707234:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 2003046:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=1; 18 :>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=1; 4 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=1; 1497618:>2:EAX=0; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 9610981:>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=1; 10 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 3288496:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=1; 3393 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 2533 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=2; y=1; 8 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 5312 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=1; 49133 :>2:EAX=0; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 3109996:>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=1; 2 :>2:EAX=0; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 3881100:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=1; 27 :>2:EAX=0; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 16 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=2; y=1; 1838 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=1; 230894:>2:EAX=0; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 4323226:>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=1; 4 :>2:EAX=0; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 4895939:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=1; 78 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 141 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=2; y=1; 4 :>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 6280 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=1; 41513 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=2; x=2; y=1; 196391:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=1; 171 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=1; y=2; 1946642:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=1; y=2; 123 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 1628 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=1; x=1; y=2; 1076397:>2:EAX=0; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 12056320:>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=1; y=2; 69 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=1; y=2; 464407:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=1; y=2; 88 :>2:EAX=1; 2:EBX=0; b=2; c=2; d=1; x=1; y=2; 2327 :>2:EAX=0; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 655901:>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=1; y=2; 7 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=1; y=2; 3167264:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=1; y=2; 9 :>2:EAX=0; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 55 :>2:EAX=1; 2:EBX=0; b=2; c=1; d=2; x=1; y=2; 564800:>2:EAX=0; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 15466002:>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=1; y=2; 126030:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=1; y=2; 195017:>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=1; y=2; 100 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=1; x=2; y=2; 308523:>2:EAX=1; 2:EBX=1; b=1; c=1; d=1; x=2; y=2; 557 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=1; x=2; y=2; 337 :>2:EAX=1; 2:EBX=0; b=1; c=2; d=1; x=2; y=2; 1560200:>2:EAX=1; 2:EBX=1; b=1; c=2; d=1; x=2; y=2; 836 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=1; x=2; y=2; 35 :>2:EAX=1; 2:EBX=0; b=1; c=1; d=2; x=2; y=2; 3078122:>2:EAX=1; 2:EBX=1; b=1; c=1; d=2; x=2; y=2; 11953 :>2:EAX=1; 2:EBX=1; b=2; c=1; d=2; x=2; y=2; 766349:>2:EAX=1; 2:EBX=1; b=1; c=2; d=2; x=2; y=2; 54 :>2:EAX=1; 2:EBX=1; b=2; c=2; d=2; x=2; y=2; Ok Witnesses Positive: 100000000, Negative: 0 Condition forall (2:EAX=1 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ (c=2 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1))) \/ c=1 /\ (d=2 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ (y=2 \/ y=1) \/ x=1 /\ (y=2 \/ y=1)))))) \/ 2:EAX=0 /\ (2:EBX=1 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))) \/ 2:EBX=0 /\ (b=2 /\ (c=2 /\ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ c=1 /\ (d=2 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)) \/ d=1 /\ (x=2 /\ y=1 \/ x=1 /\ (y=2 \/ y=1)))) \/ b=1 /\ y=1 /\ (c=2 /\ d=1 /\ (x=2 \/ x=1) \/ c=1 /\ (d=2 /\ (x=2 \/ x=1) \/ d=1 /\ (x=2 \/ x=1)))))) is validated Hash=5f8f9b5f29a8e2d820d50d6500ecdec8 Time X056+X057-L 254.60 Revision 6702, version 3.00+1 Parameters #ifndef SIZE_OF_TEST #define SIZE_OF_TEST 5000 #endif #ifndef NUMBER_OF_RUN #define NUMBER_OF_RUN 200 #endif #ifndef AVAIL #define AVAIL 8 #endif /* gcc options: -D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread */ /* barrier: user */ /* launch: changing */ /* cache: false */ /* call: false */ /* affinity: incr4 */ /* randomise_affinity: false */ /* prealloc: false */ /* memory: indirect */ /* safer: true */ /* preload: true */ /* para: self */ /* speedcheck: false */ /* proc used: 8 */ GCCOPTS="-D_GNU_SOURCE -Wall -std=gnu99 -fomit-frame-pointer -O2 -m64 -pthread" LITMUSOPTS=+ra -r 10000 Tue Jan 18 22:01:50 CET 2011