Bit-slice ALU

Scott Laufer, SUNY University at Buffalo

for CSE 341, Fall 2013

Table of Contents

  1. Introduction
  2. Design
    1. Full Adder
    2. 2:1 Multiplexer
    3. Adder Subtractor
    4. 4:1 Multiplexer
    5. Single ALU
    6. Main ALU
  3. Zero-Delay Simulation
    1. Operation Tests
    2. Zero Flag Test
  4. Unit-Delay Simulations
    1. Mean Stabilization Time
    2. Temporal Dependency


I. Introduction

This report will detail the design and testing of a 32-bit Arithmetic Logic Unit in the Verilog circuit drafting language. This ALU will employ a bit-slice design to accept 32-bit operands. Included are diagrams of individual components, path-delay analysis, and simulation results. The goal of this documentation is to provide a clear picture of what is involved in the assembly of an ALU, and how it fits into a larger microprocessor.


II. Design

This section contains descriptions and diagrams of the constituent parts of the circuit, building up to the ALU itself.

Full Adder

This unit is a basic full adder. It is used in the adder subtractor unit.

The critical paths (3 gates) are hilighted in red. The maximum paths are as follows:

a b cin
s 2 2 1
cout 3 3 3

This unit contains 7 gates.


2 to 1 Multiplexer

This unit is used to switch between addition and subtraction in the adder subtractor unit, as well as an intermediate component in the 4:1 multiplexer unit.

The critical path (3 gates) is hilighted in red. The maximum paths are as follows:

a b s
y 2 2 3

This unit contains 4 gates.


Adder Subtractor

This unit is used to implement subtraction functionality not present in the full adder. Only half of the two's complement subtraction functionality is implemented in this unit, the other half being the connection of the subtract flag to the main carry-in in the main ALU.

The critical paths (6 gates) are hilighted in red. The maximum paths are as follows:

a b sub cin
s 2 5 5 1
cout 3 6 6 3

This unit contains 12 gates (7 in full adder, 4 in 2:1 multiplexer, 1 other).


4 to 1 Multiplexer

This unit is used to switch signals in the single ALU.

The critical paths (5 gates) are hilighted in red. The maximum paths are as follows:

a b c d s0 s1
y 4 4 4 4 5 3

This unit contains 12 gates (12 in 2:1 multiplexer x 3).


Single ALU

This unit is the second-to-last step in building the main ALU, as well as the primary component.

The critical paths (9 gates) are hilighted in red. The maximum paths are as follows:

a b cin op0 op1 op2 less
out 6 9 5 5 3 9 4
cout 3 3 3 N/A N/A 6 N/A
set 2 2 1 N/A N/A 5 N/A

This unit contains 26 gates (12 in adder subtractor, 12 in 4:1 multiplexer, 2 other).


Main ALU

This is the overall unit, comprised of all previous unit. This ALU is capable of addition, subtraction, less-than comparisons, binary AND, and binary OR. This ALU uses a bit-slice design to accept 32-bit input operands.

The critical path (109 gates) is hilighted in red. The maximum path table is not included, due to the large number of ports.

This unit contains 865 gates (832 in single ALU x 32, 33 other).


III. Zero-Delay Simulation

The zero-delay ALU source can be viewed here.

In order to verify functionality, 1000 random inputs generated by the included script were run through the ALU in series (i.e. without reinitializing the ALU).

The results were verified using the included program. The output of the verification program is attached below.

The zero flag was separately tested, with simulation output attached below. Due to the necessity of architecture- and compiler-specific implementation, carry-out and and overflow were not tested.

The ALU simulation verification output was as follows:

