1# Copyright 2013 the V8 project authors. All rights reserved.
2# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions
6# are met:
7# 1.  Redistributions of source code must retain the above copyright
8#     notice, this list of conditions and the following disclaimer.
9# 2.  Redistributions in binary form must reproduce the above copyright
10#     notice, this list of conditions and the following disclaimer in the
11#     documentation and/or other materials provided with the distribution.
12#
13# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
14# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
17# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24Check that short-circuiting Branch(LogicalNot(@a)) and then failing speculation does not result in the branch being taken the wrong way.
25
26On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
27
28
29PASS foo({f:True}) is 1
30PASS foo({f:False}) is 0
31PASS bar({f:True}) is 0
32PASS bar({f:False}) is 1
33PASS foo({f:True}) is 1
34PASS foo({f:False}) is 0
35PASS bar({f:True}) is 0
36PASS bar({f:False}) is 1
37PASS foo({f:True}) is 1
38PASS foo({f:False}) is 0
39PASS bar({f:True}) is 0
40PASS bar({f:False}) is 1
41PASS foo({f:True}) is 1
42PASS foo({f:False}) is 0
43PASS bar({f:True}) is 0
44PASS bar({f:False}) is 1
45PASS foo({f:True}) is 1
46PASS foo({f:False}) is 0
47PASS bar({f:True}) is 0
48PASS bar({f:False}) is 1
49PASS foo({f:True}) is 1
50PASS foo({f:False}) is 0
51PASS bar({f:True}) is 0
52PASS bar({f:False}) is 1
53PASS foo({f:True}) is 1
54PASS foo({f:False}) is 0
55PASS bar({f:True}) is 0
56PASS bar({f:False}) is 1
57PASS foo({f:True}) is 1
58PASS foo({f:False}) is 0
59PASS bar({f:True}) is 0
60PASS bar({f:False}) is 1
61PASS foo({f:True}) is 1
62PASS foo({f:False}) is 0
63PASS bar({f:True}) is 0
64PASS bar({f:False}) is 1
65PASS foo({f:True}) is 1
66PASS foo({f:False}) is 0
67PASS bar({f:True}) is 0
68PASS bar({f:False}) is 1
69PASS foo({f:True}) is 1
70PASS foo({f:False}) is 0
71PASS bar({f:True}) is 0
72PASS bar({f:False}) is 1
73PASS foo({f:True}) is 1
74PASS foo({f:False}) is 0
75PASS bar({f:True}) is 0
76PASS bar({f:False}) is 1
77PASS foo({f:True}) is 1
78PASS foo({f:False}) is 0
79PASS bar({f:True}) is 0
80PASS bar({f:False}) is 1
81PASS foo({f:True}) is 1
82PASS foo({f:False}) is 0
83PASS bar({f:True}) is 0
84PASS bar({f:False}) is 1
85PASS foo({f:True}) is 1
86PASS foo({f:False}) is 0
87PASS bar({f:True}) is 0
88PASS bar({f:False}) is 1
89PASS foo({f:True}) is 1
90PASS foo({f:False}) is 0
91PASS bar({f:True}) is 0
92PASS bar({f:False}) is 1
93PASS foo({f:True}) is 1
94PASS foo({f:False}) is 0
95PASS bar({f:True}) is 0
96PASS bar({f:False}) is 1
97PASS foo({f:True}) is 1
98PASS foo({f:False}) is 0
99PASS bar({f:True}) is 0
100PASS bar({f:False}) is 1
101PASS foo({f:True}) is 1
102PASS foo({f:False}) is 0
103PASS bar({f:True}) is 0
104PASS bar({f:False}) is 1
105PASS foo({f:True}) is 1
106PASS foo({f:False}) is 0
107PASS bar({f:True}) is 0
108PASS bar({f:False}) is 1
109PASS foo({f:True}) is 1
110PASS foo({f:False}) is 0
111PASS bar({f:True}) is 0
112PASS bar({f:False}) is 1
113PASS foo({f:True}) is 1
114PASS foo({f:False}) is 0
115PASS bar({f:True}) is 0
116PASS bar({f:False}) is 1
117PASS foo({f:True}) is 1
118PASS foo({f:False}) is 0
119PASS bar({f:True}) is 0
120PASS bar({f:False}) is 1
121PASS foo({f:True}) is 1
122PASS foo({f:False}) is 0
123PASS bar({f:True}) is 0
124PASS bar({f:False}) is 1
125PASS foo({f:True}) is 1
126PASS foo({f:False}) is 0
127PASS bar({f:True}) is 0
128PASS bar({f:False}) is 1
129PASS foo({f:True}) is 1
130PASS foo({f:False}) is 0
131PASS bar({f:True}) is 0
132PASS bar({f:False}) is 1
133PASS foo({f:True}) is 1
134PASS foo({f:False}) is 0
135PASS bar({f:True}) is 0
136PASS bar({f:False}) is 1
137PASS foo({f:True}) is 1
138PASS foo({f:False}) is 0
139PASS bar({f:True}) is 0
140PASS bar({f:False}) is 1
141PASS foo({f:True}) is 1
142PASS foo({f:False}) is 0
143PASS bar({f:True}) is 0
144PASS bar({f:False}) is 1
145PASS foo({f:True}) is 1
146PASS foo({f:False}) is 0
147PASS bar({f:True}) is 0
148PASS bar({f:False}) is 1
149PASS foo({f:True}) is 1
150PASS foo({f:False}) is 0
151PASS bar({f:True}) is 0
152PASS bar({f:False}) is 1
153PASS foo({f:True}) is 1
154PASS foo({f:False}) is 0
155PASS bar({f:True}) is 0
156PASS bar({f:False}) is 1
157PASS foo({f:True}) is 1
158PASS foo({f:False}) is 0
159PASS bar({f:True}) is 0
160PASS bar({f:False}) is 1
161PASS foo({f:True}) is 1
162PASS foo({f:False}) is 0
163PASS bar({f:True}) is 0
164PASS bar({f:False}) is 1
165PASS foo({f:True}) is 1
166PASS foo({f:False}) is 0
167PASS bar({f:True}) is 0
168PASS bar({f:False}) is 1
169PASS foo({f:True}) is 1
170PASS foo({f:False}) is 0
171PASS bar({f:True}) is 0
172PASS bar({f:False}) is 1
173PASS foo({f:True}) is 1
174PASS foo({f:False}) is 0
175PASS bar({f:True}) is 0
176PASS bar({f:False}) is 1
177PASS foo({f:True}) is 1
178PASS foo({f:False}) is 0
179PASS bar({f:True}) is 0
180PASS bar({f:False}) is 1
181PASS foo({f:True}) is 1
182PASS foo({f:False}) is 0
183PASS bar({f:True}) is 0
184PASS bar({f:False}) is 1
185PASS foo({f:True}) is 1
186PASS foo({f:False}) is 0
187PASS bar({f:True}) is 0
188PASS bar({f:False}) is 1
189PASS foo({f:True}) is 1
190PASS foo({f:False}) is 0
191PASS bar({f:True}) is 0
192PASS bar({f:False}) is 1
193PASS foo({f:True}) is 1
194PASS foo({f:False}) is 0
195PASS bar({f:True}) is 0
196PASS bar({f:False}) is 1
197PASS foo({f:True}) is 1
198PASS foo({f:False}) is 0
199PASS bar({f:True}) is 0
200PASS bar({f:False}) is 1
201PASS foo({f:True}) is 1
202PASS foo({f:False}) is 0
203PASS bar({f:True}) is 0
204PASS bar({f:False}) is 1
205PASS foo({f:True}) is 1
206PASS foo({f:False}) is 0
207PASS bar({f:True}) is 0
208PASS bar({f:False}) is 1
209PASS foo({f:True}) is 1
210PASS foo({f:False}) is 0
211PASS bar({f:True}) is 0
212PASS bar({f:False}) is 1
213PASS foo({f:True}) is 1
214PASS foo({f:False}) is 0
215PASS bar({f:True}) is 0
216PASS bar({f:False}) is 1
217PASS foo({f:True}) is 1
218PASS foo({f:False}) is 0
219PASS bar({f:True}) is 0
220PASS bar({f:False}) is 1
221PASS foo({f:True}) is 1
222PASS foo({f:False}) is 0
223PASS bar({f:True}) is 0
224PASS bar({f:False}) is 1
225PASS foo({f:True}) is 1
226PASS foo({f:False}) is 0
227PASS bar({f:True}) is 0
228PASS bar({f:False}) is 1
229PASS foo({f:True}) is 1
230PASS foo({f:False}) is 0
231PASS bar({f:True}) is 0
232PASS bar({f:False}) is 1
233PASS foo({f:True}) is 1
234PASS foo({f:False}) is 0
235PASS bar({f:True}) is 0
236PASS bar({f:False}) is 1
237PASS foo({f:True}) is 1
238PASS foo({f:False}) is 0
239PASS bar({f:True}) is 0
240PASS bar({f:False}) is 1
241PASS foo({f:True}) is 1
242PASS foo({f:False}) is 0
243PASS bar({f:True}) is 0
244PASS bar({f:False}) is 1
245PASS foo({f:True}) is 1
246PASS foo({f:False}) is 0
247PASS bar({f:True}) is 0
248PASS bar({f:False}) is 1
249PASS foo({f:True}) is 1
250PASS foo({f:False}) is 0
251PASS bar({f:True}) is 0
252PASS bar({f:False}) is 1
253PASS foo({f:True}) is 1
254PASS foo({f:False}) is 0
255PASS bar({f:True}) is 0
256PASS bar({f:False}) is 1
257PASS foo({f:True}) is 1
258PASS foo({f:False}) is 0
259PASS bar({f:True}) is 0
260PASS bar({f:False}) is 1
261PASS foo({f:True}) is 1
262PASS foo({f:False}) is 0
263PASS bar({f:True}) is 0
264PASS bar({f:False}) is 1
265PASS foo({f:True}) is 1
266PASS foo({f:False}) is 0
267PASS bar({f:True}) is 0
268PASS bar({f:False}) is 1
269PASS foo({f:True}) is 1
270PASS foo({f:False}) is 0
271PASS bar({f:True}) is 0
272PASS bar({f:False}) is 1
273PASS foo({f:True}) is 1
274PASS foo({f:False}) is 0
275PASS bar({f:True}) is 0
276PASS bar({f:False}) is 1
277PASS foo({f:True}) is 1
278PASS foo({f:False}) is 0
279PASS bar({f:True}) is 0
280PASS bar({f:False}) is 1
281PASS foo({f:True}) is 1
282PASS foo({f:False}) is 0
283PASS bar({f:True}) is 0
284PASS bar({f:False}) is 1
285PASS foo({f:True}) is 1
286PASS foo({f:False}) is 0
287PASS bar({f:True}) is 0
288PASS bar({f:False}) is 1
289PASS foo({f:True}) is 1
290PASS foo({f:False}) is 0
291PASS bar({f:True}) is 0
292PASS bar({f:False}) is 1
293PASS foo({f:True}) is 1
294PASS foo({f:False}) is 0
295PASS bar({f:True}) is 0
296PASS bar({f:False}) is 1
297PASS foo({f:True}) is 1
298PASS foo({f:False}) is 0
299PASS bar({f:True}) is 0
300PASS bar({f:False}) is 1
301PASS foo({f:True}) is 1
302PASS foo({f:False}) is 0
303PASS bar({f:True}) is 0
304PASS bar({f:False}) is 1
305PASS foo({f:True}) is 1
306PASS foo({f:False}) is 0
307PASS bar({f:True}) is 0
308PASS bar({f:False}) is 1
309PASS foo({f:True}) is 1
310PASS foo({f:False}) is 0
311PASS bar({f:True}) is 0
312PASS bar({f:False}) is 1
313PASS foo({f:True}) is 1
314PASS foo({f:False}) is 0
315PASS bar({f:True}) is 0
316PASS bar({f:False}) is 1
317PASS foo({f:True}) is 1
318PASS foo({f:False}) is 0
319PASS bar({f:True}) is 0
320PASS bar({f:False}) is 1
321PASS foo({f:True}) is 1
322PASS foo({f:False}) is 0
323PASS bar({f:True}) is 0
324PASS bar({f:False}) is 1
325PASS foo({f:True}) is 1
326PASS foo({f:False}) is 0
327PASS bar({f:True}) is 0
328PASS bar({f:False}) is 1
329PASS foo({f:True}) is 1
330PASS foo({f:False}) is 0
331PASS bar({f:True}) is 0
332PASS bar({f:False}) is 1
333PASS foo({f:True}) is 1
334PASS foo({f:False}) is 0
335PASS bar({f:True}) is 0
336PASS bar({f:False}) is 1
337PASS foo({f:True}) is 1
338PASS foo({f:False}) is 0
339PASS bar({f:True}) is 0
340PASS bar({f:False}) is 1
341PASS foo({f:True}) is 1
342PASS foo({f:False}) is 0
343PASS bar({f:True}) is 0
344PASS bar({f:False}) is 1
345PASS foo({f:True}) is 1
346PASS foo({f:False}) is 0
347PASS bar({f:True}) is 0
348PASS bar({f:False}) is 1
349PASS foo({f:True}) is 1
350PASS foo({f:False}) is 0
351PASS bar({f:True}) is 0
352PASS bar({f:False}) is 1
353PASS foo({f:True}) is 1
354PASS foo({f:False}) is 0
355PASS bar({f:True}) is 0
356PASS bar({f:False}) is 1
357PASS foo({f:True}) is 1
358PASS foo({f:False}) is 0
359PASS bar({f:True}) is 0
360PASS bar({f:False}) is 1
361PASS foo({f:True}) is 1
362PASS foo({f:False}) is 0
363PASS bar({f:True}) is 0
364PASS bar({f:False}) is 1
365PASS foo({f:True}) is 1
366PASS foo({f:False}) is 0
367PASS bar({f:True}) is 0
368PASS bar({f:False}) is 1
369PASS foo({f:True}) is 1
370PASS foo({f:False}) is 0
371PASS bar({f:True}) is 0
372PASS bar({f:False}) is 1
373PASS foo({f:True}) is 1
374PASS foo({f:False}) is 0
375PASS bar({f:True}) is 0
376PASS bar({f:False}) is 1
377PASS foo({f:True}) is 1
378PASS foo({f:False}) is 0
379PASS bar({f:True}) is 0
380PASS bar({f:False}) is 1
381PASS foo({f:True}) is 1
382PASS foo({f:False}) is 0
383PASS bar({f:True}) is 0
384PASS bar({f:False}) is 1
385PASS foo({f:True}) is 1
386PASS foo({f:False}) is 0
387PASS bar({f:True}) is 0
388PASS bar({f:False}) is 1
389PASS foo({f:True}) is 1
390PASS foo({f:False}) is 0
391PASS bar({f:True}) is 0
392PASS bar({f:False}) is 1
393PASS foo({f:True}) is 1
394PASS foo({f:False}) is 0
395PASS bar({f:True}) is 0
396PASS bar({f:False}) is 1
397PASS foo({f:True}) is 1
398PASS foo({f:False}) is 0
399PASS bar({f:True}) is 0
400PASS bar({f:False}) is 1
401PASS foo({f:True}) is 1
402PASS foo({f:False}) is 0
403PASS bar({f:True}) is 0
404PASS bar({f:False}) is 1
405PASS foo({f:True}) is 1
406PASS foo({f:False}) is 0
407PASS bar({f:True}) is 0
408PASS bar({f:False}) is 1
409PASS foo({f:True}) is 1
410PASS foo({f:False}) is 0
411PASS bar({f:True}) is 0
412PASS bar({f:False}) is 1
413PASS foo({f:True}) is 1
414PASS foo({f:False}) is 0
415PASS bar({f:True}) is 0
416PASS bar({f:False}) is 1
417PASS foo({f:True}) is 1
418PASS foo({f:False}) is 0
419PASS bar({f:True}) is 0
420PASS bar({f:False}) is 1
421PASS foo({f:True}) is 1
422PASS foo({f:False}) is 0
423PASS bar({f:True}) is 0
424PASS bar({f:False}) is 1
425PASS foo({f:True}) is 1
426PASS foo({f:False}) is 0
427PASS bar({f:True}) is 0
428PASS bar({f:False}) is 1
429PASS foo({f:True}) is 1
430PASS foo({f:False}) is 0
431PASS bar({f:True}) is 0
432PASS bar({f:False}) is 1
433PASS foo({f:True}) is 1
434PASS foo({f:False}) is 0
435PASS bar({f:True}) is 0
436PASS bar({f:False}) is 1
437PASS foo({f:True}) is 1
438PASS foo({f:False}) is 0
439PASS bar({f:True}) is 0
440PASS bar({f:False}) is 1
441PASS foo({f:True}) is 1
442PASS foo({f:False}) is 0
443PASS bar({f:True}) is 0
444PASS bar({f:False}) is 1
445PASS foo({f:True}) is 1
446PASS foo({f:False}) is 0
447PASS bar({f:True}) is 0
448PASS bar({f:False}) is 1
449PASS foo({f:True}) is 1
450PASS foo({f:False}) is 0
451PASS bar({f:True}) is 0
452PASS bar({f:False}) is 1
453PASS foo({f:True}) is 1
454PASS foo({f:False}) is 0
455PASS bar({f:True}) is 0
456PASS bar({f:False}) is 1
457PASS foo({f:True}) is 1
458PASS foo({f:False}) is 0
459PASS bar({f:True}) is 0
460PASS bar({f:False}) is 1
461PASS foo({f:True}) is 1
462PASS foo({f:False}) is 0
463PASS bar({f:True}) is 0
464PASS bar({f:False}) is 1
465PASS foo({f:True}) is 1
466PASS foo({f:False}) is 0
467PASS bar({f:True}) is 0
468PASS bar({f:False}) is 1
469PASS foo({f:True}) is 1
470PASS foo({f:False}) is 0
471PASS bar({f:True}) is 0
472PASS bar({f:False}) is 1
473PASS foo({f:True}) is 1
474PASS foo({f:False}) is 0
475PASS bar({f:True}) is 0
476PASS bar({f:False}) is 1
477PASS foo({f:True}) is 1
478PASS foo({f:False}) is 0
479PASS bar({f:True}) is 0
480PASS bar({f:False}) is 1
481PASS foo({f:True}) is 1
482PASS foo({f:False}) is 0
483PASS bar({f:True}) is 0
484PASS bar({f:False}) is 1
485PASS foo({f:True}) is 1
486PASS foo({f:False}) is 0
487PASS bar({f:True}) is 0
488PASS bar({f:False}) is 1
489PASS foo({f:True}) is 1
490PASS foo({f:False}) is 0
491PASS bar({f:True}) is 0
492PASS bar({f:False}) is 1
493PASS foo({f:True}) is 1
494PASS foo({f:False}) is 0
495PASS bar({f:True}) is 0
496PASS bar({f:False}) is 1
497PASS foo({f:True}) is 1
498PASS foo({f:False}) is 0
499PASS bar({f:True}) is 0
500PASS bar({f:False}) is 1
501PASS foo({f:True}) is 1
502PASS foo({f:False}) is 0
503PASS bar({f:True}) is 0
504PASS bar({f:False}) is 1
505PASS foo({f:True}) is 1
506PASS foo({f:False}) is 0
507PASS bar({f:True}) is 0
508PASS bar({f:False}) is 1
509PASS foo({f:True}) is 1
510PASS foo({f:False}) is 0
511PASS bar({f:True}) is 0
512PASS bar({f:False}) is 1
513PASS foo({f:True}) is 1
514PASS foo({f:False}) is 0
515PASS bar({f:True}) is 0
516PASS bar({f:False}) is 1
517PASS foo({f:True}) is 1
518PASS foo({f:False}) is 0
519PASS bar({f:True}) is 0
520PASS bar({f:False}) is 1
521PASS foo({f:True}) is 1
522PASS foo({f:False}) is 0
523PASS bar({f:True}) is 0
524PASS bar({f:False}) is 1
525PASS foo({f:True}) is 1
526PASS foo({f:False}) is 0
527PASS bar({f:True}) is 0
528PASS bar({f:False}) is 1
529PASS foo({f:True}) is 1
530PASS foo({f:False}) is 0
531PASS bar({f:True}) is 0
532PASS bar({f:False}) is 1
533PASS foo({f:True}) is 1
534PASS foo({f:False}) is 0
535PASS bar({f:True}) is 0
536PASS bar({f:False}) is 1
537PASS foo({f:True}) is 1
538PASS foo({f:False}) is 0
539PASS bar({f:True}) is 0
540PASS bar({f:False}) is 1
541PASS foo({f:True}) is 1
542PASS foo({f:False}) is 0
543PASS bar({f:True}) is 0
544PASS bar({f:False}) is 1
545PASS foo({f:True}) is 1
546PASS foo({f:False}) is 0
547PASS bar({f:True}) is 0
548PASS bar({f:False}) is 1
549PASS foo({f:True}) is 1
550PASS foo({f:False}) is 0
551PASS bar({f:True}) is 0
552PASS bar({f:False}) is 1
553PASS foo({f:True}) is 1
554PASS foo({f:False}) is 0
555PASS bar({f:True}) is 0
556PASS bar({f:False}) is 1
557PASS foo({f:True}) is 1
558PASS foo({f:False}) is 0
559PASS bar({f:True}) is 0
560PASS bar({f:False}) is 1
561PASS foo({f:True}) is 1
562PASS foo({f:False}) is 0
563PASS bar({f:True}) is 0
564PASS bar({f:False}) is 1
565PASS foo({f:True}) is 1
566PASS foo({f:False}) is 0
567PASS bar({f:True}) is 0
568PASS bar({f:False}) is 1
569PASS foo({f:True}) is 1
570PASS foo({f:False}) is 0
571PASS bar({f:True}) is 0
572PASS bar({f:False}) is 1
573PASS foo({f:True}) is 1
574PASS foo({f:False}) is 0
575PASS bar({f:True}) is 0
576PASS bar({f:False}) is 1
577PASS foo({f:True}) is 1
578PASS foo({f:False}) is 0
579PASS bar({f:True}) is 0
580PASS bar({f:False}) is 1
581PASS foo({f:True}) is 1
582PASS foo({f:False}) is 0
583PASS bar({f:True}) is 0
584PASS bar({f:False}) is 1
585PASS foo({f:True}) is 1
586PASS foo({f:False}) is 0
587PASS bar({f:True}) is 0
588PASS bar({f:False}) is 1
589PASS foo({f:True}) is 1
590PASS foo({f:False}) is 0
591PASS bar({f:True}) is 0
592PASS bar({f:False}) is 1
593PASS foo({f:True}) is 1
594PASS foo({f:False}) is 0
595PASS bar({f:True}) is 0
596PASS bar({f:False}) is 1
597PASS foo({f:True}) is 1
598PASS foo({f:False}) is 0
599PASS bar({f:True}) is 0
600PASS bar({f:False}) is 1
601PASS foo({f:True}) is 1
602PASS foo({f:False}) is 0
603PASS bar({f:True}) is 0
604PASS bar({f:False}) is 1
605PASS foo({f:True}) is 1
606PASS foo({f:False}) is 0
607PASS bar({f:True}) is 0
608PASS bar({f:False}) is 1
609PASS foo({f:True}) is 1
610PASS foo({f:False}) is 0
611PASS bar({f:True}) is 0
612PASS bar({f:False}) is 1
613PASS foo({f:True}) is 1
614PASS foo({f:False}) is 0
615PASS bar({f:True}) is 0
616PASS bar({f:False}) is 1
617PASS foo({f:True}) is 1
618PASS foo({f:False}) is 0
619PASS bar({f:True}) is 0
620PASS bar({f:False}) is 1
621PASS foo({f:True}) is 1
622PASS foo({f:False}) is 0
623PASS bar({f:True}) is 0
624PASS bar({f:False}) is 1
625PASS foo({f:True}) is 1
626PASS foo({f:False}) is 0
627PASS bar({f:True}) is 0
628PASS bar({f:False}) is 1
629PASS foo({f:True}) is 1
630PASS foo({f:False}) is 0
631PASS bar({f:True}) is 0
632PASS bar({f:False}) is 1
633PASS foo({f:True}) is 1
634PASS foo({f:False}) is 0
635PASS bar({f:True}) is 0
636PASS bar({f:False}) is 1
637PASS foo({f:True}) is 1
638PASS foo({f:False}) is 0
639PASS bar({f:True}) is 0
640PASS bar({f:False}) is 1
641PASS foo({f:True}) is 1
642PASS foo({f:False}) is 0
643PASS bar({f:True}) is 0
644PASS bar({f:False}) is 1
645PASS foo({f:True}) is 1
646PASS foo({f:False}) is 0
647PASS bar({f:True}) is 0
648PASS bar({f:False}) is 1
649PASS foo({f:True}) is 1
650PASS foo({f:False}) is 0
651PASS bar({f:True}) is 0
652PASS bar({f:False}) is 1
653PASS foo({f:True}) is 1
654PASS foo({f:False}) is 0
655PASS bar({f:True}) is 0
656PASS bar({f:False}) is 1
657PASS foo({f:True}) is 1
658PASS foo({f:False}) is 0
659PASS bar({f:True}) is 0
660PASS bar({f:False}) is 1
661PASS foo({f:True}) is 1
662PASS foo({f:False}) is 0
663PASS bar({f:True}) is 0
664PASS bar({f:False}) is 1
665PASS foo({f:True}) is 1
666PASS foo({f:False}) is 0
667PASS bar({f:True}) is 0
668PASS bar({f:False}) is 1
669PASS foo({f:True}) is 1
670PASS foo({f:False}) is 0
671PASS bar({f:True}) is 0
672PASS bar({f:False}) is 1
673PASS foo({f:True}) is 1
674PASS foo({f:False}) is 0
675PASS bar({f:True}) is 0
676PASS bar({f:False}) is 1
677PASS foo({f:True}) is 1
678PASS foo({f:False}) is 0
679PASS bar({f:True}) is 0
680PASS bar({f:False}) is 1
681PASS foo({f:True}) is 1
682PASS foo({f:False}) is 0
683PASS bar({f:True}) is 0
684PASS bar({f:False}) is 1
685PASS foo({f:True}) is 1
686PASS foo({f:False}) is 0
687PASS bar({f:True}) is 0
688PASS bar({f:False}) is 1
689PASS foo({f:True}) is 1
690PASS foo({f:False}) is 0
691PASS bar({f:True}) is 0
692PASS bar({f:False}) is 1
693PASS foo({f:True}) is 1
694PASS foo({f:False}) is 0
695PASS bar({f:True}) is 0
696PASS bar({f:False}) is 1
697PASS foo({f:True}) is 1
698PASS foo({f:False}) is 0
699PASS bar({f:True}) is 0
700PASS bar({f:False}) is 1
701PASS foo({f:True}) is 1
702PASS foo({f:False}) is 0
703PASS bar({f:True}) is 0
704PASS bar({f:False}) is 1
705PASS foo({f:True}) is 1
706PASS foo({f:False}) is 0
707PASS bar({f:True}) is 0
708PASS bar({f:False}) is 1
709PASS foo({f:True}) is 1
710PASS foo({f:False}) is 0
711PASS bar({f:True}) is 0
712PASS bar({f:False}) is 1
713PASS foo({f:True}) is 1
714PASS foo({f:False}) is 0
715PASS bar({f:True}) is 0
716PASS bar({f:False}) is 1
717PASS foo({f:True}) is 1
718PASS foo({f:False}) is 0
719PASS bar({f:True}) is 0
720PASS bar({f:False}) is 1
721PASS foo({f:True}) is 1
722PASS foo({f:False}) is 0
723PASS bar({f:True}) is 0
724PASS bar({f:False}) is 1
725PASS foo({f:True}) is 1
726PASS foo({f:False}) is 0
727PASS bar({f:True}) is 0
728PASS bar({f:False}) is 1
729PASS foo({f:True}) is 1
730PASS foo({f:False}) is 0
731PASS bar({f:True}) is 0
732PASS bar({f:False}) is 1
733PASS foo({f:True}) is 1
734PASS foo({f:False}) is 0
735PASS bar({f:True}) is 0
736PASS bar({f:False}) is 1
737PASS foo({f:True}) is 1
738PASS foo({f:False}) is 0
739PASS bar({f:True}) is 0
740PASS bar({f:False}) is 1
741PASS foo({f:True}) is 1
742PASS foo({f:False}) is 0
743PASS bar({f:True}) is 0
744PASS bar({f:False}) is 1
745PASS foo({f:True}) is 1
746PASS foo({f:False}) is 0
747PASS bar({f:True}) is 0
748PASS bar({f:False}) is 1
749PASS foo({f:True}) is 1
750PASS foo({f:False}) is 0
751PASS bar({f:True}) is 0
752PASS bar({f:False}) is 1
753PASS foo({f:True}) is 1
754PASS foo({f:False}) is 0
755PASS bar({f:True}) is 0
756PASS bar({f:False}) is 1
757PASS foo({f:True}) is 1
758PASS foo({f:False}) is 0
759PASS bar({f:True}) is 0
760PASS bar({f:False}) is 1
761PASS foo({f:True}) is 1
762PASS foo({f:False}) is 0
763PASS bar({f:True}) is 0
764PASS bar({f:False}) is 1
765PASS foo({f:True}) is 1
766PASS foo({f:False}) is 0
767PASS bar({f:True}) is 0
768PASS bar({f:False}) is 1
769PASS foo({f:True}) is 1
770PASS foo({f:False}) is 0
771PASS bar({f:True}) is 0
772PASS bar({f:False}) is 1
773PASS foo({f:True}) is 1
774PASS foo({f:False}) is 0
775PASS bar({f:True}) is 0
776PASS bar({f:False}) is 1
777PASS foo({f:True}) is 1
778PASS foo({f:False}) is 0
779PASS bar({f:True}) is 0
780PASS bar({f:False}) is 1
781PASS foo({f:True}) is 1
782PASS foo({f:False}) is 0
783PASS bar({f:True}) is 0
784PASS bar({f:False}) is 1
785PASS foo({f:True}) is 1
786PASS foo({f:False}) is 0
787PASS bar({f:True}) is 0
788PASS bar({f:False}) is 1
789PASS foo({f:True}) is 1
790PASS foo({f:False}) is 0
791PASS bar({f:True}) is 0
792PASS bar({f:False}) is 1
793PASS foo({f:True}) is 1
794PASS foo({f:False}) is 0
795PASS bar({f:True}) is 0
796PASS bar({f:False}) is 1
797PASS foo({f:True}) is 1
798PASS foo({f:False}) is 0
799PASS bar({f:True}) is 0
800PASS bar({f:False}) is 1
801PASS foo({f:True}) is 1
802PASS foo({f:False}) is 0
803PASS bar({f:True}) is 0
804PASS bar({f:False}) is 1
805PASS foo({f:True}) is 1
806PASS foo({f:False}) is 0
807PASS bar({f:True}) is 0
808PASS bar({f:False}) is 1
809PASS foo({f:True}) is 1
810PASS foo({f:False}) is 0
811PASS bar({f:True}) is 0
812PASS bar({f:False}) is 1
813PASS foo({f:True}) is 1
814PASS foo({f:False}) is 0
815PASS bar({f:True}) is 0
816PASS bar({f:False}) is 1
817PASS foo({f:True}) is 1
818PASS foo({f:False}) is 0
819PASS bar({f:True}) is 0
820PASS bar({f:False}) is 1
821PASS foo({f:True}) is 1
822PASS foo({f:False}) is 0
823PASS bar({f:True}) is 0
824PASS bar({f:False}) is 1
825PASS foo({f:True}) is 1
826PASS foo({f:False}) is 0
827PASS bar({f:True}) is 0
828PASS bar({f:False}) is 1
829PASS successfullyParsed is true
830
831TEST COMPLETE
832
833