Test 1 P2 16 2 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 -add P2 16 1 15 2 3 4 5 6 7 8 9 10 11 12 13 14 15 15 15 1927712885 59 1927712885 59 1927712885 59 -subtract P2 16 1 15 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 622443613 59 622443613 59 622443613 59 -multiply P2 16 1 15 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 1589721418 59 1589721418 59 1589721418 59 -divide P2 16 1 15 0 8 15 15 15 15 15 15 15 15 15 15 15 15 15 15 321546811 59 321546811 59 321546811 59 -difference P2 16 1 15 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 590140907 59 590140907 59 590140907 59 -minimum P2 16 1 15 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3746423180 59 3746423180 59 3746423180 59 -maximum P2 16 1 15 2 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 201376294 59 201376294 59 201376294 59 -mean P2 16 1 15 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 1456675831 59 1456675831 59 1456675831 59 -compare P2 16 1 2 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 196115582 58 196115582 58 196115582 58 -equal P2 16 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4168278327 58 4168278327 58 4168278327 58 -and P2 16 1 15 0 0 2 2 0 0 2 2 0 0 2 2 0 0 2 2 3660405045 59 3660405045 59 3660405045 59 -or P2 16 1 15 2 3 2 3 6 7 6 7 10 11 10 11 14 15 14 15 157317791 59 157317791 59 157317791 59 -nand P2 16 1 15 15 15 13 13 15 15 13 13 15 15 13 13 15 15 13 13 1625584307 59 1625584307 59 1625584307 59 -nor P2 16 1 15 13 12 13 12 9 8 9 8 5 4 5 4 1 0 1 0 3014218009 59 3014218009 59 3014218009 59 -xor P2 16 1 15 2 3 0 1 6 7 4 5 10 11 8 9 14 15 12 13 3227090877 59 3227090877 59 3227090877 59 -shiftleft P2 16 1 15 0 4 8 12 0 4 8 12 0 4 8 12 0 4 8 12 952940636 59 952940636 59 952940636 59 -shiftright P2 16 1 15 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 2898922266 59 2898922266 59 2898922266 59 Test 2 PBM P1 8 2 01010101 00001111 -add P1 8 1 00000101 -subtract P1 8 1 11110101 -multiply P1 8 1 01011111 -divide P1 8 1 01010000 -difference P1 8 1 10100101 -minimum P1 8 1 01011111 -maximum P1 8 1 00000101 -mean P1 8 1 00000101 -compare P2 8 1 2 1 0 1 0 2 1 2 1 -equal P1 8 1 01011010 -and P1 8 1 01011111 -or P1 8 1 00000101 -nand P1 8 1 10100000 -nor P1 8 1 11111010 -xor P1 8 1 10100101 -shiftleft P1 8 1 11110101 -shiftright P1 8 1 11110101 Test 3 -add 2442291770 913 2442291770 913 2442291770 913 -multiply 3074858461 913 3074858461 913 3074858461 913 -difference 3788637303 913 3788637303 913 3788637303 913 -minimum 2046561746 913 2046561746 913 2046561746 913 -maximum 3724820523 913 3724820523 913 3724820523 913 -mean 5885382 913 5885382 913 5885382 913 -equal 780857755 911 780857755 911 780857755 911 -and 889537755 913 889537755 913 889537755 913 -or 2466056482 913 2466056482 913 2466056482 913 -nand 3743732043 913 3743732043 913 3743732043 913 -nor 2027723954 913 2027723954 913 2027723954 913 -xor 291709067 913 291709067 913 291709067 913 -subtract 3705429820 913 3705429820 913 -divide 2136905608 913 2136905608 913 -compare 1563790885 911 1563790885 911 -shiftleft 51480286 913 51480286 913 -shiftright 3072492814 913 3072492814 913 Test 4 (input = output) Prints 281226646 481 six times, then 2921940274 59 six times input image 281226646 481 -minimum 281226646 481 -maximum 281226646 481 -mean 281226646 481 -and 281226646 481 -or 281226646 481 input image 2921940274 59 -minimum 2921940274 59 -maximum 2921940274 59 -mean 2921940274 59 -and 2921940274 59 -or 2921940274 59 Test 5 (blank output) Prints 2247801875 481 three times, then 320101399 59 three times -subtract 2247801875 481 -difference 2247801875 481 -xor 2247801875 481 -subtract 320101399 59 -difference 320101399 59 -xor 320101399 59 Test Invalid Expected failure 1 (no output) Expected failure 2 (no output) Expected failure 3 (no output) Expected failure 4 (no output) Expected failure 5 (no output) Expected failure 6 (no output) Expected failure 7 (no output) Expected failure 8 (no output) Expected failure 9 (no output) Expected failure 10 (no output) Expected failure 11 (no output) Expected failure 12 (no output) Expected failure 13 (no output) Expected failure 14 (no output) Expected failure 15 (no output) Expected failure 16 (no output) Expected failure 17 (no output) Expected failure 18 (no output) Expected failure 19 (no output) Expected failure 20 (no output) Expected failure 21 (no output) Expected failure 22 (no output) Expected failure 23 (no output) Expected failure 24 (no output) Expected failure 25 (no output) Expected failure 26 (no output) Expected failure 27 (no output) Expected failure 28 (no output) Expected failure 29 (no output) Expected failure 30 (no output) Expected failure 31 (no output) Expected failure 32 (no output) Expected failure 33 (no output) Expected failure 34 (no output) Expected failure 35 (no output) Expected failure 36 (no output) Expected failure 37 (no output) Expected failure 38 (no output) Expected failure 39 (no output) Expected failure 40 (no output) Expected failure 41 (no output) Expected failure 42 (no output)