0: UNKNOWN OUTPUT! Ignore this if it is the first result.
1000: AND -1343263089 + -810983240 = -1884725112 OK
2000: ADD -862576463 + -480617084 = -1343193547 OK
3000: SUB 109037806 + -1527516452 = 1636554258 OK
4000: SLT -959436161 + 2013699419 = 1 OK
5000: ADD 170267994 + 101244991 = 271512985 OK
6000: AND -637107925 + 1052678010 = 436633898 OK
7000: SLT 664716476 + -2042456199 = 0 OK
8000: ADD 1546599130 + 812774190 = -1935593976 OK
9000: ADD -376608184 + -207326766 = -583934950 OK
10000: SLT 399316952 + 516506825 = 1 OK
11000: AND -877085615 + -568638884 = -904396720 OK
12000: ADD 641021688 + 1941817976 = -1712127632 OK
13000: OR -1989479054 + -1071429823 = -915671181 OK
14000: OR 950008327 + -1342760534 = -1073742929 OK
15000: AND -1471653017 + -854486094 = -2013261022 OK
16000: ADD 1197277588 + -1447526395 = -250248807 OK
17000: ADD -839301591 + 910497086 = 71195495 OK
18000: SUB -1971868287 + -548437020 = -1423431267 OK
19000: AND -1125782233 + 1403191683 = 278987011 OK
20000: AND 1404888080 + 36786118 = 36717568 OK
21000: SLT 582865331 + -237055642 = 0 OK
22000: AND 1730515828 + -1475331769 = 536875332 OK
23000: SLT -2135579390 + -1301183134 = 1 OK
24000: ADD 610304515 + 807718762 = 1418023277 OK
25000: SUB -1492036280 + -1169894770 = -322141510 OK
26000: ADD -73523294 + -1603781272 = -1677304566 OK
27000: SLT 1071010005 + 540711515 = 0 OK
28000: SLT 1208104708 + 1392453179 = 1 OK
29000: AND 318199628 + -1149714609 = 309335884 OK
30000: AND 1805723594 + 1057798814 = 721429130 OK
31000: ADD 73936957 + 2014156570 = 2088093527 OK
32000: SLT 1465633461 + -1043628485 = 0 OK
33000: SLT 41853902 + -1738148139 = 0 OK
34000: ADD 1696126807 + -1272755651 = 423371156 OK
35000: ADD -67703496 + 345419865 = 277716369 OK
36000: SLT -1383946478 + 1498376832 = 1 OK
37000: AND 595451969 + -1976082460 = 37044288 OK
38000: AND 1759646536 + -1242920942 = 551682048 OK
39000: SLT 2095116797 + -485347444 = 0 OK
40000: AND 508296444 + 915685068 = 369114316 OK
41000: SLT -1613458823 + 43895340 = 1 OK
42000: OR 100096608 + 133369119 = 133652351 OK
43000: AND -318662627 + 904243663 = 620857357 OK
44000: SLT -607550719 + 1283429488 = 1 OK
45000: AND -257280279 + -755610162 = -794688312 OK
46000: OR -1402376817 + -1579143784 = -1377210977 OK
47000: SLT -1666519845 + 875774735 = 1 OK
48000: AND 449821294 + 571963491 = 34027618 OK
49000: SLT -1934474724 + 1592022318 = 1 OK
50000: SLT -1888531297 + 1674122783 = 1 OK
51000: OR -1273035063 + 758991224 = -1119924231 OK
52000: OR 1667425944 + -651821410 = -77070690 OK
53000: SUB -142268047 + 946027772 = -1088295819 OK
54000: AND -849259741 + 162538555 = 153092131 OK
55000: ADD 393750691 + 475968800 = 869719491 OK
56000: OR 924852839 + -1218234693 = -1218234625 OK
57000: ADD 300142363 + -204491138 = 95651225 OK
58000: ADD 300515741 + 945788447 = 1246304188 OK
59000: ADD 1653222768 + 1626822642 = -1014921886 OK
60000: SUB -1552138204 + 542883278 = -2095021482 OK
61000: ADD -42209959 + 2117163040 = 2074953081 OK
62000: AND 2119515887 + -745542247 = 1376070793 OK
63000: SLT 218036695 + -181351971 = 0 OK
64000: AND -364748924 + -919246462 = -939505280 OK
65000: SUB -507421454 + -1520367554 = 1012946100 OK
66000: ADD 2114133508 + 1926079064 = -254754724 OK
67000: SUB 1543696064 + 859004221 = 684691843 OK
68000: OR 240674293 + -92616584 = -25498115 OK
69000: AND -1377217804 + 1523134001 = 147391024 OK
70000: ADD 2107732927 + 2137063266 = -50171103 OK
71000: SLT -209348308 + -1300191350 = 0 OK
72000: SUB 1471661352 + -1267108899 = -1556197045 OK
73000: ADD -45485651 + -56044136 = -101529787 OK
74000: ADD 1134086437 + -456898603 = 677187834 OK
75000: ADD -895607978 + -1158452672 = -2054060650 OK
76000: ADD -973259809 + 1102999114 = 129739305 OK
77000: SLT 1251068138 + 1094397928 = 0 OK
78000: OR -221284922 + -29786402 = -16810018 OK
79000: AND -1505096950 + -929372146 = -2146826230 OK
80000: OR -1758298888 + 773262305 = -1086881799 OK
81000: SUB 45621615 + 1227431991 = -1181810376 OK
82000: SLT -416158095 + -1575850249 = 0 OK
83000: OR 1891680581 + 1066005058 = 2143941447 OK
84000: OR 381741243 + 812916645 = 922025919 OK
85000: OR 91238327 + -1652900539 = -1652899849 OK
86000: SUB -2125097960 + -2055549851 = -69548109 OK
87000: ADD 724850446 + -1593820555 = -868970109 OK
88000: OR -1726692255 + -1872729574 = -1720390021 OK
89000: SUB 227445229 + 387642828 = -160197599 OK
90000: ADD 1281494785 + 1028493041 = -1984979470 OK
91000: ADD 1901382548 + -934366093 = 967016455 OK
92000: AND 161258469 + 497714461 = 159940869 OK
93000: ADD 191986987 + -1255685366 = -1063698379 OK
94000: SLT 1802469935 + -2131501338 = 0 OK
95000: OR -1434382455 + 767431789 = -1346428947 OK
96000: OR -1665091057 + 1605224710 = -538051825 OK
97000: SUB -44425742 + 2046662028 = -2091087770 OK
98000: OR -235527407 + 247279948 = -52387 OK
99000: SLT -377163330 + 886093154 = 1 OK
100000: AND -731192643 + 445441788 = 269017788 OK
101000: ADD 1895641066 + 1869408317 = -529917913 OK
102000: SLT 1241907561 + 1154314083 = 0 OK
103000: SUB -229496576 + -1179159605 = 949663029 OK
104000: SUB 100580213 + 1358181528 = -1257601315 OK
105000: AND -576175908 + -954915409 = -989855604 OK
106000: SLT 1929644926 + -1444461213 = 0 OK
107000: ADD -225577166 + -1946466170 = 2122923960 OK
108000: OR 1383566889 + 567862461 = 1946152637 OK
109000: OR 308843244 + -1363653720 = -1090987028 OK
110000: AND 551262854 + -717360014 = 1675266 OK
111000: SLT -1219223124 + 980660230 = 1 OK
112000: SLT -1895804342 + 677751223 = 1 OK
113000: AND 1190048283 + 1337915632 = 1185853456 OK
114000: ADD 1311904590 + 1465598949 = -1517463757 OK
115000: ADD -713868589 + -2098976328 = 1482122379 OK
116000: SLT -335075312 + -1306755949 = 0 OK
117000: OR 330486013 + -1487613606 = -1208561153 OK
118000: SUB -260806868 + 121859516 = -382666384 OK
119000: SUB -1830455046 + 642341816 = 1822170434 OK
120000: AND 1556460040 + 1231586751 = 1212186632 OK
121000: SLT -446478154 + 2009162770 = 1 OK
122000: AND 986480935 + -778427816 = 277348352 OK
123000: AND -442198408 + -1506236746 = -1541372368 OK
124000: ADD 1740372190 + -894803230 = 845568960 OK
125000: SUB -64497604 + -1238761434 = 1174263830 OK
126000: SLT 1500441444 + 1658912639 = 1 OK
127000: SLT -2039580918 + 670774818 = 1 OK
128000: ADD 1542178157 + -864795139 = 677383018 OK
129000: SUB -536772920 + 670901079 = -1207673999 OK
130000: OR 830421204 + -1522985326 = -1249952042 OK
131000: ADD -1696362901 + 327145631 = -1369217270 OK
132000: SLT 218012933 + 1517464003 = 1 OK
133000: ADD 1942490525 + -1423413471 = 519077054 OK
134000: OR 1866727196 + -1935778291 = -270532835 OK
135000: SUB -1965603791 + -149082969 = -1816520822 OK
136000: OR -2077701124 + 1654757173 = -425074691 OK
137000: SLT -1623470851 + 438718472 = 1 OK
138000: AND -993432379 + 1839016512 = 1149839424 OK
139000: SUB 502649067 + 1235742075 = -733093008 OK
140000: ADD 1120938616 + 1059960962 = -2114067718 OK
141000: SLT 1771229288 + 1126744870 = 0 OK
142000: SLT 2057553830 + -1857615539 = 0 OK
143000: SUB 1783255161 + 584543310 = 1198711851 OK
144000: AND 821921659 + 972797214 = 821658906 OK
145000: SLT 1880544792 + -831855118 = 0 OK
146000: ADD 1937858446 + -1192386974 = 745471472 OK
147000: AND -1896675924 + 1251246514 = 177209760 OK
148000: SLT 1923868207 + -91778271 = 0 OK
149000: OR -485372486 + -1388102573 = -279708165 OK
150000: SLT 635814197 + 1009211447 = 1 OK
151000: ADD -776926433 + -1159888061 = -1936814494 OK
152000: ADD -1503594124 + 2028018146 = 524424022 OK
153000: SUB -1246993810 + 674027749 = -1921021559 OK
154000: SLT 1174287717 + -1491394870 = 0 OK
155000: AND -683938476 + 295963026 = 287312144 OK
156000: AND 1801357736 + 1111060948 = 1108869504 OK
157000: ADD -423418878 + 1877332875 = 1453913997 OK
158000: OR 1614927973 + -1522183078 = -448406401 OK
159000: OR 781773330 + 2024772181 = 2126510679 OK
160000: ADD 409776311 + -1040089695 = -630313384 OK
161000: AND -934007958 + -1288324554 = -2146162142 OK
162000: SUB 1153291686 + 1494861218 = -341569532 OK
163000: AND -597110530 + 1164069580 = 1147158732 OK
164000: AND -872867741 + -2025871227 = -2093414399 OK
165000: ADD -599763325 + -768677900 = -1368441225 OK
166000: OR 784896946 + 1649632600 = 1859909626 OK
167000: SUB -1922121352 + 1501269623 = 871576321 OK
168000: AND 625977044 + -2050546195 = 88548548 OK
169000: SUB 1190164233 + 1862921788 = -672757555 OK
170000: OR 765254737 + -22286618 = -4194569 OK
171000: SUB 1690124729 + 81651190 = 1608473539 OK
172000: AND 591742307 + 2140790352 = 587285568 OK
173000: OR 1581256918 + 374504569 = 1582464255 OK
174000: OR -1538241283 + 979029094 = -1101345537 OK
175000: ADD 1128164138 + 2134151744 = -1032651414 OK
176000: AND -1592939101 + -1321630387 = -1593211647 OK
177000: SLT 2082243422 + -1304333867 = 0 OK
178000: AND 989240201 + -1034167324 = 38968192 OK
179000: AND -252762105 + -1017712631 = -1069146111 OK
180000: SUB 1818323122 + -1522297594 = -954346580 OK
181000: OR -741295513 + 1376781639 = -741294233 OK
182000: ADD 1405975309 + -379850801 = 1026124508 OK
183000: ADD -1117471179 + -1380565139 = 1796930978 OK
184000: SLT -623809345 + -1918424388 = 0 OK
185000: SLT -1908751859 + 1141649376 = 1 OK
186000: SUB -700240619 + -58579263 = -641661356 OK
187000: AND 978264928 + 1329372129 = 168559456 OK
188000: AND 1701446875 + 2085814444 = 1682047112 OK
189000: ADD 929683958 + -1971403438 = -1041719480 OK
190000: SLT -1026815222 + 1717728880 = 1 OK
191000: AND 1491195481 + -821415844 = 1207963736 OK
192000: ADD 601288452 + 1604649257 = -2089029587 OK
193000: ADD 2124473297 + 776464066 = -1394029933 OK
194000: SUB -1375104032 + -143194636 = -1231909396 OK
195000: SUB -408929873 + 1672475586 = -2081405459 OK
196000: SLT -380183441 + 1231826683 = 1 OK
197000: AND 1001539861 + -390677553 = 682756357 OK
198000: ADD -1409299967 + 1003172668 = -406127299 OK
199000: ADD -1573278836 + -1742374511 = 979313949 OK
200000: SLT 1479852054 + -2026840329 = 0 OK
201000: OR -2124434440 + 114138595 = -2015379461 OK
202000: ADD -583275142 + 676093899 = 92818757 OK
203000: AND 1714214610 + 2114036431 = 1711309506 OK
204000: ADD -93218941 + -1326022945 = -1419241886 OK
205000: OR 2132359086 + 1696342457 = 2132621247 OK
206000: ADD 1143070309 + -692461385 = 450608924 OK
207000: ADD -703530634 + -1380697293 = -2084227927 OK
208000: ADD 2047449564 + -1912248964 = 135200600 OK
209000: SLT -194722844 + -2099467472 = 0 OK
210000: OR -1605127273 + 279883235 = -1325416457 OK
211000: SUB -1478026212 + 585158291 = -2063184503 OK
212000: AND -2029258450 + 2126669818 = 100819242 OK
213000: OR -1197473924 + 659781455 = -1075839105 OK
214000: ADD 764498314 + 1073523836 = 1838022150 OK
215000: SUB -369854731 + -2033630578 = 1663775847 OK
216000: SLT 399811070 + -1267912572 = 0 OK
217000: SUB 838067850 + 331958425 = 506109425 OK
218000: SLT 2059668877 + 130724019 = 0 OK
219000: OR -761102379 + 1227948154 = -608993281 OK
220000: AND 643540238 + -1794272735 = 67731456 OK
221000: AND -1183660145 + 287580562 = 287310210 OK
222000: OR 1500293419 + 1977324217 = 2113911739 OK
223000: SLT -872915560 + -1048069232 = 0 OK
224000: ADD 922629997 + 673404366 = 1596034363 OK
225000: OR -1481212939 + 273987986 = -1208550409 OK
226000: OR -1382534695 + -380243200 = -304221223 OK
227000: OR -1347109705 + 1119690583 = -272777225 OK
228000: AND 396457154 + -1189921572 = 285291712 OK
229000: AND -936511541 + 2060425162 = 1208850378 OK
230000: AND -1088778013 + -1684960848 = -1693417312 OK
231000: SLT -417447643 + -1407389106 = 0 OK
232000: ADD -740864038 + 604976267 = -135887771 OK
233000: OR 14585026 + -1974140780 = -1965060906 OK
234000: SLT 1985206168 + 588782952 = 0 OK
235000: AND -427028112 + 893221086 = 604770384 OK
236000: OR -1308467857 + -1567164696 = -1298726929 OK
237000: AND 1005485160 + 262349056 = 195174400 OK
238000: OR -1787325515 + 1752005942 = -41943113 OK
239000: ADD 1370437398 + 1788879999 = -1135649899 OK
240000: SUB -1198168773 + -1024879388 = -173289385 OK
241000: SLT -820267613 + 1687299227 = 1 OK
242000: OR -1150568432 + -896329255 = -67388967 OK
243000: SLT -1073164252 + 140958505 = 1 OK
244000: AND 800580926 + 1528276406 = 186098998 OK
245000: OR 1451940209 + -104193662 = -3474957 OK
246000: SUB -1826691706 + -1378280906 = -448410800 OK
247000: AND 1509445141 + 1622041342 = 1084768788 OK
248000: ADD 1964045132 + 1377376115 = -953546049 OK
249000: SUB -211819809 + -1996552536 = 1784732727 OK
250000: ADD -1846796249 + 1302857496 = -543938753 OK
251000: OR 1537752554 + -1745306059 = -537346049 OK
252000: SLT 1400776922 + -1734812437 = 0 OK
253000: SUB 781389383 + 614922340 = 166467043 OK
254000: AND -1383842656 + 1891854893 = 545269792 OK
255000: ADD 1830245766 + 1540916042 = -923805488 OK
256000: SUB -1588820727 + 1834218694 = 871927875 OK
257000: OR 347200462 + 1135855423 = 1471406079 OK
258000: ADD 1713607144 + -229180354 = 1484426790 OK
259000: SUB -489766324 + -83853980 = -405912344 OK
260000: AND -748326668 + 1462797792 = 1394606304 OK
261000: OR 49629469 + 1295543548 = 1342008829 OK
262000: ADD -657147089 + -265470291 = -922617380 OK
263000: ADD -1832520452 + 1782128903 = -50391549 OK
264000: ADD 1292522039 + 517278946 = 1809800985 OK
265000: SUB -1198809505 + -1018184728 = -180624777 OK
266000: SLT -2023262717 + -1292395468 = 1 OK
267000: SUB 1639933642 + -876109573 = -1778924081 OK
268000: AND -1200793664 + -2084120798 = -2143004928 OK
269000: OR -1822070149 + -531518365 = -210375045 OK
270000: OR 1825892549 + 131427548 = 1876290781 OK
271000: ADD -263121984 + 1321774972 = 1058652988 OK
272000: SLT -1896452901 + -1422768452 = 1 OK
273000: AND 226658964 + -1817643857 = 25198724 OK
274000: AND 1699274060 + 361265469 = 84433164 OK
275000: SLT -2129746346 + -1910294621 = 1 OK
276000: OR -24150408 + 297180145 = -4194311 OK
277000: ADD 300243134 + 1185601273 = 1485844407 OK
278000: SUB 221363160 + -1421682443 = 1643045603 OK
279000: ADD -198537136 + 591764245 = 393227109 OK
280000: SLT -1909752129 + -1826472001 = 1 OK
281000: ADD 775380482 + -1813032538 = -1037652056 OK
282000: SUB -221294023 + 1710442602 = -1931736625 OK
283000: AND 1704889559 + -1676001302 = 68816066 OK
284000: SUB -1256205610 + 1413204930 = 1625556756 OK
285000: AND -217308268 + 923803104 = 855638400 OK
286000: SLT 1174057793 + -1163243068 = 0 OK
287000: SUB -222083109 + -305759520 = 83676411 OK
288000: ADD 555226865 + -1329640629 = -774413764 OK
289000: SLT -1882456237 + 1839802464 = 1 OK
290000: SUB 1653586535 + 1013179685 = 640406850 OK
291000: ADD -2140002647 + 1662591425 = -477411222 OK
292000: SLT -1415027556 + -337743425 = 1 OK
293000: SLT 1273624451 + -147492739 = 0 OK
294000: AND 2000355260 + 812530731 = 808074280 OK
295000: ADD 479948232 + -1102294510 = -622346278 OK
296000: SLT 889882438 + 689291827 = 0 OK
297000: ADD 1952258502 + -298878602 = 1653379900 OK
298000: AND -994752492 + 1913660585 = 1074790400 OK
299000: OR 317079577 + 908605438 = 921597951 OK
300000: ADD 1537657614 + 122152005 = 1659809619 OK
301000: AND -1918443167 + 469023228 = 161784160 OK
302000: SUB 753384813 + -1690956127 = -1850626356 OK
303000: SLT -860409042 + 1324016002 = 1 OK
304000: AND -1578544687 + 906732092 = 537460752 OK
305000: SLT -1757574995 + -661670396 = 1 OK
306000: AND -28148829 + -1743881850 = -1744668286 OK
307000: SUB -1625459477 + -1948554790 = 323095313 OK
308000: SLT 1003559540 + 506481763 = 0 OK
309000: SLT 1211785690 + 1509732043 = 1 OK
310000: ADD -1701233320 + 98278576 = -1602954744 OK
311000: SUB 1038466651 + 526190891 = 512275760 OK
312000: OR -706861457 + -1880130141 = -536903697 OK
313000: SUB -571370772 + -772205269 = 200834497 OK
314000: OR 395326749 + -1390844128 = -1080461507 OK
315000: SUB 1739427797 + 686871665 = 1052556132 OK
316000: OR -37197413 + -1403880097 = -36012577 OK
317000: ADD 786026735 + 1345727005 = 2131753740 OK
318000: AND -1530568986 + -743689611 = -2138828188 OK
319000: AND -1131908528 + -1692714580 = -1744293888 OK
320000: SLT -453414851 + 2034023061 = 1 OK
321000: AND -1507330434 + -283412082 = -1509724146 OK
322000: ADD -57616979 + 811451694 = 753834715 OK
323000: OR -2065942013 + 2060747847 = -19087801 OK
324000: SUB 1667163987 + -913040334 = -1714762975 OK
325000: SUB -503606924 + -446293145 = -57313779 OK
326000: SUB -1418659484 + -1262780382 = -155879102 OK
327000: SUB 1774749249 + 122287561 = 1652461688 OK
328000: ADD 18117406 + 576922294 = 595039700 OK
329000: SLT 1311687665 + 622716631 = 0 OK
330000: ADD -2095222495 + -927870147 = 1271874654 OK
331000: SLT -252118380 + 1065303743 = 1 OK
332000: SLT 1557626864 + -875555063 = 0 OK
333000: SUB 67966096 + -623770653 = 691736749 OK
334000: SLT 747525509 + -1421453955 = 0 OK
335000: SUB -1670845160 + -1139383319 = -531461841 OK
336000: SUB 779614520 + 1184875165 = -405260645 OK
337000: AND -761132570 + 1964148529 = 1342308640 OK
338000: ADD -713879698 + -1999430611 = 1581656987 OK
339000: ADD 1084392985 + -1973003356 = -888610371 OK
340000: SLT -37416245 + 1710320837 = 1 OK
341000: ADD -684085953 + -1779629039 = 1831252304 OK
342000: OR 1316927197 + 677588320 = 1853865981 OK
343000: SLT -626881296 + -1957236840 = 0 OK
344000: SLT 839749749 + -2043340460 = 0 OK
345000: ADD -783134572 + 353255630 = -429878942 OK
346000: ADD 1220935210 + 1653156273 = -1420875813 OK
347000: AND -2029691365 + 1081257635 = 3587 OK
348000: OR -1972422720 + -145996679 = -9472007 OK
349000: SLT 333460432 + -615286477 = 0 OK
350000: OR 1970074983 + -1954641607 = -8454785 OK
351000: AND 1337509532 + 746978053 = 209764868 OK
352000: OR 908154884 + 496015323 = 1068621791 OK
353000: AND -291445435 + 508156769 = 234930497 OK
354000: SLT 609301009 + -1681193007 = 0 OK
355000: ADD 694272148 + 1194623180 = 1888895328 OK
356000: SUB 1810011312 + -178039567 = 1988050879 OK
357000: OR -795510423 + 1167796943 = -710968337 OK
358000: OR 813115134 + -849273718 = -42516738 OK
359000: AND 2134134048 + 342663299 = 337903616 OK
360000: OR 2063228376 + 741044387 = 2130411003 OK
361000: SLT 2144335318 + 1676850594 = 0 OK
362000: SUB -200820605 + 306550889 = -507371494 OK
363000: AND 543614835 + -573924841 = 4358675 OK
364000: AND 1024639743 + -1987601369 = 151158823 OK
365000: ADD 902925185 + -1430386640 = -527461455 OK
366000: OR 232610021 + -725759896 = -570566419 OK
367000: SUB -822981324 + 1158906889 = -1981888213 OK
368000: SUB -1731228634 + -919292138 = -811936496 OK
369000: ADD 2047114297 + 177277647 = -2070575352 OK
370000: SLT -1338099453 + -891242838 = 1 OK
371000: SUB 1496422426 + -399353125 = 1895775551 OK
372000: SLT 1605616917 + -1560254771 = 0 OK
373000: SLT 1353041763 + 1663399395 = 1 OK
374000: SUB 1068194113 + -544905475 = 1613099588 OK
375000: ADD 1349903558 + 1624224948 = -1320838790 OK
376000: AND 1625237225 + -1487745268 = 542246408 OK
377000: OR -84411916 + 1143588903 = -16778761 OK
378000: SUB 1239582392 + -1272894826 = -1782490078 OK
379000: ADD -1828977951 + 1610016086 = -218961865 OK
380000: SLT -1682895906 + -576084023 = 1 OK
381000: OR -1457930833 + 2107386684 = -39993409 OK
382000: SUB 1821610140 + -1853987064 = -619370092 OK
383000: ADD -114693513 + -1585340862 = -1700034375 OK
384000: ADD 1269750111 + 67775573 = 1337525684 OK
385000: SLT 1301808033 + 964817520 = 0 OK
386000: OR 152519149 + -1551537018 = -1416139281 OK
387000: SUB 969732755 + -1619699926 = -1705534615 OK
388000: AND 946342988 + -1271488590 = 807406592 OK
389000: AND 1242359258 + 1538039760 = 1242334672 OK
390000: SUB -1829704862 + -1780598950 = -49105912 OK
391000: ADD 947979548 + 1130105495 = 2078085043 OK
392000: AND -1699064949 + 311910963 = 311575043 OK
393000: OR 303144046 + -1523999888 = -1220960386 OK
394000: ADD -1572238957 + 1866152101 = 293913144 OK
395000: SUB 1504988142 + -684977444 = -2105001710 OK
396000: OR -1022597934 + -2071538602 = -946932522 OK
397000: OR -1447353941 + -97384198 = -71620101 OK
398000: OR -2044341403 + 1457685081 = -689450115 OK
399000: ADD -1843260612 + 2026451771 = 183191159 OK
400000: SUB -468289613 + -45448481 = -422841132 OK
401000: OR 772170140 + -114006155 = -13211651 OK
402000: ADD -199836485 + -1765019020 = -1964855505 OK
403000: AND -647832282 + -1362421419 = -2008934140 OK
404000: SLT 1373344489 + -205825994 = 0 OK
405000: SLT 1531056319 + 1243735896 = 0 OK
406000: ADD 1221474651 + 464009599 = 1685484250 OK
407000: SUB -1852906858 + 457433815 = 1984626623 OK
408000: SUB -1496377374 + -72233214 = -1424144160 OK
409000: SUB 1592362498 + 348496592 = 1243865906 OK
410000: OR 110644255 + 916314183 = 916315231 OK
411000: OR -1238663840 + -570723485 = -295069 OK
412000: SLT -2012858227 + 1056596486 = 1 OK
413000: AND -1564134396 + 1976837197 = 549725188 OK
414000: ADD 1484435037 + -507612966 = 976822071 OK
415000: ADD 334706586 + 54175421 = 388882007 OK
416000: AND -955956379 + -685656773 = -956235487 OK
417000: ADD -1245536886 + -1831475373 = 1217955037 OK
418000: AND 585866136 + 57149124 = 40370816 OK
419000: SUB -21267399 + 1796451127 = -1817718526 OK
420000: SLT -361434690 + -49335249 = 1 OK
421000: OR -284237505 + -1085292672 = -11534401 OK
422000: SUB -370504344 + -2060252533 = 1689748189 OK
423000: AND -2079709971 + 1062408287 = 67240013 OK
424000: AND 1762927696 + -1972887138 = 134225936 OK
425000: SLT -388745039 + -1747430951 = 0 OK
426000: SUB -1341394009 + -1007203223 = -334190786 OK
427000: OR -988257986 + 942626279 = -46172673 OK
428000: ADD 969849346 + -1001106354 = -31257008 OK
429000: ADD -590608760 + -865989543 = -1456598303 OK
430000: AND 385561822 + 1058484809 = 370356296 OK
431000: ADD 994554599 + 1235420885 = -2064991812 OK
432000: OR -1824363272 + 1958288688 = -134513160 OK
433000: SLT 1155813384 + -1205516356 = 0 OK
434000: SLT -262896913 + 820104453 = 1 OK
435000: OR 867236723 + -1721783060 = -1140850689 OK
436000: AND -2107186720 + 261493429 = 33947808 OK
437000: SUB -1061110326 + -1249476727 = 188366401 OK
438000: SUB 432164867 + 800696542 = -368531675 OK
439000: AND -894118121 + -675927974 = -1028390894 OK
440000: SUB 1170625913 + -618480274 = 1789106187 OK
441000: ADD 488931255 + 491834462 = 980765717 OK
442000: OR -1052741705 + 1258779964 = -884506689 OK
443000: ADD 1552924879 + -655673437 = 897251442 OK
444000: SLT 1727566948 + -1680121368 = 0 OK
445000: OR -946622394 + 82119809 = -940065593 OK
446000: ADD -494325630 + -1894457433 = 1906184233 OK
447000: SLT 1965800380 + -126534707 = 0 OK
448000: SLT 1495410991 + 789996486 = 0 OK
449000: ADD -436727049 + 1959945891 = 1523218842 OK
450000: AND 490666346 + 452804101 = 406599680 OK
451000: AND 1023180220 + -791509811 = 282068108 OK
452000: SLT -682234721 + 1346567711 = 1 OK
453000: AND -2096215536 + 49091319 = 34341392 OK
454000: AND -1600178200 + 992928789 = 537797632 OK
455000: OR -1545447605 + -515526094 = -471337093 OK
456000: AND 1797219390 + -1009431270 = 1125467162 OK
457000: AND -1407852650 + 1856280180 = 738498068 OK
458000: SLT 1437706777 + 1690386477 = 1 OK
459000: ADD -887401318 + 454030353 = -433370965 OK
460000: SUB -395273434 + -1872567096 = 1477293662 OK
461000: ADD 1039121806 + 911400038 = 1950521844 OK
462000: SUB 943280422 + -1318511824 = -2033175050 OK
463000: SLT -1787735058 + 301414448 = 1 OK
464000: OR 1928225037 + 1204711746 = 2012115279 OK
465000: AND 1455681909 + -1497245124 = 113365044 OK
466000: ADD -915761163 + 743806931 = -171954232 OK
467000: SUB -1235808965 + -867659914 = -368149051 OK
468000: AND -547218543 + -1596449788 = -2143283200 OK
469000: OR -1464805634 + -579491443 = -34209793 OK
470000: SUB 433355282 + 217959697 = 215395585 OK
471000: SLT -154843391 + 1431656339 = 1 OK
472000: AND 1026594245 + 2050732681 = 942706817 OK
473000: AND 422249995 + -1062910868 = 2163720 OK
474000: SLT 1111537368 + -249554964 = 0 OK
475000: OR -828066714 + 920909036 = -18352914 OK
476000: SLT -1252427268 + -2064332249 = 0 OK
477000: ADD 1658232815 + 1601458157 = -1035276324 OK
478000: SUB -2116985628 + 1781104742 = 396876926 OK
479000: OR 2091399317 + -1703728950 = -17090337 OK
480000: ADD 284385749 + 814505261 = 1098891010 OK
481000: ADD -1543514142 + 1077190904 = -466323238 OK
482000: SUB 579877307 + 1194118591 = -614241284 OK
483000: AND -907113642 + -691974205 = -1061156030 OK
484000: AND 1721018503 + 1941609786 = 1653639170 OK
485000: OR -1917726012 + 1131833166 = -805832754 OK
486000: AND -784401990 + 180233712 = 4071856 OK
487000: ADD -204375313 + -1324936088 = -1529311401 OK
488000: ADD 383871855 + -764741919 = -380870064 OK
489000: AND 234895894 + 1203383001 = 100674064 OK
490000: SUB 566035519 + -290368408 = 856403927 OK
491000: ADD 1513375547 + 1073701424 = -1707890325 OK
492000: SUB 1120625879 + -1315995013 = -1858346404 OK
493000: SLT -156688842 + 619710265 = 1 OK
494000: ADD 1930059798 + -836889594 = 1093170204 OK
495000: AND -1800809976 + -1720933211 = -1876393984 OK
496000: SLT -869233399 + -26452404 = 1 OK
497000: OR 117572571 + -690761332 = -673983521 OK
498000: ADD -2062734297 + -1150355369 = 1081877630 OK
499000: SUB 976134325 + -1114792243 = 2090926568 OK
500000: OR 833727893 + 1130016218 = 1945873887 OK
501000: ADD -2140391215 + 1541805181 = -598586034 OK
502000: AND -1693878178 + -69414382 = -1693954030 OK
503000: SLT -1221465332 + 1461872347 = 1 OK
504000: ADD -753773857 + 213269130 = -540504727 OK
505000: SUB -1097741322 + 1920863888 = 1276362086 OK
506000: AND -2005824806 + -2033079600 = -2142139696 OK
507000: OR 25441118 + 914117144 = 939291486 OK
508000: AND 1920452588 + -1896353412 = 41402732 OK
509000: SLT 1135461493 + -1468457300 = 0 OK
510000: ADD 513203545 + 92517392 = 605720937 OK
511000: ADD 1253647326 + 182050060 = 1435697386 OK
512000: SLT -760412050 + -1607812440 = 0 OK
513000: SUB -195070911 + 1117801193 = -1312872104 OK
514000: SUB 152198883 + 149538155 = 2660728 OK
515000: ADD 886943039 + -213787663 = 673155376 OK
516000: SLT -915548915 + -1808833223 = 0 OK
517000: OR 1765933524 + 557632925 = 1769917917 OK
518000: ADD -1330330185 + -1053276652 = 1911360459 OK
519000: SLT -1269652848 + -2022736039 = 0 OK
520000: SUB -790407688 + 1776788778 = 1727770830 OK
521000: SUB -302611158 + -1379871582 = 1077260424 OK
522000: SLT 2041970035 + -845242989 = 0 OK
523000: SUB 560418391 + -160761570 = 721179961 OK
524000: SLT 1395718061 + -123773409 = 0 OK
525000: AND 12604408 + -333324567 = 21224 OK
526000: SUB -303235705 + -1270708285 = 967472580 OK
527000: ADD -298402579 + -1688154742 = -1986557321 OK
528000: OR -2140115451 + -1373194361 = -1367933049 OK
529000: AND -1971300046 + 1338401860 = 176177152 OK
530000: AND -1218997284 + -1934104567 = -2078834680 OK
531000: OR -1500661734 + -831775544 = -286409510 OK
532000: OR 1359481219 + -1471760913 = -112280081 OK
533000: AND 268800956 + -369577104 = 37680 OK
534000: ADD -563875904 + 1370552279 = 806676375 OK
535000: SLT -243355663 + -426348405 = 0 OK
536000: AND 1713294046 + -53652055 = 1678524552 OK
537000: ADD 1653479536 + -722652574 = 930826962 OK
538000: SLT 2055469333 + -191107999 = 0 OK
539000: ADD 470027502 + 277469693 = 747497195 OK
540000: SUB 911597773 + 1268605598 = -357007825 OK
541000: SUB -919260335 + 1959947476 = 1415759485 OK
542000: OR -422264901 + -1768394851 = -153288769 OK
543000: AND -1696028851 + 1251503083 = 176694089 OK
544000: SUB 2015329298 + -348550801 = -1931087197 OK
545000: SUB -819428339 + -967467761 = 148039422 OK
546000: AND -531460293 + 2027980929 = 1614841857 OK
547000: SLT 90267566 + 252599598 = 1 OK
548000: AND 189212106 + 1265196499 = 188810690 OK
549000: ADD 1041707449 + -1580819717 = -539112268 OK
550000: ADD -1955827019 + 716033657 = -1239793362 OK
551000: ADD 1519523047 + -779985059 = 739537988 OK
552000: ADD -221772813 + 1880773165 = 1659000352 OK
553000: AND -660368952 + -1311613596 = -1870524096 OK
554000: SUB -602917620 + -284359641 = -318557979 OK
555000: ADD 1071870760 + -683543119 = 388327641 OK
556000: AND -584992705 + -1984045971 = -1994287059 OK
557000: SLT 150003276 + 518224271 = 1 OK
558000: OR -373675697 + 557282654 = -373326497 OK
559000: ADD 366368854 + 1313724473 = 1680093327 OK
560000: SUB -1908620008 + -849263575 = -1059356433 OK
561000: ADD 1794365297 + 1255951614 = -1244650385 OK
562000: SUB 1358055275 + -1255492511 = -1681419510 OK
563000: OR -903558751 + 366784319 = -537071681 OK
564000: OR 1893442804 + 1590875644 = 2128344572 OK
565000: AND 1010199607 + -967918209 = 67513399 OK
566000: ADD 1764387088 + -1550544295 = 213842793 OK
567000: AND -1312835993 + -146230534 = -1324830110 OK
568000: OR 147718107 + -1214547938 = -1075839009 OK
569000: ADD -1031551376 + 785496955 = -246054421 OK
570000: SLT 426226401 + -956141804 = 0 OK
571000: AND 819201102 + 719780725 = 549716036 OK
572000: AND -1059083466 + -945628091 = -1065187324 OK
573000: SLT 2075350522 + 1474097789 = 0 OK
574000: ADD -742165024 + 869809157 = 127644133 OK
575000: SLT -1011310435 + -775058241 = 1 OK
576000: AND 437084122 + -1522545989 = 871066 OK
577000: ADD -775506114 + -622373886 = -1397880000 OK
578000: ADD 1608389913 + -2010853767 = -402463854 OK
579000: OR 247108315 + 2017422164 = 2126511071 OK
580000: SUB -81440171 + 192758465 = -274198636 OK
581000: SLT 1795657960 + 2057660544 = 1 OK
582000: ADD -753353843 + -751411946 = -1504765789 OK
583000: SLT -445952854 + -191609652 = 1 OK
584000: SUB 1524767096 + -473928669 = 1998695765 OK
585000: OR 1695007976 + 510694074 = 2138560250 OK
586000: ADD 1662053985 + 572212377 = -2060700934 OK
587000: AND -375344410 + -801408829 = -1071632190 OK
588000: AND -1191014619 + 1828361756 = 671254020 OK
589000: OR -1634234198 + 811118914 = -1092636182 OK
590000: SLT -1347729592 + 759197649 = 1 OK
591000: SUB 536714233 + 1815121416 = -1278407183 OK
592000: SLT 2132907867 + 997048172 = 0 OK
593000: OR 120748178 + -395982257 = -277349665 OK
594000: SUB 238609198 + 660602583 = -421993385 OK
595000: SLT 148684674 + -602316790 = 0 OK
596000: OR 106756480 + -1040096328 = -966919240 OK
597000: ADD -179496262 + 1147121090 = 967624828 OK
598000: OR 724390183 + -164623985 = -12756561 OK
599000: ADD -770223321 + -342585217 = -1112808538 OK
600000: SLT 1702017006 + -1904702942 = 0 OK
601000: ADD 529745135 + -1152534157 = -622789022 OK
602000: AND -1280242281 + -1258645148 = -1330640636 OK
603000: SLT -1382297418 + 1547241814 = 1 OK
604000: SUB -2111794752 + 231297322 = 1951875222 OK
605000: SLT -1295586838 + -116839487 = 1 OK
606000: AND 1616827810 + -272812480 = 1612452864 OK
607000: SLT 1533059459 + 1756207840 = 1 OK
608000: OR 42048222 + -90082364 = -90047522 OK
609000: OR 1842205132 + 1458614361 = 2147348957 OK
610000: ADD -1226285354 + -1914723638 = 1153958304 OK
611000: AND 1479650046 + 1179779642 = 1074790970 OK
612000: SLT 1847727687 + 1862960057 = 1 OK
613000: SUB -623566372 + 1162613574 = -1786179946 OK
614000: ADD -1116127465 + -2059492380 = 1119347451 OK
615000: ADD -1217988461 + 1399907326 = 181918865 OK
616000: OR 80346782 + -1738287805 = -1662255137 OK
617000: ADD -293136508 + 1132152378 = 839015870 OK
618000: SUB 146084044 + -1536102556 = 1682186600 OK
619000: ADD -2130837817 + 1869611 = -2128968206 OK
620000: OR -388830983 + -473475100 = -338165763 OK
621000: OR 811635337 + 1575232539 = 2112140955 OK
622000: ADD 1885347657 + -1525572078 = 359775579 OK
623000: AND 152449937 + 1005476945 = 151392273 OK
624000: OR 1048456678 + -39200632 = -530 OK
625000: OR 1350650507 + -571040046 = -570958117 OK
626000: SLT 123742076 + 935116002 = 1 OK
627000: AND 1588918261 + 1193516289 = 1176540417 OK
628000: SUB -949189442 + -1956747045 = 1007557603 OK
629000: SLT -753218627 + 80692048 = 1 OK
630000: ADD -166922021 + 1787287923 = 1620365902 OK
631000: ADD -416018713 + 2050985844 = 1634967131 OK
632000: AND 1800437038 + 760735724 = 693134636 OK
633000: ADD 1999083237 + 1379680225 = -916203834 OK
634000: ADD -1711340915 + 324642248 = -1386698667 OK
635000: OR -15131297 + -1061799302 = -4243585 OK
636000: AND -1686535422 + 785573891 = 173047810 OK
637000: AND -929759081 + 846289077 = 1114261 OK
638000: SLT -252962600 + 1356402501 = 1 OK
639000: SUB 25948089 + -1050110554 = 1076058643 OK
640000: SUB -937076683 + -1740804672 = 803727989 OK
641000: ADD 348629934 + -1832159572 = -1483529638 OK
642000: SUB 1022426827 + -1577229075 = -1695311394 OK
643000: SLT 443842640 + -1355972168 = 0 OK
644000: ADD 1524773175 + -294042507 = 1230730668 OK
645000: OR -962872564 + 467975266 = -536887442 OK
646000: ADD -199196628 + 81160411 = -118036217 OK
647000: SUB 1975057242 + 1954616651 = 20440591 OK
648000: OR 720625534 + 1194910661 = 1878786047 OK
649000: OR 737613458 + -618246788 = -67674114 OK
650000: SUB 731326372 + 1546414335 = -815087963 OK
651000: ADD -1520485371 + -469890624 = -1990375995 OK
652000: SUB -438127024 + 58073726 = -496200750 OK
653000: SLT 1442144098 + 1648178226 = 1 OK
654000: OR -1813717719 + -2141340902 = -1812070597 OK
655000: OR -507740461 + 465261675 = -71336197 OK
656000: ADD -648342064 + 832385715 = 184043651 OK
657000: SLT 1155690325 + -1650716388 = 0 OK
658000: SUB -509871955 + -1382008837 = 872136882 OK
659000: SUB 933315891 + -1203095556 = 2136411447 OK
660000: SUB 1116784710 + -1967283426 = -1210899160 OK
661000: SLT -572424265 + 1455653185 = 1 OK
662000: SLT -981494523 + -406154757 = 1 OK
663000: SLT -238115231 + 1964988976 = 1 OK
664000: OR 1152490931 + 640049589 = 1723334071 OK
665000: SUB 1485067082 + -374905250 = 1859972332 OK
666000: ADD -731828452 + -1253924169 = -1985752621 OK
667000: ADD -365065856 + -1611945544 = -1977011400 OK
668000: ADD -640224875 + 1317075851 = 676850976 OK
669000: ADD 1509359482 + -1200652940 = 308706542 OK
670000: SUB 1803541849 + -1495069682 = -996355765 OK
671000: SLT -837319434 + 1393565801 = 1 OK
672000: SUB 311822072 + -2012506647 = -1970638577 OK
673000: SUB -519950115 + 1548087189 = -2068037304 OK
674000: SUB -2090226866 + 1155254362 = 1049486068 OK
675000: ADD 1374969607 + -852906586 = 522063021 OK
676000: ADD 1309370046 + 2050514093 = -935083157 OK
677000: OR 1698629359 + 522635503 = 2134888175 OK
678000: SUB -717625950 + -2013362701 = 1295736751 OK
679000: SLT 1816030133 + -923740916 = 0 OK
680000: SLT 1900391472 + 1962697186 = 1 OK
681000: ADD 598532876 + -2014346727 = -1415813851 OK
682000: SUB -724213183 + 1053878753 = -1778091936 OK
683000: OR -1228192808 + 1435684188 = -136589348 OK
684000: SUB -1484231739 + 347548321 = -1831780060 OK
685000: ADD -425015635 + 1904609182 = 1479593547 OK
686000: ADD -88600382 + -177990176 = -266590558 OK
687000: AND 1610453369 + 209726381 = 209715497 OK
688000: SLT -1488969679 + -1273535193 = 1 OK
689000: OR -1503453977 + 1980951496 = -160170001 OK
690000: SLT 558194457 + -510521958 = 0 OK
691000: AND -1670910605 + 1521444563 = 405234771 OK
692000: SUB -1880340046 + 49841208 = -1930181254 OK
693000: SUB 71437090 + 1111142062 = -1039704972 OK
694000: SLT 1486306942 + 1109317408 = 0 OK
695000: ADD 1428687437 + -255869174 = 1172818263 OK
696000: AND 368913303 + 287849396 = 287845268 OK
697000: AND -682384106 + 1883129985 = 1343356928 OK
698000: OR 1488835741 + -1181453654 = -104991041 OK
699000: OR 441231442 + -477932056 = -70255110 OK
700000: SUB 686216209 + 898767479 = -212551270 OK
701000: ADD 329818123 + -902602221 = -572784098 OK
702000: OR -2122046209 + -1127873135 = -1111087617 OK
703000: ADD -456126734 + -176323966 = -632450700 OK
704000: OR -2017764802 + -2101691018 = -2017722498 OK
705000: AND 995975505 + -1554454615 = 592994561 OK
706000: OR 1214004920 + -738732919 = -603980103 OK
707000: SLT 1715734366 + 1444195805 = 0 OK
708000: AND -1212514700 + 2046515223 = 834295828 OK
709000: SUB 131630078 + 1697440259 = -1565810181 OK
710000: OR -984630701 + 1811343651 = -268436621 OK
711000: ADD -159673250 + -1797962857 = -1957636107 OK
712000: SLT -1733486389 + -1395552815 = 1 OK
713000: SLT -57986584 + 1804911017 = 1 OK
714000: SUB 1056412667 + 1697939075 = -641526408 OK
715000: SLT 1317659510 + -630357290 = 0 OK
716000: ADD -489225746 + 941021445 = 451795699 OK
717000: AND 1563356130 + -27162505 = 1545635938 OK
718000: OR -1345278485 + -1451323042 = -1342259713 OK
719000: SLT 1435841338 + -1103086735 = 0 OK
720000: SLT 1544184354 + -45221092 = 0 OK
721000: SUB 1869192507 + 738033004 = 1131159503 OK
722000: SLT 486573848 + 1752182583 = 1 OK
723000: SUB 880782062 + 1657717598 = -776935536 OK
724000: SLT -1691118953 + 732705249 = 1 OK
725000: AND -1104537996 + -1151248721 = -1172302300 OK
726000: OR -1677200867 + 1584488666 = -562564385 OK
727000: AND -1836621983 + 1292415068 = 4160 OK
728000: ADD 97320175 + -1034473951 = -937153776 OK
729000: OR 456411968 + -2134178333 = -1677766685 OK
730000: SUB 1110956134 + -984101863 = 2095057997 OK
731000: SUB 1677328652 + -1626725918 = -990912726 OK
732000: SUB -11623155 + -390068351 = 378445196 OK
733000: AND -1938427966 + 1800966829 = 139494016 OK
734000: SUB 708728225 + 1739483335 = -1030755110 OK
735000: OR -1372590234 + -1103648953 = -1103106201 OK
736000: SUB 1646086432 + 911124896 = 734961536 OK
737000: ADD -31895294 + 1608363906 = 1576468612 OK
738000: AND -904874142 + 1268507890 = 1242604642 OK
739000: SUB 1718988170 + -1019670989 = -1556308137 OK
740000: AND -1845935120 + -1325894035 = -1862778272 OK
741000: OR 589661361 + -783616842 = -210766665 OK
742000: SUB 303115542 + -1483959195 = 1787074737 OK
743000: OR 1838806029 + 2018682181 = 2111567181 OK
744000: SLT 1001758055 + -1876944438 = 0 OK
745000: ADD 739265567 + 1460268483 = -2095433246 OK
746000: ADD 500511786 + 1282279261 = 1782791047 OK
747000: ADD 750902297 + -1001996538 = -251094241 OK
748000: SLT 55833955 + -813970845 = 0 OK
749000: OR 137840249 + -938908458 = -935368961 OK
750000: SLT -1952183172 + 2125440138 = 1 OK
751000: SUB -1960058930 + -1652588274 = -307470656 OK
752000: SUB -2101201733 + -1308986424 = -792215309 OK
753000: OR -2080158137 + -1944479584 = -1944330521 OK
754000: SUB 300073218 + -878910902 = 1178984120 OK
755000: SUB -1662145574 + 2130922357 = 501899365 OK
756000: ADD -2036125552 + 1475839442 = -560286110 OK
757000: OR 1556225573 + 2129152091 = 2129288831 OK
758000: SLT 1701679289 + -750585055 = 0 OK
759000: AND 1236794967 + -1629207427 = 144983125 OK
760000: ADD 235121622 + 331375924 = 566497546 OK
761000: ADD 206018754 + 1856553499 = 2062572253 OK
762000: ADD -1986739247 + 724384124 = -1262355123 OK
763000: SUB 1032261350 + 683005054 = 349256296 OK
764000: SUB 1138844450 + -994199200 = 2133043650 OK
765000: AND -1402384362 + -1501798568 = -1536667632 OK
766000: AND -833275625 + 1930966695 = 1108357127 OK
767000: AND 891108361 + -1638326766 = 337189888 OK
768000: AND 809111222 + 29234077 = 3801748 OK
769000: SLT -1801181208 + 809769912 = 1 OK
770000: ADD -72140893 + -712136435 = -784277328 OK
771000: SLT 1517877701 + 1784921729 = 1 OK
772000: AND -533428534 + -2027508890 = -2145091006 OK
773000: SLT -973787264 + 1424241185 = 1 OK
774000: AND -434614078 + 2053610927 = 1644171394 OK
775000: AND 459685240 + 432169583 = 423764072 OK
776000: OR 337540637 + 997338118 = 1065254431 OK
777000: SLT -2124149080 + 326036479 = 1 OK
778000: SUB 662396454 + -1010616089 = 1673012543 OK
779000: SLT 454484728 + -1572668732 = 0 OK
780000: AND 1554859709 + 748998513 = 212092465 OK
781000: ADD -2010209815 + -1318842669 = 965914812 OK
782000: SLT 1210837069 + 2117098077 = 1 OK
783000: OR -2137733394 + 1638440412 = -507715586 OK
784000: OR -512674541 + 1769488997 = -377915529 OK
785000: ADD 540189188 + 1987482621 = -1767295487 OK
786000: OR -661094097 + -835927990 = -558055057 OK
787000: AND -1809608078 + -116563727 = -1878982544 OK
788000: AND -1493846733 + 1111035330 = 36766978 OK
789000: ADD -2024050001 + 391812811 = -1632237190 OK
790000: SLT -7217364 + -2039052819 = 0 OK
791000: ADD -24677401 + -85674555 = -110351956 OK
792000: SLT 367171170 + -991788762 = 0 OK
793000: ADD -1665174382 + 725198018 = -939976364 OK
794000: SUB -1096629195 + 2142968139 = 1055369962 OK
795000: ADD -337559272 + 1126897812 = 789338540 OK
796000: ADD 735416551 + -1623893299 = -888476748 OK
797000: ADD 553219713 + 1490279468 = 2043499181 OK
798000: OR -1537802951 + 1776092203 = -304087749 OK
799000: SLT 698859155 + 1098259001 = 1 OK
800000: SUB 1021061655 + -1517246297 = -1756659344 OK
801000: SLT -1738006021 + 826836195 = 1 OK
802000: OR 452593106 + -1531173807 = -1090640429 OK
803000: OR 695797830 + 132780703 = 804985567 OK
804000: SLT -2018370917 + 930848443 = 1 OK
805000: SLT -57245982 + 423694172 = 1 OK
806000: SUB -844096463 + -648466694 = -195629769 OK
807000: OR -1303488679 + 1893271403 = -220244101 OK
808000: AND 1232118533 + -2142085444 = 5243396 OK
809000: OR -1922700675 + 1141220855 = -848957441 OK
810000: AND 1578291527 + 127310744 = 101880064 OK
811000: OR 1145545036 + -2093444376 = -947932180 OK
812000: AND 359627412 + 78048490 = 69625984 OK
813000: AND 434314668 + -518341499 = 16915588 OK
814000: SUB -2048106186 + 1610502607 = 636358503 OK
815000: SUB -1844720559 + -1670195405 = -174525154 OK
816000: ADD 1173898307 + 685952555 = 1859850862 OK
817000: SLT -2093146518 + -492090853 = 1 OK
818000: ADD -1148493833 + -1089161552 = 2057311911 OK
819000: OR 2061333739 + 144230824 = 2061368811 OK
820000: ADD -1738951144 + -53671063 = -1792622207 OK
821000: AND 1700673673 + -1955358441 = 22157313 OK
822000: SUB 129140301 + -937495243 = 1066635544 OK
823000: AND 591626439 + 552231564 = 541196420 OK
824000: ADD -719331669 + -284453330 = -1003784999 OK
825000: SLT 795629993 + -2074289808 = 0 OK
826000: SLT 1117694697 + 454794749 = 0 OK
827000: ADD -457180453 + -666665732 = -1123846185 OK
828000: OR -1845807883 + 1824934527 = -33587457 OK
829000: ADD 1580690553 + 113369410 = 1694059963 OK
830000: AND -1103154209 + -1136526775 = -1140772279 OK
831000: AND 147256509 + -1383959786 = 142766100 OK
832000: OR 544235099 + 1769802230 = 1769824255 OK
833000: SLT 1788448562 + -1901475942 = 0 OK
834000: OR 650873929 + -1645367753 = -1074811265 OK
835000: AND -1791334074 + 967819878 = 287981638 OK
836000: SLT 17225467 + 1663675427 = 1 OK
837000: AND -1589231279 + 308626814 = 4473168 OK
838000: SUB 1285188154 + 396985918 = 888202236 OK
839000: AND -899720089 + 852247699 = 38552579 OK
840000: SUB 1217718326 + 1948893220 = -731174894 OK
841000: OR -407182188 + 1630013761 = -407179819 OK
842000: SLT -1698303770 + -1990882326 = 0 OK
843000: SLT -2134133684 + -1997158326 = 1 OK
844000: AND 1253808511 + 678124419 = 137042179 OK
845000: SUB 775171384 + -1431345147 = -2088450765 OK
846000: SUB 1106901775 + 795459032 = 311442743 OK
847000: OR 41125807 + -901245333 = -897869841 OK
848000: ADD 1004898146 + 322138704 = 1327036850 OK
849000: SLT 1475960177 + 1561074065 = 1 OK
850000: ADD -301459021 + 1482163956 = 1180704935 OK
851000: AND -1442849409 + -691884173 = -2134733453 OK
852000: SUB -328741672 + 130774144 = -459515816 OK
853000: AND -180918230 + 896854614 = 892626946 OK
854000: OR 466031348 + 1783451890 = 2077184758 OK
855000: ADD -398976591 + 147442986 = -251533605 OK
856000: AND -234806 + -1900598139 = -1900795776 OK
857000: SUB -1689561346 + 1004834748 = 1600571202 OK
858000: SLT -2087064249 + 122342924 = 1 OK
859000: ADD -440233114 + -992775026 = -1433008140 OK
860000: AND 1190255075 + -335340754 = 1140922658 OK
861000: SLT -1392734345 + 963447474 = 1 OK
862000: AND 1207751393 + -1023027717 = 1124389089 OK
863000: AND -384298946 + 599237631 = 554696766 OK
864000: ADD -77876581 + 923192513 = 845315932 OK
865000: SLT 1258607494 + 1289700469 = 1 OK
866000: SLT -1226548897 + 1299051063 = 1 OK
867000: OR -898031364 + 1798105516 = -344069636 OK
868000: ADD 1653380993 + -1981947050 = -328566057 OK
869000: OR 429726019 + 2061881760 = 2080233955 OK
870000: OR 81131957 + 1298527602 = 1307966967 OK
871000: ADD -482108581 + -545722818 = -1027831399 OK
872000: AND -1536569911 + -736243081 = -2079735743 OK
873000: SLT -790915610 + 1279133557 = 1 OK
874000: ADD -643382183 + -463062445 = -1106444628 OK
875000: SLT 410103088 + 1283899331 = 1 OK
876000: ADD -318951402 + 36538358 = -282413044 OK
877000: ADD -826238970 + -1064120469 = -1890359439 OK
878000: AND 1023385008 + -1935448720 = 212010288 OK
879000: OR 1788036289 + 1672145117 = 1807477981 OK
880000: SUB 726296457 + -832602610 = 1558899067 OK
881000: AND 1511853329 + 2095113464 = 1476396048 OK
882000: SLT 610569913 + -1422506354 = 0 OK
883000: SUB 494258789 + -1298161621 = 1792420410 OK
884000: SUB -250046709 + 197522109 = -447568818 OK
885000: ADD 273075723 + 1132226976 = 1405302699 OK
886000: OR -641272327 + 1440658716 = -572590595 OK
887000: SUB 1345152860 + -806249480 = -2143564956 OK
888000: OR 1012524247 + -1578352543 = -1107434249 OK
889000: ADD 1276383115 + 2014051135 = -1004533046 OK
890000: SUB -1193237338 + -611023890 = -582213448 OK
891000: OR 1083069937 + 896554531 = 1979602931 OK
892000: AND -631337398 + -714108014 = -800161278 OK
893000: SUB -971468557 + -447367021 = -524101536 OK
894000: SUB 1995977751 + 527362103 = 1468615648 OK
895000: AND 1822160590 + -1032139698 = 1075496014 OK
896000: OR -648973841 + 689732160 = -111313937 OK
897000: SLT 1809606383 + -875634675 = 0 OK
898000: OR -1266868372 + -1447301175 = -1107296275 OK
899000: SLT 105293728 + -1301018549 = 0 OK
900000: SUB 1138244550 + -419559411 = 1557803961 OK
901000: ADD -2130870991 + -1195445031 = 968651274 OK
902000: SLT -295408262 + -89202032 = 1 OK
903000: SUB 1799395052 + -276235069 = 2075630121 OK
904000: SUB 2136580054 + -1108440084 = -1049947158 OK
905000: SUB -1323160725 + -55339476 = -1267821249 OK
906000: ADD -963315975 + -2146063540 = 1185587781 OK
907000: ADD 2029850928 + -1820622295 = 209228633 OK
908000: AND -710914317 + 1475941114 = 1436549874 OK
909000: ADD 1335130509 + 792360142 = 2127490651 OK
910000: SLT -750480143 + 189440910 = 1 OK
911000: SLT 223675198 + 1872527327 = 1 OK
912000: OR 1620152784 + 494285980 = 2113385948 OK
913000: AND -1198854335 + -744811801 = -1870003647 OK
914000: SUB -853163166 + -1722196234 = 869033068 OK
915000: AND -200364587 + -155087449 = -201290363 OK
916000: SUB 280671816 + -1182407717 = 1463079533 OK
917000: ADD -1681061212 + 1624914446 = -56146766 OK
918000: SLT -1343257548 + 474632619 = 1 OK
919000: SUB 166053505 + -2012178100 = -2116735691 OK
920000: ADD 1607514857 + 1536901628 = -1150550811 OK
921000: ADD -3753402 + 216880016 = 213126614 OK
922000: OR -1604350370 + 84045340 = -1520439714 OK
923000: AND -605257291 + 339106961 = 270794897 OK
924000: AND 1562502338 + 276737636 = 270574656 OK
925000: OR 2055173732 + 1508642558 = 2080341758 OK
926000: AND -1432808102 + -128379403 = -1474751152 OK
927000: ADD 1467302438 + 1749200730 = -1078464128 OK
928000: SLT -1112986769 + 280334251 = 1 OK
929000: AND -2105092763 + -2105343238 = -2105409440 OK
930000: AND 1945154760 + 590871140 = 590393408 OK
931000: OR -798496406 + 506987033 = -562041989 OK
932000: OR -97540254 + 870748670 = -68175874 OK
933000: ADD -1073629293 + 724186178 = -349443115 OK
934000: ADD 537939041 + 1745209230 = -2011819025 OK
935000: SLT 1261766098 + -1550218116 = 0 OK
936000: AND -34574733 + 1037326011 = 1037059635 OK
937000: SUB -187144677 + -974213379 = 787068702 OK
938000: ADD 186898463 + 1585821516 = 1772719979 OK
939000: AND 1640257925 + -701629355 = 1074026501 OK
940000: AND -1782084949 + -752365241 = -1861779453 OK
941000: SLT -841531065 + -1590256058 = 0 OK
942000: OR -978153301 + 771450667 = -302254165 OK
943000: ADD -1862043938 + 386052298 = -1475991640 OK
944000: SLT 2102720334 + 801033523 = 0 OK
945000: ADD -1264526854 + -720663049 = -1985189903 OK
946000: AND 1797644295 + 1526959523 = 1258389507 OK
947000: SLT 1146908167 + 532532670 = 0 OK
948000: AND 1256771623 + 1321884047 = 1254641671 OK
949000: ADD 1725534829 + 140952248 = 1866487077 OK
950000: ADD -32901507 + 107965079 = 75063572 OK
951000: ADD -1902393385 + 1723577215 = -178816170 OK
952000: SUB 1992695577 + -335800946 = -1966470773 OK
953000: SUB -1590025688 + 519558216 = -2109583904 OK
954000: AND -1123415097 + -70643955 = -1190524155 OK
955000: ADD 1776830953 + 126789297 = 1903620250 OK
956000: SLT -1668418590 + 1838193243 = 1 OK
957000: AND -394815164 + 975566346 = 673550336 OK
958000: ADD 1036818560 + -1807493073 = -770674513 OK
959000: SUB 1269186557 + 1467855995 = -198669438 OK
960000: SUB -659246543 + 1852866107 = 1782854646 OK
961000: OR 1433190112 + 1944099283 = 2012004339 OK
962000: SLT -1352526901 + -2133739134 = 0 OK
963000: AND 1253262995 + -187556112 = 1083311760 OK
964000: SLT -1375747604 + -819417884 = 1 OK
965000: OR 283764449 + 1635014899 = 1912471283 OK
966000: ADD -1456275134 + 1134244453 = -322030681 OK
967000: OR 2006373062 + -194978368 = -134815802 OK
968000: OR 1114770875 + 828248348 = 1937644991 OK
969000: SUB -985294099 + -1236971646 = 251677547 OK
970000: AND -578790623 + -1734669619 = -1736439295 OK
971000: SUB 72282982 + 386400032 = -314117050 OK
972000: OR 2114059225 + -857748586 = -18875425 OK
973000: AND -75910486 + 1816679916 = 1749553320 OK
974000: OR 1943774388 + 2128360255 = 2145367999 OK
975000: SUB -1652029606 + -1190267658 = -461761948 OK
976000: SUB -768357092 + 618033930 = -1386391022 OK
977000: ADD -24791244 + 949535936 = 924744692 OK
978000: SLT -1866845954 + -1841470449 = 1 OK
979000: SUB -963549900 + -1816978870 = 853428970 OK
980000: SUB 1182764610 + 1074141587 = 108623023 OK
981000: ADD 892906973 + -2576715 = 890330258 OK
982000: SLT 129067436 + 543381463 = 1 OK
983000: AND 92286998 + -703333142 = 67121154 OK
984000: AND 344065918 + 1575752525 = 343933772 OK
985000: AND -1079400919 + -1637499650 = -1641962456 OK
986000: SUB -1774181831 + -440746693 = -1333435138 OK
987000: AND 1391252933 + -2114635940 = 14947652 OK
988000: SLT 1453086275 + 1693497903 = 1 OK
989000: OR -1110989047 + -32171568 = -2637863 OK
990000: OR -1987361950 + -798999589 = -638878725 OK
991000: AND 701428235 + 460842761 = 155640329 OK
992000: ADD 1712725328 + 1630579495 = -951662473 OK
993000: ADD -960047273 + -597879503 = -1557926776 OK
994000: AND -496870707 + 162932889 = 2230409 OK
995000: SUB 359568210 + 1682442919 = -1322874709 OK
996000: SUB -917342468 + -926402444 = 9059976 OK
997000: ADD 1896480146 + 986935299 = -1411551851 OK
998000: ADD -59057419 + -73612019 = -132669438 OK
999000: ADD 108076158 + 601117927 = 709194085 OK
1000000: AND 1903171012 + -11596472 = 1900021056 OK
Raw input data

