1#define F 140
2#define T 13
3
4feq (x, y)
5     long long int x;
6     long long int y;
7{
8  if (x == y)
9    return T;
10  else
11    return F;
12}
13
14fne (x, y)
15     long long int x;
16     long long int y;
17{
18  if (x != y)
19    return T;
20  else
21    return F;
22}
23
24flt (x, y)
25     long long int x;
26     long long int y;
27{
28  if (x < y)
29    return T;
30  else
31    return F;
32}
33
34fge (x, y)
35     long long int x;
36     long long int y;
37{
38  if (x >= y)
39    return T;
40  else
41    return F;
42}
43
44fgt (x, y)
45     long long int x;
46     long long int y;
47{
48  if (x > y)
49    return T;
50  else
51    return F;
52}
53
54fle (x, y)
55     long long int x;
56     long long int y;
57{
58  if (x <= y)
59    return T;
60  else
61    return F;
62}
63
64fltu (x, y)
65     unsigned long long int x;
66     unsigned long long int y;
67{
68  if (x < y)
69    return T;
70  else
71    return F;
72}
73
74fgeu (x, y)
75     unsigned long long int x;
76     unsigned long long int y;
77{
78  if (x >= y)
79    return T;
80  else
81    return F;
82}
83
84fgtu (x, y)
85     unsigned long long int x;
86     unsigned long long int y;
87{
88  if (x > y)
89    return T;
90  else
91    return F;
92}
93
94fleu (x, y)
95     unsigned long long int x;
96     unsigned long long int y;
97{
98  if (x <= y)
99    return T;
100  else
101    return F;
102}
103
104long long args[] =
105{
106  0LL,
107  1LL,
108  -1LL,
109  0x7fffffffffffffffLL,
110  0x8000000000000000LL,
111  0x8000000000000001LL,
112  0x1A3F237394D36C58LL,
113  0x93850E92CAAC1B04LL
114};
115
116int correct_results[] =
117{
118  T, F, F, T, F, T, F, T, F, T,
119  F, T, T, F, F, T, T, F, F, T,
120  F, T, F, T, T, F, T, F, F, T,
121  F, T, T, F, F, T, T, F, F, T,
122  F, T, F, T, T, F, T, F, F, T,
123  F, T, F, T, T, F, T, F, F, T,
124  F, T, T, F, F, T, T, F, F, T,
125  F, T, F, T, T, F, T, F, F, T,
126  F, T, F, T, T, F, F, T, T, F,
127  T, F, F, T, F, T, F, T, F, T,
128  F, T, F, T, T, F, T, F, F, T,
129  F, T, T, F, F, T, T, F, F, T,
130  F, T, F, T, T, F, T, F, F, T,
131  F, T, F, T, T, F, T, F, F, T,
132  F, T, T, F, F, T, T, F, F, T,
133  F, T, F, T, T, F, T, F, F, T,
134  F, T, T, F, F, T, F, T, T, F,
135  F, T, T, F, F, T, F, T, T, F,
136  T, F, F, T, F, T, F, T, F, T,
137  F, T, T, F, F, T, F, T, T, F,
138  F, T, F, T, T, F, F, T, T, F,
139  F, T, F, T, T, F, F, T, T, F,
140  F, T, T, F, F, T, F, T, T, F,
141  F, T, F, T, T, F, F, T, T, F,
142  F, T, F, T, T, F, F, T, T, F,
143  F, T, F, T, T, F, F, T, T, F,
144  F, T, F, T, T, F, T, F, F, T,
145  T, F, F, T, F, T, F, T, F, T,
146  F, T, F, T, T, F, T, F, F, T,
147  F, T, F, T, T, F, T, F, F, T,
148  F, T, F, T, T, F, F, T, T, F,
149  F, T, F, T, T, F, T, F, F, T,
150  F, T, T, F, F, T, F, T, T, F,
151  F, T, T, F, F, T, F, T, T, F,
152  F, T, T, F, F, T, T, F, F, T,
153  F, T, T, F, F, T, F, T, T, F,
154  T, F, F, T, F, T, F, T, F, T,
155  F, T, T, F, F, T, T, F, F, T,
156  F, T, T, F, F, T, F, T, T, F,
157  F, T, T, F, F, T, T, F, F, T,
158  F, T, T, F, F, T, F, T, T, F,
159  F, T, T, F, F, T, F, T, T, F,
160  F, T, T, F, F, T, T, F, F, T,
161  F, T, T, F, F, T, F, T, T, F,
162  F, T, F, T, T, F, F, T, T, F,
163  T, F, F, T, F, T, F, T, F, T,
164  F, T, T, F, F, T, F, T, T, F,
165  F, T, T, F, F, T, T, F, F, T,
166  F, T, F, T, T, F, F, T, T, F,
167  F, T, F, T, T, F, F, T, T, F,
168  F, T, F, T, T, F, T, F, F, T,
169  F, T, T, F, F, T, T, F, F, T,
170  F, T, F, T, T, F, T, F, F, T,
171  F, T, F, T, T, F, T, F, F, T,
172  T, F, F, T, F, T, F, T, F, T,
173  F, T, F, T, T, F, T, F, F, T,
174  F, T, T, F, F, T, F, T, T, F,
175  F, T, T, F, F, T, F, T, T, F,
176  F, T, T, F, F, T, T, F, F, T,
177  F, T, T, F, F, T, F, T, T, F,
178  F, T, F, T, T, F, F, T, T, F,
179  F, T, F, T, T, F, F, T, T, F,
180  F, T, T, F, F, T, F, T, T, F,
181  T, F, F, T, F, T, F, T, F, T
182};
183
184main ()
185{
186  int i, j, *res = correct_results;
187
188  for (i = 0; i < 8; i++)
189    {
190      long long arg0 = args[i];
191      for (j = 0; j < 8; j++)
192	{
193	  long long arg1 = args[j];
194
195	  if (feq (arg0, arg1) != *res++)
196	    abort ();
197	  if (fne (arg0, arg1) != *res++)
198	    abort ();
199	  if (flt (arg0, arg1) != *res++)
200	    abort ();
201	  if (fge (arg0, arg1) != *res++)
202	    abort ();
203	  if (fgt (arg0, arg1) != *res++)
204	    abort ();
205	  if (fle (arg0, arg1) != *res++)
206	    abort ();
207	  if (fltu (arg0, arg1) != *res++)
208	    abort ();
209	  if (fgeu (arg0, arg1) != *res++)
210	    abort ();
211	  if (fgtu (arg0, arg1) != *res++)
212	    abort ();
213	  if (fleu (arg0, arg1) != *res++)
214	    abort ();
215	}
216    }
217  exit (0);
218}
219