The zero flag simulation output was as follows:

OUT,ZF
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,x
00000000000000000000000000000000,1
00000000000000000000000000000001,0
00000000000000000000000000000010,0
00000000000000000000000000000100,0
00000000000000000000000000001000,0
00000000000000000000000000010000,0
00000000000000000000000000100000,0
00000000000000000000000001000000,0
00000000000000000000000010000000,0
00000000000000000000000100000000,0
00000000000000000000001000000000,0
00000000000000000000010000000000,0
00000000000000000000100000000000,0
00000000000000000001000000000000,0
00000000000000000010000000000000,0
00000000000000000100000000000000,0
00000000000000001000000000000000,0
00000000000000010000000000000000,0
00000000000000100000000000000000,0
00000000000001000000000000000000,0
00000000000010000000000000000000,0
00000000000100000000000000000000,0
00000000001000000000000000000000,0
00000000010000000000000000000000,0
00000000100000000000000000000000,0
00000001000000000000000000000000,0
00000010000000000000000000000000,0
00000100000000000000000000000000,0
00001000000000000000000000000000,0
00010000000000000000000000000000,0
00100000000000000000000000000000,0
01000000000000000000000000000000,0
10000000000000000000000000000000,0
Raw input data

Given these results, the ALU is assumed to be functioning properly.


IV. Unit-Delay Simulation

The unit-delay ALU source can be viewed here.

The following simulations were performed using the unit-delay model, in order to demonstrate the effects of glitching on the ALU's output.

Mean Stabilization Time

In order to calculate the mean time for output to stabilize, 1000 random inputs generated by the included script were run through the ALU in series (i.e. without reinitializing the ALU).

The results were verified using the included program.

UNKNOWN OUTPUT OR STARTUP GLITCH
UNKNOWN OUTPUT OR STARTUP GLITCH
UNKNOWN OUTPUT OR STARTUP GLITCH
1 AND -1343263089, -810983240 = -1884725112 OK :: STABLE 10
2 ADD -862576463, -480617084 = -1343193547 OK :: STABLE 23
3 SUB 109037806, -1527516452 = 1636554258 OK :: STABLE 20
4 SLT -959436161, 2013699419 = 1 OK :: STABLE 16
5 ADD 170267994, 101244991 = 271512985 OK :: STABLE 13
6 AND -637107925, 1052678010 = 436633898 OK :: STABLE 12
7 SLT 664716476, -2042456199 = 0 OK :: STABLE 16
8 ADD 1546599130, 812774190 = -1935593976 OK :: STABLE 18
9 ADD -376608184, -207326766 = -583934950 OK :: STABLE 14
10 SLT 399316952, 516506825 = 1 OK :: STABLE 23
11 AND -877085615, -568638884 = -904396720 OK :: STABLE 10
12 ADD 641021688, 1941817976 = -1712127632 OK :: STABLE 23
13 OR -1989479054, -1071429823 = -915671181 OK :: STABLE 8
14 OR 950008327, -1342760534 = -1073742929 OK :: STABLE 5
15 AND -1471653017, -854486094 = -2013261022 OK :: STABLE 10
16 ADD 1197277588, -1447526395 = -250248807 OK :: STABLE 16
17 ADD -839301591, 910497086 = 71195495 OK :: STABLE 16
18 SUB -1971868287, -548437020 = -1423431267 OK :: STABLE 24
19 AND -1125782233, 1403191683 = 278987011 OK :: STABLE 15
20 AND 1404888080, 36786118 = 36717568 OK :: STABLE 7
21 SLT 582865331, -237055642 = 0 OK :: STABLE 15
22 AND 1730515828, -1475331769 = 536875332 OK :: STABLE 12
23 SLT -2135579390, -1301183134 = 1 OK :: STABLE 19
24 ADD 610304515, 807718762 = 1418023277 OK :: STABLE 15
25 SUB -1492036280, -1169894770 = -322141510 OK :: STABLE 18
26 ADD -73523294, -1603781272 = -1677304566 OK :: STABLE 24
27 SLT 1071010005, 540711515 = 0 OK :: STABLE 23
28 SLT 1208104708, 1392453179 = 1 OK :: STABLE 23
29 AND 318199628, -1149714609 = 309335884 OK :: STABLE 10
30 AND 1805723594, 1057798814 = 721429130 OK :: STABLE 5
31 ADD 73936957, 2014156570 = 2088093527 OK :: STABLE 20
32 SLT 1465633461, -1043628485 = 0 OK :: STABLE 15
33 SLT 41853902, -1738148139 = 0 OK :: STABLE 10
34 ADD 1696126807, -1272755651 = 423371156 OK :: STABLE 18
35 ADD -67703496, 345419865 = 277716369 OK :: STABLE 21
36 SLT -1383946478, 1498376832 = 1 OK :: STABLE 14
37 AND 595451969, -1976082460 = 37044288 OK :: STABLE 10
38 AND 1759646536, -1242920942 = 551682048 OK :: STABLE 11
39 SLT 2095116797, -485347444 = 0 OK :: STABLE 16
40 AND 508296444, 915685068 = 369114316 OK :: STABLE 10
41 SLT -1613458823, 43895340 = 1 OK :: STABLE 16
42 OR 100096608, 133369119 = 133652351 OK :: STABLE 8
43 AND -318662627, 904243663 = 620857357 OK :: STABLE 12
44 SLT -607550719, 1283429488 = 1 OK :: STABLE 14
45 AND -257280279, -755610162 = -794688312 OK :: STABLE 10
46 OR -1402376817, -1579143784 = -1377210977 OK :: STABLE 5
47 SLT -1666519845, 875774735 = 1 OK :: STABLE 17
48 AND 449821294, 571963491 = 34027618 OK :: STABLE 10
49 SLT -1934474724, 1592022318 = 1 OK :: STABLE 16
50 SLT -1888531297, 1674122783 = 1 OK :: STABLE 16
51 OR -1273035063, 758991224 = -1119924231 OK :: STABLE 8
52 OR 1667425944, -651821410 = -77070690 OK :: STABLE 6
53 SUB -142268047, 946027772 = -1088295819 OK :: STABLE 20
54 AND -849259741, 162538555 = 153092131 OK :: STABLE 9
55 ADD 393750691, 475968800 = 869719491 OK :: STABLE 15
56 OR 924852839, -1218234693 = -1218234625 OK :: STABLE 8
57 ADD 300142363, -204491138 = 95651225 OK :: STABLE 15
58 ADD 300515741, 945788447 = 1246304188 OK :: STABLE 19
59 ADD 1653222768, 1626822642 = -1014921886 OK :: STABLE 18
60 SUB -1552138204, 542883278 = -2095021482 OK :: STABLE 21
61 ADD -42209959, 2117163040 = 2074953081 OK :: STABLE 16
62 AND 2119515887, -745542247 = 1376070793 OK :: STABLE 8
63 SLT 218036695, -181351971 = 0 OK :: STABLE 16
64 AND -364748924, -919246462 = -939505280 OK :: STABLE 10
65 SUB -507421454, -1520367554 = 1012946100 OK :: STABLE 20
66 ADD 2114133508, 1926079064 = -254754724 OK :: STABLE 15
67 SUB 1543696064, 859004221 = 684691843 OK :: STABLE 17
68 OR 240674293, -92616584 = -25498115 OK :: STABLE 12
69 AND -1377217804, 1523134001 = 147391024 OK :: STABLE 10
70 ADD 2107732927, 2137063266 = -50171103 OK :: STABLE 19
71 SLT -209348308, -1300191350 = 0 OK :: STABLE 15
72 SUB 1471661352, -1267108899 = -1556197045 OK :: STABLE 16
73 ADD -45485651, -56044136 = -101529787 OK :: STABLE 16
74 ADD 1134086437, -456898603 = 677187834 OK :: STABLE 17
75 ADD -895607978, -1158452672 = -2054060650 OK :: STABLE 16
76 ADD -973259809, 1102999114 = 129739305 OK :: STABLE 13
77 SLT 1251068138, 1094397928 = 0 OK :: STABLE 25
78 OR -221284922, -29786402 = -16810018 OK :: STABLE 8
79 AND -1505096950, -929372146 = -2146826230 OK :: STABLE 10
80 OR -1758298888, 773262305 = -1086881799 OK :: STABLE 6
81 SUB 45621615, 1227431991 = -1181810376 OK :: STABLE 23
82 SLT -416158095, -1575850249 = 0 OK :: STABLE 19
83 OR 1891680581, 1066005058 = 2143941447 OK :: STABLE 8
84 OR 381741243, 812916645 = 922025919 OK :: STABLE 5
85 OR 91238327, -1652900539 = -1652899849 OK :: STABLE 5
86 SUB -2125097960, -2055549851 = -69548109 OK :: STABLE 20
87 ADD 724850446, -1593820555 = -868970109 OK :: STABLE 19
88 OR -1726692255, -1872729574 = -1720390021 OK :: STABLE 8
89 SUB 227445229, 387642828 = -160197599 OK :: STABLE 21
90 ADD 1281494785, 1028493041 = -1984979470 OK :: STABLE 18
91 ADD 1901382548, -934366093 = 967016455 OK :: STABLE 33
92 AND 161258469, 497714461 = 159940869 OK :: STABLE 8
93 ADD 191986987, -1255685366 = -1063698379 OK :: STABLE 21
94 SLT 1802469935, -2131501338 = 0 OK :: STABLE 15
95 OR -1434382455, 767431789 = -1346428947 OK :: STABLE 8
96 OR -1665091057, 1605224710 = -538051825 OK :: STABLE 9
97 SUB -44425742, 2046662028 = -2091087770 OK :: STABLE 21
98 OR -235527407, 247279948 = -52387 OK :: STABLE 28
99 SLT -377163330, 886093154 = 1 OK :: STABLE 14
100 AND -731192643, 445441788 = 269017788 OK :: STABLE 10
101 ADD 1895641066, 1869408317 = -529917913 OK :: STABLE 24
102 SLT 1241907561, 1154314083 = 0 OK :: STABLE 22
103 SUB -229496576, -1179159605 = 949663029 OK :: STABLE 14
104 SUB 100580213, 1358181528 = -1257601315 OK :: STABLE 20
105 AND -576175908, -954915409 = -989855604 OK :: STABLE 8
106 SLT 1929644926, -1444461213 = 0 OK :: STABLE 16
107 ADD -225577166, -1946466170 = 2122923960 OK :: STABLE 26
108 OR 1383566889, 567862461 = 1946152637 OK :: STABLE 8
109 OR 308843244, -1363653720 = -1090987028 OK :: STABLE 5
110 AND 551262854, -717360014 = 1675266 OK :: STABLE 14
111 SLT -1219223124, 980660230 = 1 OK :: STABLE 17
112 SLT -1895804342, 677751223 = 1 OK :: STABLE 17
113 AND 1190048283, 1337915632 = 1185853456 OK :: STABLE 10
114 ADD 1311904590, 1465598949 = -1517463757 OK :: STABLE 13
115 ADD -713868589, -2098976328 = 1482122379 OK :: STABLE 17
116 SLT -335075312, -1306755949 = 0 OK :: STABLE 19
117 OR 330486013, -1487613606 = -1208561153 OK :: STABLE 8
118 SUB -260806868, 121859516 = -382666384 OK :: STABLE 17
119 SUB -1830455046, 642341816 = 1822170434 OK :: STABLE 20
120 AND 1556460040, 1231586751 = 1212186632 OK :: STABLE 8
121 SLT -446478154, 2009162770 = 1 OK :: STABLE 12
122 AND 986480935, -778427816 = 277348352 OK :: STABLE 13
123 AND -442198408, -1506236746 = -1541372368 OK :: STABLE 5
124 ADD 1740372190, -894803230 = 845568960 OK :: STABLE 19
125 SUB -64497604, -1238761434 = 1174263830 OK :: STABLE 19
126 SLT 1500441444, 1658912639 = 1 OK :: STABLE 19
127 SLT -2039580918, 670774818 = 1 OK :: STABLE 14
128 ADD 1542178157, -864795139 = 677383018 OK :: STABLE 22
129 SUB -536772920, 670901079 = -1207673999 OK :: STABLE 18
130 OR 830421204, -1522985326 = -1249952042 OK :: STABLE 8
131 ADD -1696362901, 327145631 = -1369217270 OK :: STABLE 20
132 SLT 218012933, 1517464003 = 1 OK :: STABLE 14
133 ADD 1942490525, -1423413471 = 519077054 OK :: STABLE 18
134 OR 1866727196, -1935778291 = -270532835 OK :: STABLE 11
135 SUB -1965603791, -149082969 = -1816520822 OK :: STABLE 15
136 OR -2077701124, 1654757173 = -425074691 OK :: STABLE 8
137 SLT -1623470851, 438718472 = 1 OK :: STABLE 16
138 AND -993432379, 1839016512 = 1149839424 OK :: STABLE 10
139 SUB 502649067, 1235742075 = -733093008 OK :: STABLE 18
140 ADD 1120938616, 1059960962 = -2114067718 OK :: STABLE 23
141 SLT 1771229288, 1126744870 = 0 OK :: STABLE 15
142 SLT 2057553830, -1857615539 = 0 OK :: STABLE 16
143 SUB 1783255161, 584543310 = 1198711851 OK :: STABLE 14
144 AND 821921659, 972797214 = 821658906 OK :: STABLE 8
145 SLT 1880544792, -831855118 = 0 OK :: STABLE 15
146 ADD 1937858446, -1192386974 = 745471472 OK :: STABLE 17
147 AND -1896675924, 1251246514 = 177209760 OK :: STABLE 10
148 SLT 1923868207, -91778271 = 0 OK :: STABLE 15
149 OR -485372486, -1388102573 = -279708165 OK :: STABLE 10
150 SLT 635814197, 1009211447 = 1 OK :: STABLE 23
151 ADD -776926433, -1159888061 = -1936814494 OK :: STABLE 17
152 ADD -1503594124, 2028018146 = 524424022 OK :: STABLE 21
153 SUB -1246993810, 674027749 = -1921021559 OK :: STABLE 27
154 SLT 1174287717, -1491394870 = 0 OK :: STABLE 16
155 AND -683938476, 295963026 = 287312144 OK :: STABLE 10
156 AND 1801357736, 1111060948 = 1108869504 OK :: STABLE 6
157 ADD -423418878, 1877332875 = 1453913997 OK :: STABLE 15
158 OR 1614927973, -1522183078 = -448406401 OK :: STABLE 8
159 OR 781773330, 2024772181 = 2126510679 OK :: STABLE 5
160 ADD 409776311, -1040089695 = -630313384 OK :: STABLE 17
161 AND -934007958, -1288324554 = -2146162142 OK :: STABLE 8
162 SUB 1153291686, 1494861218 = -341569532 OK :: STABLE 29
163 AND -597110530, 1164069580 = 1147158732 OK :: STABLE 10
164 AND -872867741, -2025871227 = -2093414399 OK :: STABLE 6
165 ADD -599763325, -768677900 = -1368441225 OK :: STABLE 17
166 OR 784896946, 1649632600 = 1859909626 OK :: STABLE 8
167 SUB -1922121352, 1501269623 = 871576321 OK :: STABLE 22
168 AND 625977044, -2050546195 = 88548548 OK :: STABLE 8
169 SUB 1190164233, 1862921788 = -672757555 OK :: STABLE 16
170 OR 765254737, -22286618 = -4194569 OK :: STABLE 11
171 SUB 1690124729, 81651190 = 1608473539 OK :: STABLE 24
172 AND 591742307, 2140790352 = 587285568 OK :: STABLE 9
173 OR 1581256918, 374504569 = 1582464255 OK :: STABLE 8
174 OR -1538241283, 979029094 = -1101345537 OK :: STABLE 5
175 ADD 1128164138, 2134151744 = -1032651414 OK :: STABLE 21
176 AND -1592939101, -1321630387 = -1593211647 OK :: STABLE 8
177 SLT 2082243422, -1304333867 = 0 OK :: STABLE 15
178 AND 989240201, -1034167324 = 38968192 OK :: STABLE 17
179 AND -252762105, -1017712631 = -1069146111 OK :: STABLE 5
180 SUB 1818323122, -1522297594 = -954346580 OK :: STABLE 16
181 OR -741295513, 1376781639 = -741294233 OK :: STABLE 8
182 ADD 1405975309, -379850801 = 1026124508 OK :: STABLE 15
183 ADD -1117471179, -1380565139 = 1796930978 OK :: STABLE 13
184 SLT -623809345, -1918424388 = 0 OK :: STABLE 15
185 SLT -1908751859, 1141649376 = 1 OK :: STABLE 15
186 SUB -700240619, -58579263 = -641661356 OK :: STABLE 20
187 AND 978264928, 1329372129 = 168559456 OK :: STABLE 12
188 AND 1701446875, 2085814444 = 1682047112 OK :: STABLE 5
189 ADD 929683958, -1971403438 = -1041719480 OK :: STABLE 21
190 SLT -1026815222, 1717728880 = 1 OK :: STABLE 15
191 AND 1491195481, -821415844 = 1207963736 OK :: STABLE 10
192 ADD 601288452, 1604649257 = -2089029587 OK :: STABLE 22
193 ADD 2124473297, 776464066 = -1394029933 OK :: STABLE 16
194 SUB -1375104032, -143194636 = -1231909396 OK :: STABLE 20
195 SUB -408929873, 1672475586 = -2081405459 OK :: STABLE 21
196 SLT -380183441, 1231826683 = 1 OK :: STABLE 5
197 AND 1001539861, -390677553 = 682756357 OK :: STABLE 10
198 ADD -1409299967, 1003172668 = -406127299 OK :: STABLE 20
199 ADD -1573278836, -1742374511 = 979313949 OK :: STABLE 17
200 SLT 1479852054, -2026840329 = 0 OK :: STABLE 15
201 OR -2124434440, 114138595 = -2015379461 OK :: STABLE 8
202 ADD -583275142, 676093899 = 92818757 OK :: STABLE 19
203 AND 1714214610, 2114036431 = 1711309506 OK :: STABLE 8
204 ADD -93218941, -1326022945 = -1419241886 OK :: STABLE 24
205 OR 2132359086, 1696342457 = 2132621247 OK :: STABLE 8
206 ADD 1143070309, -692461385 = 450608924 OK :: STABLE 23
207 ADD -703530634, -1380697293 = -2084227927 OK :: STABLE 17
208 ADD 2047449564, -1912248964 = 135200600 OK :: STABLE 24
209 SLT -194722844, -2099467472 = 0 OK :: STABLE 15
210 OR -1605127273, 279883235 = -1325416457 OK :: STABLE 8
211 SUB -1478026212, 585158291 = -2063184503 OK :: STABLE 21
212 AND -2029258450, 2126669818 = 100819242 OK :: STABLE 15
213 OR -1197473924, 659781455 = -1075839105 OK :: STABLE 8
214 ADD 764498314, 1073523836 = 1838022150 OK :: STABLE 26
215 SUB -369854731, -2033630578 = 1663775847 OK :: STABLE 16
216 SLT 399811070, -1267912572 = 0 OK :: STABLE 14
217 SUB 838067850, 331958425 = 506109425 OK :: STABLE 19
218 SLT 2059668877, 130724019 = 0 OK :: STABLE 10
219 OR -761102379, 1227948154 = -608993281 OK :: STABLE 8
220 AND 643540238, -1794272735 = 67731456 OK :: STABLE 10
221 AND -1183660145, 287580562 = 287310210 OK :: STABLE 6
222 OR 1500293419, 1977324217 = 2113911739 OK :: STABLE 5
223 SLT -872915560, -1048069232 = 0 OK :: STABLE 26
224 ADD 922629997, 673404366 = 1596034363 OK :: STABLE 20
225 OR -1481212939, 273987986 = -1208550409 OK :: STABLE 8
226 OR -1382534695, -380243200 = -304221223 OK :: STABLE 8
227 OR -1347109705, 1119690583 = -272777225 OK :: STABLE 11
228 AND 396457154, -1189921572 = 285291712 OK :: STABLE 10
229 AND -936511541, 2060425162 = 1208850378 OK :: STABLE 7
230 AND -1088778013, -1684960848 = -1693417312 OK :: STABLE 5
231 SLT -417447643, -1407389106 = 0 OK :: STABLE 15
232 ADD -740864038, 604976267 = -135887771 OK :: STABLE 23
233 OR 14585026, -1974140780 = -1965060906 OK :: STABLE 8
234 SLT 1985206168, 588782952 = 0 OK :: STABLE 18
235 AND -427028112, 893221086 = 604770384 OK :: STABLE 10
236 OR -1308467857, -1567164696 = -1298726929 OK :: STABLE 5
237 AND 1005485160, 262349056 = 195174400 OK :: STABLE 10
238 OR -1787325515, 1752005942 = -41943113 OK :: STABLE 20
239 ADD 1370437398, 1788879999 = -1135649899 OK :: STABLE 20
240 SUB -1198168773, -1024879388 = -173289385 OK :: STABLE 17
241 SLT -820267613, 1687299227 = 1 OK :: STABLE 16
242 OR -1150568432, -896329255 = -67388967 OK :: STABLE 8
243 SLT -1073164252, 140958505 = 1 OK :: STABLE 15
244 AND 800580926, 1528276406 = 186098998 OK :: STABLE 13
245 OR 1451940209, -104193662 = -3474957 OK :: STABLE 5
246 SUB -1826691706, -1378280906 = -448410800 OK :: STABLE 17
247 AND 1509445141, 1622041342 = 1084768788 OK :: STABLE 8
248 ADD 1964045132, 1377376115 = -953546049 OK :: STABLE 19
249 SUB -211819809, -1996552536 = 1784732727 OK :: STABLE 19
250 ADD -1846796249, 1302857496 = -543938753 OK :: STABLE 23
251 OR 1537752554, -1745306059 = -537346049 OK :: STABLE 8
252 SLT 1400776922, -1734812437 = 0 OK :: STABLE 15
253 SUB 781389383, 614922340 = 166467043 OK :: STABLE 17
254 AND -1383842656, 1891854893 = 545269792 OK :: STABLE 9
255 ADD 1830245766, 1540916042 = -923805488 OK :: STABLE 25
256 SUB -1588820727, 1834218694 = 871927875 OK :: STABLE 20
257 OR 347200462, 1135855423 = 1471406079 OK :: STABLE 8
258 ADD 1713607144, -229180354 = 1484426790 OK :: STABLE 13
259 SUB -489766324, -83853980 = -405912344 OK :: STABLE 15
260 AND -748326668, 1462797792 = 1394606304 OK :: STABLE 10
261 OR 49629469, 1295543548 = 1342008829 OK :: STABLE 5
262 ADD -657147089, -265470291 = -922617380 OK :: STABLE 23
263 ADD -1832520452, 1782128903 = -50391549 OK :: STABLE 22
264 ADD 1292522039, 517278946 = 1809800985 OK :: STABLE 20
265 SUB -1198809505, -1018184728 = -180624777 OK :: STABLE 17
266 SLT -2023262717, -1292395468 = 1 OK :: STABLE 21
267 SUB 1639933642, -876109573 = -1778924081 OK :: STABLE 18
268 AND -1200793664, -2084120798 = -2143004928 OK :: STABLE 8
269 OR -1822070149, -531518365 = -210375045 OK :: STABLE 5
270 OR 1825892549, 131427548 = 1876290781 OK :: STABLE 9
271 ADD -263121984, 1321774972 = 1058652988 OK :: STABLE 21
272 SLT -1896452901, -1422768452 = 1 OK :: STABLE 17
273 AND 226658964, -1817643857 = 25198724 OK :: STABLE 10
274 AND 1699274060, 361265469 = 84433164 OK :: STABLE 12
275 SLT -2129746346, -1910294621 = 1 OK :: STABLE 25
276 OR -24150408, 297180145 = -4194311 OK :: STABLE 16
277 ADD 300243134, 1185601273 = 1485844407 OK :: STABLE 16
278 SUB 221363160, -1421682443 = 1643045603 OK :: STABLE 16
279 ADD -198537136, 591764245 = 393227109 OK :: STABLE 21
280 SLT -1909752129, -1826472001 = 1 OK :: STABLE 19
281 ADD 775380482, -1813032538 = -1037652056 OK :: STABLE 22
282 SUB -221294023, 1710442602 = -1931736625 OK :: STABLE 24
283 AND 1704889559, -1676001302 = 68816066 OK :: STABLE 16
284 SUB -1256205610, 1413204930 = 1625556756 OK :: STABLE 22
285 AND -217308268, 923803104 = 855638400 OK :: STABLE 8
286 SLT 1174057793, -1163243068 = 0 OK :: STABLE 16
287 SUB -222083109, -305759520 = 83676411 OK :: STABLE 22
288 ADD 555226865, -1329640629 = -774413764 OK :: STABLE 17
289 SLT -1882456237, 1839802464 = 1 OK :: STABLE 17
290 SUB 1653586535, 1013179685 = 640406850 OK :: STABLE 19
291 ADD -2140002647, 1662591425 = -477411222 OK :: STABLE 16
292 SLT -1415027556, -337743425 = 1 OK :: STABLE 17
293 SLT 1273624451, -147492739 = 0 OK :: STABLE 12
294 AND 2000355260, 812530731 = 808074280 OK :: STABLE 10
295 ADD 479948232, -1102294510 = -622346278 OK :: STABLE 31
296 SLT 889882438, 689291827 = 0 OK :: STABLE 17
297 ADD 1952258502, -298878602 = 1653379900 OK :: STABLE 16
298 AND -994752492, 1913660585 = 1074790400 OK :: STABLE 8
299 OR 317079577, 908605438 = 921597951 OK :: STABLE 5
300 ADD 1537657614, 122152005 = 1659809619 OK :: STABLE 20
301 AND -1918443167, 469023228 = 161784160 OK :: STABLE 8
302 SUB 753384813, -1690956127 = -1850626356 OK :: STABLE 16
303 SLT -860409042, 1324016002 = 1 OK :: STABLE 17
304 AND -1578544687, 906732092 = 537460752 OK :: STABLE 10
305 SLT -1757574995, -661670396 = 1 OK :: STABLE 19
306 AND -28148829, -1743881850 = -1744668286 OK :: STABLE 12
307 SUB -1625459477, -1948554790 = 323095313 OK :: STABLE 16
308 SLT 1003559540, 506481763 = 0 OK :: STABLE 16
309 SLT 1211785690, 1509732043 = 1 OK :: STABLE 19
310 ADD -1701233320, 98278576 = -1602954744 OK :: STABLE 24
311 SUB 1038466651, 526190891 = 512275760 OK :: STABLE 19
312 OR -706861457, -1880130141 = -536903697 OK :: STABLE 8
313 SUB -571370772, -772205269 = 200834497 OK :: STABLE 27
314 OR 395326749, -1390844128 = -1080461507 OK :: STABLE 8
315 SUB 1739427797, 686871665 = 1052556132 OK :: STABLE 15
316 OR -37197413, -1403880097 = -36012577 OK :: STABLE 9
317 ADD 786026735, 1345727005 = 2131753740 OK :: STABLE 29
318 AND -1530568986, -743689611 = -2138828188 OK :: STABLE 8
319 AND -1131908528, -1692714580 = -1744293888 OK :: STABLE 5
320 SLT -453414851, 2034023061 = 1 OK :: STABLE 15
321 AND -1507330434, -283412082 = -1509724146 OK :: STABLE 10
322 ADD -57616979, 811451694 = 753834715 OK :: STABLE 14
323 OR -2065942013, 2060747847 = -19087801 OK :: STABLE 11
324 SUB 1667163987, -913040334 = -1714762975 OK :: STABLE 15
325 SUB -503606924, -446293145 = -57313779 OK :: STABLE 20
326 SUB -1418659484, -1262780382 = -155879102 OK :: STABLE 18
327 SUB 1774749249, 122287561 = 1652461688 OK :: STABLE 17
328 ADD 18117406, 576922294 = 595039700 OK :: STABLE 14
329 SLT 1311687665, 622716631 = 0 OK :: STABLE 18
330 ADD -2095222495, -927870147 = 1271874654 OK :: STABLE 17
331 SLT -252118380, 1065303743 = 1 OK :: STABLE 15
332 SLT 1557626864, -875555063 = 0 OK :: STABLE 16
333 SUB 67966096, -623770653 = 691736749 OK :: STABLE 13
334 SLT 747525509, -1421453955 = 0 OK :: STABLE 11
335 SUB -1670845160, -1139383319 = -531461841 OK :: STABLE 23
336 SUB 779614520, 1184875165 = -405260645 OK :: STABLE 18
337 AND -761132570, 1964148529 = 1342308640 OK :: STABLE 8
338 ADD -713879698, -1999430611 = 1581656987 OK :: STABLE 15
339 ADD 1084392985, -1973003356 = -888610371 OK :: STABLE 17
340 SLT -37416245, 1710320837 = 1 OK :: STABLE 17
341 ADD -684085953, -1779629039 = 1831252304 OK :: STABLE 20
342 OR 1316927197, 677588320 = 1853865981 OK :: STABLE 9
343 SLT -626881296, -1957236840 = 0 OK :: STABLE 19
344 SLT 839749749, -2043340460 = 0 OK :: STABLE 14
345 ADD -783134572, 353255630 = -429878942 OK :: STABLE 15
346 ADD 1220935210, 1653156273 = -1420875813 OK :: STABLE 16
347 AND -2029691365, 1081257635 = 3587 OK :: STABLE 8
348 OR -1972422720, -145996679 = -9472007 OK :: STABLE 17
349 SLT 333460432, -615286477 = 0 OK :: STABLE 16
350 OR 1970074983, -1954641607 = -8454785 OK :: STABLE 22
351 AND 1337509532, 746978053 = 209764868 OK :: STABLE 10
352 OR 908154884, 496015323 = 1068621791 OK :: STABLE 5
353 AND -291445435, 508156769 = 234930497 OK :: STABLE 10
354 SLT 609301009, -1681193007 = 0 OK :: STABLE 16
355 ADD 694272148, 1194623180 = 1888895328 OK :: STABLE 18
356 SUB 1810011312, -178039567 = 1988050879 OK :: STABLE 25
357 OR -795510423, 1167796943 = -710968337 OK :: STABLE 10
358 OR 813115134, -849273718 = -42516738 OK :: STABLE 6
359 AND 2134134048, 342663299 = 337903616 OK :: STABLE 12
360 OR 2063228376, 741044387 = 2130411003 OK :: STABLE 5
361 SLT 2144335318, 1676850594 = 0 OK :: STABLE 15
362 SUB -200820605, 306550889 = -507371494 OK :: STABLE 20
363 AND 543614835, -573924841 = 4358675 OK :: STABLE 14
364 AND 1024639743, -1987601369 = 151158823 OK :: STABLE 5
365 ADD 902925185, -1430386640 = -527461455 OK :: STABLE 21
366 OR 232610021, -725759896 = -570566419 OK :: STABLE 9
367 SUB -822981324, 1158906889 = -1981888213 OK :: STABLE 20
368 SUB -1731228634, -919292138 = -811936496 OK :: STABLE 18
369 ADD 2047114297, 177277647 = -2070575352 OK :: STABLE 20
370 SLT -1338099453, -891242838 = 1 OK :: STABLE 19
371 SUB 1496422426, -399353125 = 1895775551 OK :: STABLE 23
372 SLT 1605616917, -1560254771 = 0 OK :: STABLE 10
373 SLT 1353041763, 1663399395 = 1 OK :: STABLE 19
374 SUB 1068194113, -544905475 = 1613099588 OK :: STABLE 20
375 ADD 1349903558, 1624224948 = -1320838790 OK :: STABLE 16
376 AND 1625237225, -1487745268 = 542246408 OK :: STABLE 9
377 OR -84411916, 1143588903 = -16778761 OK :: STABLE 5
378 SUB 1239582392, -1272894826 = -1782490078 OK :: STABLE 21
379 ADD -1828977951, 1610016086 = -218961865 OK :: STABLE 15
380 SLT -1682895906, -576084023 = 1 OK :: STABLE 17
381 OR -1457930833, 2107386684 = -39993409 OK :: STABLE 12
382 SUB 1821610140, -1853987064 = -619370092 OK :: STABLE 14
383 ADD -114693513, -1585340862 = -1700034375 OK :: STABLE 19
384 ADD 1269750111, 67775573 = 1337525684 OK :: STABLE 21
385 SLT 1301808033, 964817520 = 0 OK :: STABLE 18
386 OR 152519149, -1551537018 = -1416139281 OK :: STABLE 8
387 SUB 969732755, -1619699926 = -1705534615 OK :: STABLE 16
388 AND 946342988, -1271488590 = 807406592 OK :: STABLE 8
389 AND 1242359258, 1538039760 = 1242334672 OK :: STABLE 5
390 SUB -1829704862, -1780598950 = -49105912 OK :: STABLE 19
391 ADD 947979548, 1130105495 = 2078085043 OK :: STABLE 19
392 AND -1699064949, 311910963 = 311575043 OK :: STABLE 8
393 OR 303144046, -1523999888 = -1220960386 OK :: STABLE 5
394 ADD -1572238957, 1866152101 = 293913144 OK :: STABLE 15
395 SUB 1504988142, -684977444 = -2105001710 OK :: STABLE 17
396 OR -1022597934, -2071538602 = -946932522 OK :: STABLE 8
397 OR -1447353941, -97384198 = -71620101 OK :: STABLE 8
398 OR -2044341403, 1457685081 = -689450115 OK :: STABLE 10
399 ADD -1843260612, 2026451771 = 183191159 OK :: STABLE 14
400 SUB -468289613, -45448481 = -422841132 OK :: STABLE 14
401 OR 772170140, -114006155 = -13211651 OK :: STABLE 11
402 ADD -199836485, -1765019020 = -1964855505 OK :: STABLE 18
403 AND -647832282, -1362421419 = -2008934140 OK :: STABLE 12
404 SLT 1373344489, -205825994 = 0 OK :: STABLE 16
405 SLT 1531056319, 1243735896 = 0 OK :: STABLE 23
406 ADD 1221474651, 464009599 = 1685484250 OK :: STABLE 14
407 SUB -1852906858, 457433815 = 1984626623 OK :: STABLE 33
408 SUB -1496377374, -72233214 = -1424144160 OK :: STABLE 20
409 SUB 1592362498, 348496592 = 1243865906 OK :: STABLE 20
410 OR 110644255, 916314183 = 916315231 OK :: STABLE 8
411 OR -1238663840, -570723485 = -295069 OK :: STABLE 9
412 SLT -2012858227, 1056596486 = 1 OK :: STABLE 15
413 AND -1564134396, 1976837197 = 549725188 OK :: STABLE 12
414 ADD 1484435037, -507612966 = 976822071 OK :: STABLE 17
415 ADD 334706586, 54175421 = 388882007 OK :: STABLE 14
416 AND -955956379, -685656773 = -956235487 OK :: STABLE 8
417 ADD -1245536886, -1831475373 = 1217955037 OK :: STABLE 18
418 AND 585866136, 57149124 = 40370816 OK :: STABLE 8
419 SUB -21267399, 1796451127 = -1817718526 OK :: STABLE 20
420 SLT -361434690, -49335249 = 1 OK :: STABLE 25
421 OR -284237505, -1085292672 = -11534401 OK :: STABLE 10
422 SUB -370504344, -2060252533 = 1689748189 OK :: STABLE 15
423 AND -2079709971, 1062408287 = 67240013 OK :: STABLE 8
424 AND 1762927696, -1972887138 = 134225936 OK :: STABLE 13
425 SLT -388745039, -1747430951 = 0 OK :: STABLE 19
426 SUB -1341394009, -1007203223 = -334190786 OK :: STABLE 11
427 OR -988257986, 942626279 = -46172673 OK :: STABLE 18
428 ADD 969849346, -1001106354 = -31257008 OK :: STABLE 18
429 ADD -590608760, -865989543 = -1456598303 OK :: STABLE 13
430 AND 385561822, 1058484809 = 370356296 OK :: STABLE 8
431 ADD 994554599, 1235420885 = -2064991812 OK :: STABLE 16
432 OR -1824363272, 1958288688 = -134513160 OK :: STABLE 10
433 SLT 1155813384, -1205516356 = 0 OK :: STABLE 16
434 SLT -262896913, 820104453 = 1 OK :: STABLE 15
435 OR 867236723, -1721783060 = -1140850689 OK :: STABLE 8
436 AND -2107186720, 261493429 = 33947808 OK :: STABLE 10
437 SUB -1061110326, -1249476727 = 188366401 OK :: STABLE 22
438 SUB 432164867, 800696542 = -368531675 OK :: STABLE 12
439 AND -894118121, -675927974 = -1028390894 OK :: STABLE 8
440 SUB 1170625913, -618480274 = 1789106187 OK :: STABLE 18
441 ADD 488931255, 491834462 = 980765717 OK :: STABLE 25
442 OR -1052741705, 1258779964 = -884506689 OK :: STABLE 9
443 ADD 1552924879, -655673437 = 897251442 OK :: STABLE 18
444 SLT 1727566948, -1680121368 = 0 OK :: STABLE 16
445 OR -946622394, 82119809 = -940065593 OK :: STABLE 10
446 ADD -494325630, -1894457433 = 1906184233 OK :: STABLE 20
447 SLT 1965800380, -126534707 = 0 OK :: STABLE 15
448 SLT 1495410991, 789996486 = 0 OK :: STABLE 19
449 ADD -436727049, 1959945891 = 1523218842 OK :: STABLE 15
450 AND 490666346, 452804101 = 406599680 OK :: STABLE 8
451 AND 1023180220, -791509811 = 282068108 OK :: STABLE 8
452 SLT -682234721, 1346567711 = 1 OK :: STABLE 16
453 AND -2096215536, 49091319 = 34341392 OK :: STABLE 10
454 AND -1600178200, 992928789 = 537797632 OK :: STABLE 5
455 OR -1545447605, -515526094 = -471337093 OK :: STABLE 6
456 AND 1797219390, -1009431270 = 1125467162 OK :: STABLE 10
457 AND -1407852650, 1856280180 = 738498068 OK :: STABLE 11
458 SLT 1437706777, 1690386477 = 1 OK :: STABLE 19
459 ADD -887401318, 454030353 = -433370965 OK :: STABLE 11
460 SUB -395273434, -1872567096 = 1477293662 OK :: STABLE 18
461 ADD 1039121806, 911400038 = 1950521844 OK :: STABLE 21
462 SUB 943280422, -1318511824 = -2033175050 OK :: STABLE 20
463 SLT -1787735058, 301414448 = 1 OK :: STABLE 15
464 OR 1928225037, 1204711746 = 2012115279 OK :: STABLE 8
465 AND 1455681909, -1497245124 = 113365044 OK :: STABLE 10
466 ADD -915761163, 743806931 = -171954232 OK :: STABLE 17
467 SUB -1235808965, -867659914 = -368149051 OK :: STABLE 22
468 AND -547218543, -1596449788 = -2143283200 OK :: STABLE 26
469 OR -1464805634, -579491443 = -34209793 OK :: STABLE 10
470 SUB 433355282, 217959697 = 215395585 OK :: STABLE 22
471 SLT -154843391, 1431656339 = 1 OK :: STABLE 12
472 AND 1026594245, 2050732681 = 942706817 OK :: STABLE 10
473 AND 422249995, -1062910868 = 2163720 OK :: STABLE 9
474 SLT 1111537368, -249554964 = 0 OK :: STABLE 15
475 OR -828066714, 920909036 = -18352914 OK :: STABLE 14
476 SLT -1252427268, -2064332249 = 0 OK :: STABLE 18
477 ADD 1658232815, 1601458157 = -1035276324 OK :: STABLE 17
478 SUB -2116985628, 1781104742 = 396876926 OK :: STABLE 23
479 OR 2091399317, -1703728950 = -17090337 OK :: STABLE 15
480 ADD 284385749, 814505261 = 1098891010 OK :: STABLE 26
481 ADD -1543514142, 1077190904 = -466323238 OK :: STABLE 22
482 SUB 579877307, 1194118591 = -614241284 OK :: STABLE 27
483 AND -907113642, -691974205 = -1061156030 OK :: STABLE 8
484 AND 1721018503, 1941609786 = 1653639170 OK :: STABLE 5
485 OR -1917726012, 1131833166 = -805832754 OK :: STABLE 9
486 AND -784401990, 180233712 = 4071856 OK :: STABLE 10
487 ADD -204375313, -1324936088 = -1529311401 OK :: STABLE 17
488 ADD 383871855, -764741919 = -380870064 OK :: STABLE 19
489 AND 234895894, 1203383001 = 100674064 OK :: STABLE 8
490 SUB 566035519, -290368408 = 856403927 OK :: STABLE 22
491 ADD 1513375547, 1073701424 = -1707890325 OK :: STABLE 16
492 SUB 1120625879, -1315995013 = -1858346404 OK :: STABLE 16
493 SLT -156688842, 619710265 = 1 OK :: STABLE 15
494 ADD 1930059798, -836889594 = 1093170204 OK :: STABLE 18
495 AND -1800809976, -1720933211 = -1876393984 OK :: STABLE 8
496 SLT -869233399, -26452404 = 1 OK :: STABLE 22
497 OR 117572571, -690761332 = -673983521 OK :: STABLE 8
498 ADD -2062734297, -1150355369 = 1081877630 OK :: STABLE 21
499 SUB 976134325, -1114792243 = 2090926568 OK :: STABLE 21
500 OR 833727893, 1130016218 = 1945873887 OK :: STABLE 8
501 ADD -2140391215, 1541805181 = -598586034 OK :: STABLE 13
502 AND -1693878178, -69414382 = -1693954030 OK :: STABLE 8
503 SLT -1221465332, 1461872347 = 1 OK :: STABLE 15
504 ADD -753773857, 213269130 = -540504727 OK :: STABLE 24
505 SUB -1097741322, 1920863888 = 1276362086 OK :: STABLE 17
506 AND -2005824806, -2033079600 = -2142139696 OK :: STABLE 8
507 OR 25441118, 914117144 = 939291486 OK :: STABLE 5
508 AND 1920452588, -1896353412 = 41402732 OK :: STABLE 16
509 SLT 1135461493, -1468457300 = 0 OK :: STABLE 16
510 ADD 513203545, 92517392 = 605720937 OK :: STABLE 16
511 ADD 1253647326, 182050060 = 1435697386 OK :: STABLE 26
512 SLT -760412050, -1607812440 = 0 OK :: STABLE 19
513 SUB -195070911, 1117801193 = -1312872104 OK :: STABLE 16
514 SUB 152198883, 149538155 = 2660728 OK :: STABLE 21
515 ADD 886943039, -213787663 = 673155376 OK :: STABLE 21
516 SLT -915548915, -1808833223 = 0 OK :: STABLE 15
517 OR 1765933524, 557632925 = 1769917917 OK :: STABLE 10
518 ADD -1330330185, -1053276652 = 1911360459 OK :: STABLE 15
519 SLT -1269652848, -2022736039 = 0 OK :: STABLE 21
520 SUB -790407688, 1776788778 = 1727770830 OK :: STABLE 17
521 SUB -302611158, -1379871582 = 1077260424 OK :: STABLE 32
522 SLT 2041970035, -845242989 = 0 OK :: STABLE 14
523 SUB 560418391, -160761570 = 721179961 OK :: STABLE 16
524 SLT 1395718061, -123773409 = 0 OK :: STABLE 10
525 AND 12604408, -333324567 = 21224 OK :: STABLE 10
526 SUB -303235705, -1270708285 = 967472580 OK :: STABLE 16
527 ADD -298402579, -1688154742 = -1986557321 OK :: STABLE 19
528 OR -2140115451, -1373194361 = -1367933049 OK :: STABLE 8
529 AND -1971300046, 1338401860 = 176177152 OK :: STABLE 10
530 AND -1218997284, -1934104567 = -2078834680 OK :: STABLE 6
531 OR -1500661734, -831775544 = -286409510 OK :: STABLE 9
532 OR 1359481219, -1471760913 = -112280081 OK :: STABLE 17
533 AND 268800956, -369577104 = 37680 OK :: STABLE 10
534 ADD -563875904, 1370552279 = 806676375 OK :: STABLE 24
535 SLT -243355663, -426348405 = 0 OK :: STABLE 15
536 AND 1713294046, -53652055 = 1678524552 OK :: STABLE 10
537 ADD 1653479536, -722652574 = 930826962 OK :: STABLE 14
538 SLT 2055469333, -191107999 = 0 OK :: STABLE 16
539 ADD 470027502, 277469693 = 747497195 OK :: STABLE 14
540 SUB 911597773, 1268605598 = -357007825 OK :: STABLE 22
541 SUB -919260335, 1959947476 = 1415759485 OK :: STABLE 13
542 OR -422264901, -1768394851 = -153288769 OK :: STABLE 8
543 AND -1696028851, 1251503083 = 176694089 OK :: STABLE 10
544 SUB 2015329298, -348550801 = -1931087197 OK :: STABLE 16
545 SUB -819428339, -967467761 = 148039422 OK :: STABLE 17
546 AND -531460293, 2027980929 = 1614841857 OK :: STABLE 8
547 SLT 90267566, 252599598 = 1 OK :: STABLE 17
548 AND 189212106, 1265196499 = 188810690 OK :: STABLE 10
549 ADD 1041707449, -1580819717 = -539112268 OK :: STABLE 24
550 ADD -1955827019, 716033657 = -1239793362 OK :: STABLE 18
551 ADD 1519523047, -779985059 = 739537988 OK :: STABLE 17
552 ADD -221772813, 1880773165 = 1659000352 OK :: STABLE 12
553 AND -660368952, -1311613596 = -1870524096 OK :: STABLE 8
554 SUB -602917620, -284359641 = -318557979 OK :: STABLE 17
555 ADD 1071870760, -683543119 = 388327641 OK :: STABLE 16
556 AND -584992705, -1984045971 = -1994287059 OK :: STABLE 8
557 SLT 150003276, 518224271 = 1 OK :: STABLE 22
558 OR -373675697, 557282654 = -373326497 OK :: STABLE 13
559 ADD 366368854, 1313724473 = 1680093327 OK :: STABLE 16
560 SUB -1908620008, -849263575 = -1059356433 OK :: STABLE 24
561 ADD 1794365297, 1255951614 = -1244650385 OK :: STABLE 16
562 SUB 1358055275, -1255492511 = -1681419510 OK :: STABLE 21
563 OR -903558751, 366784319 = -537071681 OK :: STABLE 9
564 OR 1893442804, 1590875644 = 2128344572 OK :: STABLE 6
565 AND 1010199607, -967918209 = 67513399 OK :: STABLE 17
566 ADD 1764387088, -1550544295 = 213842793 OK :: STABLE 21
567 AND -1312835993, -146230534 = -1324830110 OK :: STABLE 8
568 OR 147718107, -1214547938 = -1075839009 OK :: STABLE 7
569 ADD -1031551376, 785496955 = -246054421 OK :: STABLE 22
570 SLT 426226401, -956141804 = 0 OK :: STABLE 15
571 AND 819201102, 719780725 = 549716036 OK :: STABLE 10
572 AND -1059083466, -945628091 = -1065187324 OK :: STABLE 6
573 SLT 2075350522, 1474097789 = 0 OK :: STABLE 21
574 ADD -742165024, 869809157 = 127644133 OK :: STABLE 13
575 SLT -1011310435, -775058241 = 1 OK :: STABLE 21
576 AND 437084122, -1522545989 = 871066 OK :: STABLE 10
577 ADD -775506114, -622373886 = -1397880000 OK :: STABLE 17
578 ADD 1608389913, -2010853767 = -402463854 OK :: STABLE 28
579 OR 247108315, 2017422164 = 2126511071 OK :: STABLE 9
580 SUB -81440171, 192758465 = -274198636 OK :: STABLE 25
581 SLT 1795657960, 2057660544 = 1 OK :: STABLE 22
582 ADD -753353843, -751411946 = -1504765789 OK :: STABLE 14
583 SLT -445952854, -191609652 = 1 OK :: STABLE 23
584 SUB 1524767096, -473928669 = 1998695765 OK :: STABLE 14
585 OR 1695007976, 510694074 = 2138560250 OK :: STABLE 17
586 ADD 1662053985, 572212377 = -2060700934 OK :: STABLE 18
587 AND -375344410, -801408829 = -1071632190 OK :: STABLE 8
588 AND -1191014619, 1828361756 = 671254020 OK :: STABLE 11
589 OR -1634234198, 811118914 = -1092636182 OK :: STABLE 8
590 SLT -1347729592, 759197649 = 1 OK :: STABLE 19
591 SUB 536714233, 1815121416 = -1278407183 OK :: STABLE 15
592 SLT 2132907867, 997048172 = 0 OK :: STABLE 18
593 OR 120748178, -395982257 = -277349665 OK :: STABLE 8
594 SUB 238609198, 660602583 = -421993385 OK :: STABLE 19
595 SLT 148684674, -602316790 = 0 OK :: STABLE 15
596 OR 106756480, -1040096328 = -966919240 OK :: STABLE 8
597 ADD -179496262, 1147121090 = 967624828 OK :: STABLE 18
598 OR 724390183, -164623985 = -12756561 OK :: STABLE 10
599 ADD -770223321, -342585217 = -1112808538 OK :: STABLE 16
600 SLT 1702017006, -1904702942 = 0 OK :: STABLE 16
601 ADD 529745135, -1152534157 = -622789022 OK :: STABLE 22
602 AND -1280242281, -1258645148 = -1330640636 OK :: STABLE 8
603 SLT -1382297418, 1547241814 = 1 OK :: STABLE 17
604 SUB -2111794752, 231297322 = 1951875222 OK :: STABLE 19
605 SLT -1295586838, -116839487 = 1 OK :: STABLE 17
606 AND 1616827810, -272812480 = 1612452864 OK :: STABLE 10
607 SLT 1533059459, 1756207840 = 1 OK :: STABLE 19
608 OR 42048222, -90082364 = -90047522 OK :: STABLE 15
609 OR 1842205132, 1458614361 = 2147348957 OK :: STABLE 5
610 ADD -1226285354, -1914723638 = 1153958304 OK :: STABLE 30
611 AND 1479650046, 1179779642 = 1074790970 OK :: STABLE 8
612 SLT 1847727687, 1862960057 = 1 OK :: STABLE 33
613 SUB -623566372, 1162613574 = -1786179946 OK :: STABLE 15
614 ADD -1116127465, -2059492380 = 1119347451 OK :: STABLE 18
615 ADD -1217988461, 1399907326 = 181918865 OK :: STABLE 14
616 OR 80346782, -1738287805 = -1662255137 OK :: STABLE 8
617 ADD -293136508, 1132152378 = 839015870 OK :: STABLE 21
618 SUB 146084044, -1536102556 = 1682186600 OK :: STABLE 16
619 ADD -2130837817, 1869611 = -2128968206 OK :: STABLE 23
620 OR -388830983, -473475100 = -338165763 OK :: STABLE 8
621 OR 811635337, 1575232539 = 2112140955 OK :: STABLE 11
622 ADD 1885347657, -1525572078 = 359775579 OK :: STABLE 13
623 AND 152449937, 1005476945 = 151392273 OK :: STABLE 8
624 OR 1048456678, -39200632 = -530 OK :: STABLE 7
625 OR 1350650507, -571040046 = -570958117 OK :: STABLE 5
626 SLT 123742076, 935116002 = 1 OK :: STABLE 20
627 AND 1588918261, 1193516289 = 1176540417 OK :: STABLE 10
628 SUB -949189442, -1956747045 = 1007557603 OK :: STABLE 22
629 SLT -753218627, 80692048 = 1 OK :: STABLE 15
630 ADD -166922021, 1787287923 = 1620365902 OK :: STABLE 14
631 ADD -416018713, 2050985844 = 1634967131 OK :: STABLE 15
632 AND 1800437038, 760735724 = 693134636 OK :: STABLE 8
633 ADD 1999083237, 1379680225 = -916203834 OK :: STABLE 18
634 ADD -1711340915, 324642248 = -1386698667 OK :: STABLE 16
635 OR -15131297, -1061799302 = -4243585 OK :: STABLE 8
636 AND -1686535422, 785573891 = 173047810 OK :: STABLE 10
637 AND -929759081, 846289077 = 1114261 OK :: STABLE 18
638 SLT -252962600, 1356402501 = 1 OK :: STABLE 16
639 SUB 25948089, -1050110554 = 1076058643 OK :: STABLE 16
640 SUB -937076683, -1740804672 = 803727989 OK :: STABLE 26
641 ADD 348629934, -1832159572 = -1483529638 OK :: STABLE 18
642 SUB 1022426827, -1577229075 = -1695311394 OK :: STABLE 22
643 SLT 443842640, -1355972168 = 0 OK :: STABLE 10
644 ADD 1524773175, -294042507 = 1230730668 OK :: STABLE 16
645 OR -962872564, 467975266 = -536887442 OK :: STABLE 11
646 ADD -199196628, 81160411 = -118036217 OK :: STABLE 19
647 SUB 1975057242, 1954616651 = 20440591 OK :: STABLE 26
648 OR 720625534, 1194910661 = 1878786047 OK :: STABLE 9
649 OR 737613458, -618246788 = -67674114 OK :: STABLE 12
650 SUB 731326372, 1546414335 = -815087963 OK :: STABLE 15
651 ADD -1520485371, -469890624 = -1990375995 OK :: STABLE 14
652 SUB -438127024, 58073726 = -496200750 OK :: STABLE 18
653 SLT 1442144098, 1648178226 = 1 OK :: STABLE 21
654 OR -1813717719, -2141340902 = -1812070597 OK :: STABLE 8
655 OR -507740461, 465261675 = -71336197 OK :: STABLE 6
656 ADD -648342064, 832385715 = 184043651 OK :: STABLE 15
657 SLT 1155690325, -1650716388 = 0 OK :: STABLE 16
658 SUB -509871955, -1382008837 = 872136882 OK :: STABLE 18
659 SUB 933315891, -1203095556 = 2136411447 OK :: STABLE 16
660 SUB 1116784710, -1967283426 = -1210899160 OK :: STABLE 18
661 SLT -572424265, 1455653185 = 1 OK :: STABLE 15
662 SLT -981494523, -406154757 = 1 OK :: STABLE 22
663 SLT -238115231, 1964988976 = 1 OK :: STABLE 17
664 OR 1152490931, 640049589 = 1723334071 OK :: STABLE 8
665 SUB 1485067082, -374905250 = 1859972332 OK :: STABLE 15
666 ADD -731828452, -1253924169 = -1985752621 OK :: STABLE 16
667 ADD -365065856, -1611945544 = -1977011400 OK :: STABLE 16
668 ADD -640224875, 1317075851 = 676850976 OK :: STABLE 20
669 ADD 1509359482, -1200652940 = 308706542 OK :: STABLE 16
670 SUB 1803541849, -1495069682 = -996355765 OK :: STABLE 19
671 SLT -837319434, 1393565801 = 1 OK :: STABLE 15
672 SUB 311822072, -2012506647 = -1970638577 OK :: STABLE 14
673 SUB -519950115, 1548087189 = -2068037304 OK :: STABLE 15
674 SUB -2090226866, 1155254362 = 1049486068 OK :: STABLE 17
675 ADD 1374969607, -852906586 = 522063021 OK :: STABLE 17
676 ADD 1309370046, 2050514093 = -935083157 OK :: STABLE 15
677 OR 1698629359, 522635503 = 2134888175 OK :: STABLE 8
678 SUB -717625950, -2013362701 = 1295736751 OK :: STABLE 25
679 SLT 1816030133, -923740916 = 0 OK :: STABLE 14
680 SLT 1900391472, 1962697186 = 1 OK :: STABLE 25
681 ADD 598532876, -2014346727 = -1415813851 OK :: STABLE 15
682 SUB -724213183, 1053878753 = -1778091936 OK :: STABLE 23
683 OR -1228192808, 1435684188 = -136589348 OK :: STABLE 15
684 SUB -1484231739, 347548321 = -1831780060 OK :: STABLE 18
685 ADD -425015635, 1904609182 = 1479593547 OK :: STABLE 19
686 ADD -88600382, -177990176 = -266590558 OK :: STABLE 25
687 AND 1610453369, 209726381 = 209715497 OK :: STABLE 8
688 SLT -1488969679, -1273535193 = 1 OK :: STABLE 24
689 OR -1503453977, 1980951496 = -160170001 OK :: STABLE 12
690 SLT 558194457, -510521958 = 0 OK :: STABLE 16
691 AND -1670910605, 1521444563 = 405234771 OK :: STABLE 10
692 SUB -1880340046, 49841208 = -1930181254 OK :: STABLE 19
693 SUB 71437090, 1111142062 = -1039704972 OK :: STABLE 15
694 SLT 1486306942, 1109317408 = 0 OK :: STABLE 16
695 ADD 1428687437, -255869174 = 1172818263 OK :: STABLE 15
696 AND 368913303, 287849396 = 287845268 OK :: STABLE 8
697 AND -682384106, 1883129985 = 1343356928 OK :: STABLE 9
698 OR 1488835741, -1181453654 = -104991041 OK :: STABLE 5
699 OR 441231442, -477932056 = -70255110 OK :: STABLE 15
700 SUB 686216209, 898767479 = -212551270 OK :: STABLE 15
701 ADD 329818123, -902602221 = -572784098 OK :: STABLE 20
702 OR -2122046209, -1127873135 = -1111087617 OK :: STABLE 8
703 ADD -456126734, -176323966 = -632450700 OK :: STABLE 17
704 OR -2017764802, -2101691018 = -2017722498 OK :: STABLE 8
705 AND 995975505, -1554454615 = 592994561 OK :: STABLE 10
706 OR 1214004920, -738732919 = -603980103 OK :: STABLE 6
707 SLT 1715734366, 1444195805 = 0 OK :: STABLE 21
708 AND -1212514700, 2046515223 = 834295828 OK :: STABLE 10
709 SUB 131630078, 1697440259 = -1565810181 OK :: STABLE 19
710 OR -984630701, 1811343651 = -268436621 OK :: STABLE 10
711 ADD -159673250, -1797962857 = -1957636107 OK :: STABLE 14
712 SLT -1733486389, -1395552815 = 1 OK :: STABLE 21
713 SLT -57986584, 1804911017 = 1 OK :: STABLE 16
714 SUB 1056412667, 1697939075 = -641526408 OK :: STABLE 16
715 SLT 1317659510, -630357290 = 0 OK :: STABLE 15
716 ADD -489225746, 941021445 = 451795699 OK :: STABLE 17
717 AND 1563356130, -27162505 = 1545635938 OK :: STABLE 8
718 OR -1345278485, -1451323042 = -1342259713 OK :: STABLE 5
719 SLT 1435841338, -1103086735 = 0 OK :: STABLE 15
720 SLT 1544184354, -45221092 = 0 OK :: STABLE 7
721 SUB 1869192507, 738033004 = 1131159503 OK :: STABLE 26
722 SLT 486573848, 1752182583 = 1 OK :: STABLE 18
723 SUB 880782062, 1657717598 = -776935536 OK :: STABLE 19
724 SLT -1691118953, 732705249 = 1 OK :: STABLE 14
725 AND -1104537996, -1151248721 = -1172302300 OK :: STABLE 10
726 OR -1677200867, 1584488666 = -562564385 OK :: STABLE 10
727 AND -1836621983, 1292415068 = 4160 OK :: STABLE 10
728 ADD 97320175, -1034473951 = -937153776 OK :: STABLE 21
729 OR 456411968, -2134178333 = -1677766685 OK :: STABLE 8
730 SUB 1110956134, -984101863 = 2095057997 OK :: STABLE 30
731 SUB 1677328652, -1626725918 = -990912726 OK :: STABLE 24
732 SUB -11623155, -390068351 = 378445196 OK :: STABLE 17
733 AND -1938427966, 1800966829 = 139494016 OK :: STABLE 12
734 SUB 708728225, 1739483335 = -1030755110 OK :: STABLE 26
735 OR -1372590234, -1103648953 = -1103106201 OK :: STABLE 8
736 SUB 1646086432, 911124896 = 734961536 OK :: STABLE 23
737 ADD -31895294, 1608363906 = 1576468612 OK :: STABLE 27
738 AND -904874142, 1268507890 = 1242604642 OK :: STABLE 8
739 SUB 1718988170, -1019670989 = -1556308137 OK :: STABLE 18
740 AND -1845935120, -1325894035 = -1862778272 OK :: STABLE 8
741 OR 589661361, -783616842 = -210766665 OK :: STABLE 11
742 SUB 303115542, -1483959195 = 1787074737 OK :: STABLE 16
743 OR 1838806029, 2018682181 = 2111567181 OK :: STABLE 8
744 SLT 1001758055, -1876944438 = 0 OK :: STABLE 16
745 ADD 739265567, 1460268483 = -2095433246 OK :: STABLE 15
746 ADD 500511786, 1282279261 = 1782791047 OK :: STABLE 17
747 ADD 750902297, -1001996538 = -251094241 OK :: STABLE 20
748 SLT 55833955, -813970845 = 0 OK :: STABLE 15
749 OR 137840249, -938908458 = -935368961 OK :: STABLE 8
750 SLT -1952183172, 2125440138 = 1 OK :: STABLE 17
751 SUB -1960058930, -1652588274 = -307470656 OK :: STABLE 17
752 SUB -2101201733, -1308986424 = -792215309 OK :: STABLE 19
753 OR -2080158137, -1944479584 = -1944330521 OK :: STABLE 8
754 SUB 300073218, -878910902 = 1178984120 OK :: STABLE 18
755 SUB -1662145574, 2130922357 = 501899365 OK :: STABLE 17
756 ADD -2036125552, 1475839442 = -560286110 OK :: STABLE 14
757 OR 1556225573, 2129152091 = 2129288831 OK :: STABLE 8
758 SLT 1701679289, -750585055 = 0 OK :: STABLE 16
759 AND 1236794967, -1629207427 = 144983125 OK :: STABLE 10
760 ADD 235121622, 331375924 = 566497546 OK :: STABLE 18
761 ADD 206018754, 1856553499 = 2062572253 OK :: STABLE 15
762 ADD -1986739247, 724384124 = -1262355123 OK :: STABLE 15
763 SUB 1032261350, 683005054 = 349256296 OK :: STABLE 15
764 SUB 1138844450, -994199200 = 2133043650 OK :: STABLE 19
765 AND -1402384362, -1501798568 = -1536667632 OK :: STABLE 8
766 AND -833275625, 1930966695 = 1108357127 OK :: STABLE 7
767 AND 891108361, -1638326766 = 337189888 OK :: STABLE 7
768 AND 809111222, 29234077 = 3801748 OK :: STABLE 5
769 SLT -1801181208, 809769912 = 1 OK :: STABLE 16
770 ADD -72140893, -712136435 = -784277328 OK :: STABLE 18
771 SLT 1517877701, 1784921729 = 1 OK :: STABLE 21
772 AND -533428534, -2027508890 = -2145091006 OK :: STABLE 11
773 SLT -973787264, 1424241185 = 1 OK :: STABLE 17
774 AND -434614078, 2053610927 = 1644171394 OK :: STABLE 10
775 AND 459685240, 432169583 = 423764072 OK :: STABLE 5
776 OR 337540637, 997338118 = 1065254431 OK :: STABLE 5
777 SLT -2124149080, 326036479 = 1 OK :: STABLE 16
778 SUB 662396454, -1010616089 = 1673012543 OK :: STABLE 21
779 SLT 454484728, -1572668732 = 0 OK :: STABLE 10
780 AND 1554859709, 748998513 = 212092465 OK :: STABLE 10
781 ADD -2010209815, -1318842669 = 965914812 OK :: STABLE 15
782 SLT 1210837069, 2117098077 = 1 OK :: STABLE 19
783 OR -2137733394, 1638440412 = -507715586 OK :: STABLE 8
784 OR -512674541, 1769488997 = -377915529 OK :: STABLE 7
785 ADD 540189188, 1987482621 = -1767295487 OK :: STABLE 19
786 OR -661094097, -835927990 = -558055057 OK :: STABLE 8
787 AND -1809608078, -116563727 = -1878982544 OK :: STABLE 10
788 AND -1493846733, 1111035330 = 36766978 OK :: STABLE 12
789 ADD -2024050001, 391812811 = -1632237190 OK :: STABLE 13
790 SLT -7217364, -2039052819 = 0 OK :: STABLE 19
791 ADD -24677401, -85674555 = -110351956 OK :: STABLE 16
792 SLT 367171170, -991788762 = 0 OK :: STABLE 16
793 ADD -1665174382, 725198018 = -939976364 OK :: STABLE 18
794 SUB -1096629195, 2142968139 = 1055369962 OK :: STABLE 23
795 ADD -337559272, 1126897812 = 789338540 OK :: STABLE 17
796 ADD 735416551, -1623893299 = -888476748 OK :: STABLE 18
797 ADD 553219713, 1490279468 = 2043499181 OK :: STABLE 18
798 OR -1537802951, 1776092203 = -304087749 OK :: STABLE 11
799 SLT 698859155, 1098259001 = 1 OK :: STABLE 18
800 SUB 1021061655, -1517246297 = -1756659344 OK :: STABLE 15
801 SLT -1738006021, 826836195 = 1 OK :: STABLE 15
802 OR 452593106, -1531173807 = -1090640429 OK :: STABLE 8
803 OR 695797830, 132780703 = 804985567 OK :: STABLE 5
804 SLT -2018370917, 930848443 = 1 OK :: STABLE 16
805 SLT -57245982, 423694172 = 1 OK :: STABLE 4
806 SUB -844096463, -648466694 = -195629769 OK :: STABLE 14
807 OR -1303488679, 1893271403 = -220244101 OK :: STABLE 9
808 AND 1232118533, -2142085444 = 5243396 OK :: STABLE 10
809 OR -1922700675, 1141220855 = -848957441 OK :: STABLE 6
810 AND 1578291527, 127310744 = 101880064 OK :: STABLE 10
811 OR 1145545036, -2093444376 = -947932180 OK :: STABLE 5
812 AND 359627412, 78048490 = 69625984 OK :: STABLE 10
813 AND 434314668, -518341499 = 16915588 OK :: STABLE 16
814 SUB -2048106186, 1610502607 = 636358503 OK :: STABLE 20
815 SUB -1844720559, -1670195405 = -174525154 OK :: STABLE 14
816 ADD 1173898307, 685952555 = 1859850862 OK :: STABLE 15
817 SLT -2093146518, -492090853 = 1 OK :: STABLE 17
818 ADD -1148493833, -1089161552 = 2057311911 OK :: STABLE 28
819 OR 2061333739, 144230824 = 2061368811 OK :: STABLE 8
820 ADD -1738951144, -53671063 = -1792622207 OK :: STABLE 19
821 AND 1700673673, -1955358441 = 22157313 OK :: STABLE 13
822 SUB 129140301, -937495243 = 1066635544 OK :: STABLE 18
823 AND 591626439, 552231564 = 541196420 OK :: STABLE 8
824 ADD -719331669, -284453330 = -1003784999 OK :: STABLE 15
825 SLT 795629993, -2074289808 = 0 OK :: STABLE 16
826 SLT 1117694697, 454794749 = 0 OK :: STABLE 16
827 ADD -457180453, -666665732 = -1123846185 OK :: STABLE 27
828 OR -1845807883, 1824934527 = -33587457 OK :: STABLE 13
829 ADD 1580690553, 113369410 = 1694059963 OK :: STABLE 18
830 AND -1103154209, -1136526775 = -1140772279 OK :: STABLE 8
831 AND 147256509, -1383959786 = 142766100 OK :: STABLE 5
832 OR 544235099, 1769802230 = 1769824255 OK :: STABLE 6
833 SLT 1788448562, -1901475942 = 0 OK :: STABLE 16
834 OR 650873929, -1645367753 = -1074811265 OK :: STABLE 8
835 AND -1791334074, 967819878 = 287981638 OK :: STABLE 10
836 SLT 17225467, 1663675427 = 1 OK :: STABLE 18
837 AND -1589231279, 308626814 = 4473168 OK :: STABLE 10
838 SUB 1285188154, 396985918 = 888202236 OK :: STABLE 26
839 AND -899720089, 852247699 = 38552579 OK :: STABLE 16
840 SUB 1217718326, 1948893220 = -731174894 OK :: STABLE 24
841 OR -407182188, 1630013761 = -407179819 OK :: STABLE 10
842 SLT -1698303770, -1990882326 = 0 OK :: STABLE 23
843 SLT -2134133684, -1997158326 = 1 OK :: STABLE 23
844 AND 1253808511, 678124419 = 137042179 OK :: STABLE 10
845 SUB 775171384, -1431345147 = -2088450765 OK :: STABLE 20
846 SUB 1106901775, 795459032 = 311442743 OK :: STABLE 19
847 OR 41125807, -901245333 = -897869841 OK :: STABLE 8
848 ADD 1004898146, 322138704 = 1327036850 OK :: STABLE 16
849 SLT 1475960177, 1561074065 = 1 OK :: STABLE 24
850 ADD -301459021, 1482163956 = 1180704935 OK :: STABLE 21
851 AND -1442849409, -691884173 = -2134733453 OK :: STABLE 23
852 SUB -328741672, 130774144 = -459515816 OK :: STABLE 15
853 AND -180918230, 896854614 = 892626946 OK :: STABLE 8
854 OR 466031348, 1783451890 = 2077184758 OK :: STABLE 11
855 ADD -398976591, 147442986 = -251533605 OK :: STABLE 15
856 AND -234806, -1900598139 = -1900795776 OK :: STABLE 10
857 SUB -1689561346, 1004834748 = 1600571202 OK :: STABLE 24
858 SLT -2087064249, 122342924 = 1 OK :: STABLE 5
859 ADD -440233114, -992775026 = -1433008140 OK :: STABLE 23
860 AND 1190255075, -335340754 = 1140922658 OK :: STABLE 8
861 SLT -1392734345, 963447474 = 1 OK :: STABLE 15
862 AND 1207751393, -1023027717 = 1124389089 OK :: STABLE 10
863 AND -384298946, 599237631 = 554696766 OK :: STABLE 12
864 ADD -77876581, 923192513 = 845315932 OK :: STABLE 24
865 SLT 1258607494, 1289700469 = 1 OK :: STABLE 28
866 SLT -1226548897, 1299051063 = 1 OK :: STABLE 14
867 OR -898031364, 1798105516 = -344069636 OK :: STABLE 8
868 ADD 1653380993, -1981947050 = -328566057 OK :: STABLE 14
869 OR 429726019, 2061881760 = 2080233955 OK :: STABLE 10
870 OR 81131957, 1298527602 = 1307966967 OK :: STABLE 7
871 ADD -482108581, -545722818 = -1027831399 OK :: STABLE 17
872 AND -1536569911, -736243081 = -2079735743 OK :: STABLE 12
873 SLT -790915610, 1279133557 = 1 OK :: STABLE 15
874 ADD -643382183, -463062445 = -1106444628 OK :: STABLE 19
875 SLT 410103088, 1283899331 = 1 OK :: STABLE 14
876 ADD -318951402, 36538358 = -282413044 OK :: STABLE 23
877 ADD -826238970, -1064120469 = -1890359439 OK :: STABLE 16
878 AND 1023385008, -1935448720 = 212010288 OK :: STABLE 8
879 OR 1788036289, 1672145117 = 1807477981 OK :: STABLE 5
880 SUB 726296457, -832602610 = 1558899067 OK :: STABLE 17
881 AND 1511853329, 2095113464 = 1476396048 OK :: STABLE 8
882 SLT 610569913, -1422506354 = 0 OK :: STABLE 16
883 SUB 494258789, -1298161621 = 1792420410 OK :: STABLE 12
884 SUB -250046709, 197522109 = -447568818 OK :: STABLE 13
885 ADD 273075723, 1132226976 = 1405302699 OK :: STABLE 16
886 OR -641272327, 1440658716 = -572590595 OK :: STABLE 8
887 SUB 1345152860, -806249480 = -2143564956 OK :: STABLE 17
888 OR 1012524247, -1578352543 = -1107434249 OK :: STABLE 8
889 ADD 1276383115, 2014051135 = -1004533046 OK :: STABLE 30
890 SUB -1193237338, -611023890 = -582213448 OK :: STABLE 17
891 OR 1083069937, 896554531 = 1979602931 OK :: STABLE 8
892 AND -631337398, -714108014 = -800161278 OK :: STABLE 10
893 SUB -971468557, -447367021 = -524101536 OK :: STABLE 19
894 SUB 1995977751, 527362103 = 1468615648 OK :: STABLE 18
895 AND 1822160590, -1032139698 = 1075496014 OK :: STABLE 8
896 OR -648973841, 689732160 = -111313937 OK :: STABLE 17
897 SLT 1809606383, -875634675 = 0 OK :: STABLE 16
898 OR -1266868372, -1447301175 = -1107296275 OK :: STABLE 8
899 SLT 105293728, -1301018549 = 0 OK :: STABLE 15
900 SUB 1138244550, -419559411 = 1557803961 OK :: STABLE 14
901 ADD -2130870991, -1195445031 = 968651274 OK :: STABLE 21
902 SLT -295408262, -89202032 = 1 OK :: STABLE 23
903 SUB 1799395052, -276235069 = 2075630121 OK :: STABLE 19
904 SUB 2136580054, -1108440084 = -1049947158 OK :: STABLE 23
905 SUB -1323160725, -55339476 = -1267821249 OK :: STABLE 17
906 ADD -963315975, -2146063540 = 1185587781 OK :: STABLE 17
907 ADD 2029850928, -1820622295 = 209228633 OK :: STABLE 17
908 AND -710914317, 1475941114 = 1436549874 OK :: STABLE 8
909 ADD 1335130509, 792360142 = 2127490651 OK :: STABLE 13
910 SLT -750480143, 189440910 = 1 OK :: STABLE 16
911 SLT 223675198, 1872527327 = 1 OK :: STABLE 18
912 OR 1620152784, 494285980 = 2113385948 OK :: STABLE 8
913 AND -1198854335, -744811801 = -1870003647 OK :: STABLE 10
914 SUB -853163166, -1722196234 = 869033068 OK :: STABLE 15
915 AND -200364587, -155087449 = -201290363 OK :: STABLE 8
916 SUB 280671816, -1182407717 = 1463079533 OK :: STABLE 15
917 ADD -1681061212, 1624914446 = -56146766 OK :: STABLE 13
918 SLT -1343257548, 474632619 = 1 OK :: STABLE 16
919 SUB 166053505, -2012178100 = -2116735691 OK :: STABLE 19
920 ADD 1607514857, 1536901628 = -1150550811 OK :: STABLE 27
921 ADD -3753402, 216880016 = 213126614 OK :: STABLE 23
922 OR -1604350370, 84045340 = -1520439714 OK :: STABLE 8
923 AND -605257291, 339106961 = 270794897 OK :: STABLE 10
924 AND 1562502338, 276737636 = 270574656 OK :: STABLE 5
925 OR 2055173732, 1508642558 = 2080341758 OK :: STABLE 6
926 AND -1432808102, -128379403 = -1474751152 OK :: STABLE 10
927 ADD 1467302438, 1749200730 = -1078464128 OK :: STABLE 23
928 SLT -1112986769, 280334251 = 1 OK :: STABLE 12
929 AND -2105092763, -2105343238 = -2105409440 OK :: STABLE 10
930 AND 1945154760, 590871140 = 590393408 OK :: STABLE 9
931 OR -798496406, 506987033 = -562041989 OK :: STABLE 10
932 OR -97540254, 870748670 = -68175874 OK :: STABLE 10
933 ADD -1073629293, 724186178 = -349443115 OK :: STABLE 20
934 ADD 537939041, 1745209230 = -2011819025 OK :: STABLE 16
935 SLT 1261766098, -1550218116 = 0 OK :: STABLE 16
936 AND -34574733, 1037326011 = 1037059635 OK :: STABLE 10
937 SUB -187144677, -974213379 = 787068702 OK :: STABLE 18
938 ADD 186898463, 1585821516 = 1772719979 OK :: STABLE 16
939 AND 1640257925, -701629355 = 1074026501 OK :: STABLE 8
940 AND -1782084949, -752365241 = -1861779453 OK :: STABLE 5
941 SLT -841531065, -1590256058 = 0 OK :: STABLE 20
942 OR -978153301, 771450667 = -302254165 OK :: STABLE 13
943 ADD -1862043938, 386052298 = -1475991640 OK :: STABLE 16
944 SLT 2102720334, 801033523 = 0 OK :: STABLE 18
945 ADD -1264526854, -720663049 = -1985189903 OK :: STABLE 16
946 AND 1797644295, 1526959523 = 1258389507 OK :: STABLE 8
947 SLT 1146908167, 532532670 = 0 OK :: STABLE 15
948 AND 1256771623, 1321884047 = 1254641671 OK :: STABLE 10
949 ADD 1725534829, 140952248 = 1866487077 OK :: STABLE 20
950 ADD -32901507, 107965079 = 75063572 OK :: STABLE 22
951 ADD -1902393385, 1723577215 = -178816170 OK :: STABLE 16
952 SUB 1992695577, -335800946 = -1966470773 OK :: STABLE 16
953 SUB -1590025688, 519558216 = -2109583904 OK :: STABLE 17
954 AND -1123415097, -70643955 = -1190524155 OK :: STABLE 9
955 ADD 1776830953, 126789297 = 1903620250 OK :: STABLE 20
956 SLT -1668418590, 1838193243 = 1 OK :: STABLE 16
957 AND -394815164, 975566346 = 673550336 OK :: STABLE 10
958 ADD 1036818560, -1807493073 = -770674513 OK :: STABLE 15
959 SUB 1269186557, 1467855995 = -198669438 OK :: STABLE 23
960 SUB -659246543, 1852866107 = 1782854646 OK :: STABLE 23
961 OR 1433190112, 1944099283 = 2012004339 OK :: STABLE 8
962 SLT -1352526901, -2133739134 = 0 OK :: STABLE 19
963 AND 1253262995, -187556112 = 1083311760 OK :: STABLE 10
964 SLT -1375747604, -819417884 = 1 OK :: STABLE 17
965 OR 283764449, 1635014899 = 1912471283 OK :: STABLE 10
966 ADD -1456275134, 1134244453 = -322030681 OK :: STABLE 14
967 OR 2006373062, -194978368 = -134815802 OK :: STABLE 8
968 OR 1114770875, 828248348 = 1937644991 OK :: STABLE 9
969 SUB -985294099, -1236971646 = 251677547 OK :: STABLE 29
970 AND -578790623, -1734669619 = -1736439295 OK :: STABLE 8
971 SUB 72282982, 386400032 = -314117050 OK :: STABLE 20
972 OR 2114059225, -857748586 = -18875425 OK :: STABLE 8
973 AND -75910486, 1816679916 = 1749553320 OK :: STABLE 10
974 OR 1943774388, 2128360255 = 2145367999 OK :: STABLE 5
975 SUB -1652029606, -1190267658 = -461761948 OK :: STABLE 17
976 SUB -768357092, 618033930 = -1386391022 OK :: STABLE 17
977 ADD -24791244, 949535936 = 924744692 OK :: STABLE 24
978 SLT -1866845954, -1841470449 = 1 OK :: STABLE 24
979 SUB -963549900, -1816978870 = 853428970 OK :: STABLE 13
980 SUB 1182764610, 1074141587 = 108623023 OK :: STABLE 17
981 ADD 892906973, -2576715 = 890330258 OK :: STABLE 15
982 SLT 129067436, 543381463 = 1 OK :: STABLE 20
983 AND 92286998, -703333142 = 67121154 OK :: STABLE 10
984 AND 344065918, 1575752525 = 343933772 OK :: STABLE 5
985 AND -1079400919, -1637499650 = -1641962456 OK :: STABLE 6
986 SUB -1774181831, -440746693 = -1333435138 OK :: STABLE 21
987 AND 1391252933, -2114635940 = 14947652 OK :: STABLE 8
988 SLT 1453086275, 1693497903 = 1 OK :: STABLE 19
989 OR -1110989047, -32171568 = -2637863 OK :: STABLE 8
990 OR -1987361950, -798999589 = -638878725 OK :: STABLE 7
991 AND 701428235, 460842761 = 155640329 OK :: STABLE 10
992 ADD 1712725328, 1630579495 = -951662473 OK :: STABLE 16
993 ADD -960047273, -597879503 = -1557926776 OK :: STABLE 20
994 AND -496870707, 162932889 = 2230409 OK :: STABLE 14
995 SUB 359568210, 1682442919 = -1322874709 OK :: STABLE 16
996 SUB -917342468, -926402444 = 9059976 OK :: STABLE 20
997 ADD 1896480146, 986935299 = -1411551851 OK :: STABLE 18
998 ADD -59057419, -73612019 = -132669438 OK :: STABLE 35
999 ADD 108076158, 601117927 = 709194085 OK :: STABLE 12
Average time to stabilize: 14
Maximum time to stabilize: 35
Minimum time to stabilize: 4
Raw input data

As noted in the output, the program found a mean delay of 14, as well as a maximum delay of 35, and a minimum delay of 4. Given the large number of inputs, it is reasonable to assume that 14 is very close to the actual mean delay. However, it should be considered that this can and most likely will vary greatly when using real world (i.e. non-random) inputs.

Temporal Dependency

The previous set of inputs to the ALU can have an effect on the time required for the next set of inputs to stabilize. This is due to the delay as one or more inputs pass through the logic gates required to compose the output. This can vary, as it will often occur that the output of a certain logical structure is unchanged, resulting in that structure's output stabilizing immediately. The phenomenon of outputs changing temporarily to incorrect values before stabilizing is known as "glitching."

In the ALU, the glitching phenomenon is most pronounced in the addition and subtraction operations, due to their dependence on a ripple-carry adder design. This design has an extremely long critical path, passing through all individual ALU units.

Approximately 500 simulations were run to find instances of temporal dependency in the ALU. These simulations were parsed using the included program. From these test cases, a group of more demonstrative test cases were developed. Those test cases are included below.

1 AND 0, 0 = 0 OK :: STABLE 10
2 AND 1073741823, 1073741823 = 1073741823 OK :: STABLE 10
3 AND 0, -1 = 0 OK :: STABLE 66
4 AND 1073741823, 1073741823 = 1073741823 OK :: STABLE 10
5 AND -1431655766, 1431655765 = 0 OK :: STABLE 82
6 AND 1073741823, 1073741823 = 1073741823 OK :: STABLE 10
Raw input data

This set of inputs demonstrates that the stabilization time of the AND operation is not dependent on the state of the input operands A and B. Lines 1, 3 and 5 perform radically different AND operations, while lines 2, 4, and 6 perform the same operation. Despite this, lines 2, 4 and 6 all stabilize in the same period.

1 OR 0, 0 = 0 OK :: STABLE 10
2 OR 1073741823, 1073741823 = 1073741823 OK :: STABLE 10
3 OR 0, -1 = -1 OK :: STABLE 66
4 OR 1073741823, 1073741823 = 1073741823 OK :: STABLE 5
5 OR -1431655766, 1431655765 = -1 OK :: STABLE 82
6 OR 1073741823, 1073741823 = 1073741823 OK :: STABLE 5
Raw input data

This set of inputs demonstrates the temporal dependence of the OR operation. The operation on line 2 takes much longer to stabilize than the others. This is because there is a delay while the zero flag goes low. This also applies to the AND operation, which has a similar "straight-through" critical path in the individual ALU slice. However, since the related AND operations cause a greater delay via ripple carries, this is not noticeable in the first example. As with the previous tests, different operations are on lines 1, 3, and 5 are alternated with one operation on lines 2, 4, and 6. Note that the stabilization time of operation 2 is different than operations 4 and 6.

1 ADD 0, 0 = 0 OK :: STABLE 14
2 ADD 1073741823, 1073741823 = 2147483646 OK :: STABLE 15
3 ADD 0, -1 = -1 OK :: STABLE 68
4 ADD 1073741823, 1073741823 = 2147483646 OK :: STABLE 8
5 ADD -1431655766, 1431655765 = -1 OK :: STABLE 83
6 ADD 1073741823, 1073741823 = 2147483646 OK :: STABLE 10
Raw input data

As with previous operations, different ADD operations are alternated with identical ones. It is clear to see that lines 2, 4 and 6 have very different stabilization times. This is not suprising, given the nature of the ripple-carry adder.

1 SUB 0, 0 = 0 OK :: STABLE 75
2 SUB 1073741823, 1073741823 = 0 OK :: STABLE 14
3 SUB 0, -1 = 1 OK :: STABLE 11
4 SUB 1073741823, 1073741823 = 0 OK :: STABLE 102
5 SUB -1431655766, 1431655765 = 1431655765 OK :: STABLE 11
6 SUB 1073741823, 1073741823 = 0 OK :: STABLE 15
Raw input data

Being composed mostly of the ADD operation with modified inputs, it is unsurprising that the SUB operation shares its temporal dependence. This is clear to see on lines 2, 4, and 6.

1 SLT 0, 0 = 0 OK :: STABLE 78
2 SLT 1073741823, 1073741823 = 0 OK :: STABLE 78
3 SLT 0, -1 = 0 OK :: STABLE 16
4 SLT 1073741823, 1073741823 = 0 OK :: STABLE 105
5 SLT -1431655766, 1431655765 = 1 OK :: STABLE 12
6 SLT 1073741823, 1073741823 = 0 OK :: STABLE 18
Raw input data

As with the above SUB operations, it is clear to see that SLT is dependent on previous inputs. It is worth noting that the identical SLT operations on lines 2, 4, and 6 each have a period that is 3 longer than their counterparts in the above SUB operations. This is due to the fact that SLT is not so much a discrete operation as a "wrapper" for SUB.