1/* Generated automatically by ./hpgsmkrop at Mon Mar 19 17:26:14 2007.
2   Do not edit!
3 */
4#include <hpgs.h>
5
6/* 0 source/pattern opaque. */
7static void rop3_0_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8{
9  unsigned char stk1;
10  stk1 = 0;
11  *D = stk1;
12}
13
14/* 0 source opaque/pattern transparent. */
15static void rop3_0_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16{
17  unsigned char stk1;
18  stk1 = 0;
19  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20}
21
22/* 0 source transparent/pattern opaque. */
23static void rop3_0_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24{
25  unsigned char stk1;
26  stk1 = 0;
27  *D = (stk1 & (~S)) | (*D & S);
28}
29
30/* 0 source/pattern transparent. */
31static void rop3_0_1_1 (unsigned char *D, unsigned char S, unsigned char T)
32{
33  unsigned char stk1;
34  stk1 = 0;
35  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
36}
37
38/* 0 source/pattern opaque. */
39static unsigned xrop3_0_0_0 (unsigned char s, unsigned char t)
40{
41  unsigned stk1;
42  stk1 = 0x0000;
43  return stk1;
44}
45
46/* 0 source opaque/pattern transparent. */
47static unsigned xrop3_0_0_1 (unsigned char s, unsigned char t)
48{
49  unsigned D = 0x00ff;
50  unsigned S = ((unsigned)s << 8) | s;
51  unsigned T = ((unsigned)t << 8) | t;
52  unsigned stk1;
53  stk1 = 0x0000;
54  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
55}
56
57/* 0 source transparent/pattern opaque. */
58static unsigned xrop3_0_1_0 (unsigned char s, unsigned char t)
59{
60  unsigned D = 0x00ff;
61  unsigned S = ((unsigned)s << 8) | s;
62  unsigned stk1;
63  stk1 = 0x0000;
64  return (stk1 & (~S)) | (D & S);
65}
66
67/* 0 source/pattern transparent. */
68static unsigned xrop3_0_1_1 (unsigned char s, unsigned char t)
69{
70  unsigned D = 0x00ff;
71  unsigned S = ((unsigned)s << 8) | s;
72  unsigned T = ((unsigned)t << 8) | t;
73  unsigned stk1;
74  stk1 = 0x0000;
75  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
76}
77
78/* DTSoon source/pattern opaque. */
79static void rop3_1_0_0 (unsigned char *D, unsigned char S, unsigned char T)
80{
81  unsigned char stk1;
82  unsigned char stk2;
83  stk2 = T | S;
84  stk1 = *D | stk2;
85  stk1 = ~stk1;
86  *D = stk1;
87}
88
89/* DTSoon source opaque/pattern transparent. */
90static void rop3_1_0_1 (unsigned char *D, unsigned char S, unsigned char T)
91{
92  unsigned char stk1;
93  unsigned char stk2;
94  stk2 = T | S;
95  stk1 = *D | stk2;
96  stk1 = ~stk1;
97  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
98}
99
100/* DTSoon source transparent/pattern opaque. */
101static void rop3_1_1_0 (unsigned char *D, unsigned char S, unsigned char T)
102{
103  unsigned char stk1;
104  unsigned char stk2;
105  stk2 = T | S;
106  stk1 = *D | stk2;
107  stk1 = ~stk1;
108  *D = (stk1 & (~S)) | (*D & S);
109}
110
111/* DTSoon source/pattern transparent. */
112static void rop3_1_1_1 (unsigned char *D, unsigned char S, unsigned char T)
113{
114  unsigned char stk1;
115  unsigned char stk2;
116  stk2 = T | S;
117  stk1 = *D | stk2;
118  stk1 = ~stk1;
119  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
120}
121
122/* DTSoon source/pattern opaque. */
123static unsigned xrop3_1_0_0 (unsigned char s, unsigned char t)
124{
125  unsigned D = 0x00ff;
126  unsigned S = ((unsigned)s << 8) | s;
127  unsigned T = ((unsigned)t << 8) | t;
128  unsigned stk1;
129  unsigned stk2;
130  stk2 = T | S;
131  stk1 = D | stk2;
132  stk1 = ~stk1;
133  return stk1;
134}
135
136/* DTSoon source opaque/pattern transparent. */
137static unsigned xrop3_1_0_1 (unsigned char s, unsigned char t)
138{
139  unsigned D = 0x00ff;
140  unsigned S = ((unsigned)s << 8) | s;
141  unsigned T = ((unsigned)t << 8) | t;
142  unsigned stk1;
143  unsigned stk2;
144  stk2 = T | S;
145  stk1 = D | stk2;
146  stk1 = ~stk1;
147  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
148}
149
150/* DTSoon source transparent/pattern opaque. */
151static unsigned xrop3_1_1_0 (unsigned char s, unsigned char t)
152{
153  unsigned D = 0x00ff;
154  unsigned S = ((unsigned)s << 8) | s;
155  unsigned T = ((unsigned)t << 8) | t;
156  unsigned stk1;
157  unsigned stk2;
158  stk2 = T | S;
159  stk1 = D | stk2;
160  stk1 = ~stk1;
161  return (stk1 & (~S)) | (D & S);
162}
163
164/* DTSoon source/pattern transparent. */
165static unsigned xrop3_1_1_1 (unsigned char s, unsigned char t)
166{
167  unsigned D = 0x00ff;
168  unsigned S = ((unsigned)s << 8) | s;
169  unsigned T = ((unsigned)t << 8) | t;
170  unsigned stk1;
171  unsigned stk2;
172  stk2 = T | S;
173  stk1 = D | stk2;
174  stk1 = ~stk1;
175  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
176}
177
178/* DTSona source/pattern opaque. */
179static void rop3_2_0_0 (unsigned char *D, unsigned char S, unsigned char T)
180{
181  unsigned char stk1;
182  unsigned char stk2;
183  stk2 = T | S;
184  stk2 = ~stk2;
185  stk1 = *D & stk2;
186  *D = stk1;
187}
188
189/* DTSona source opaque/pattern transparent. */
190static void rop3_2_0_1 (unsigned char *D, unsigned char S, unsigned char T)
191{
192  unsigned char stk1;
193  unsigned char stk2;
194  stk2 = T | S;
195  stk2 = ~stk2;
196  stk1 = *D & stk2;
197  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
198}
199
200/* DTSona source transparent/pattern opaque. */
201static void rop3_2_1_0 (unsigned char *D, unsigned char S, unsigned char T)
202{
203  unsigned char stk1;
204  unsigned char stk2;
205  stk2 = T | S;
206  stk2 = ~stk2;
207  stk1 = *D & stk2;
208  *D = (stk1 & (~S)) | (*D & S);
209}
210
211/* DTSona source/pattern transparent. */
212static void rop3_2_1_1 (unsigned char *D, unsigned char S, unsigned char T)
213{
214  unsigned char stk1;
215  unsigned char stk2;
216  stk2 = T | S;
217  stk2 = ~stk2;
218  stk1 = *D & stk2;
219  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
220}
221
222/* DTSona source/pattern opaque. */
223static unsigned xrop3_2_0_0 (unsigned char s, unsigned char t)
224{
225  unsigned D = 0x00ff;
226  unsigned S = ((unsigned)s << 8) | s;
227  unsigned T = ((unsigned)t << 8) | t;
228  unsigned stk1;
229  unsigned stk2;
230  stk2 = T | S;
231  stk2 = ~stk2;
232  stk1 = D & stk2;
233  return stk1;
234}
235
236/* DTSona source opaque/pattern transparent. */
237static unsigned xrop3_2_0_1 (unsigned char s, unsigned char t)
238{
239  unsigned D = 0x00ff;
240  unsigned S = ((unsigned)s << 8) | s;
241  unsigned T = ((unsigned)t << 8) | t;
242  unsigned stk1;
243  unsigned stk2;
244  stk2 = T | S;
245  stk2 = ~stk2;
246  stk1 = D & stk2;
247  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
248}
249
250/* DTSona source transparent/pattern opaque. */
251static unsigned xrop3_2_1_0 (unsigned char s, unsigned char t)
252{
253  unsigned D = 0x00ff;
254  unsigned S = ((unsigned)s << 8) | s;
255  unsigned T = ((unsigned)t << 8) | t;
256  unsigned stk1;
257  unsigned stk2;
258  stk2 = T | S;
259  stk2 = ~stk2;
260  stk1 = D & stk2;
261  return (stk1 & (~S)) | (D & S);
262}
263
264/* DTSona source/pattern transparent. */
265static unsigned xrop3_2_1_1 (unsigned char s, unsigned char t)
266{
267  unsigned D = 0x00ff;
268  unsigned S = ((unsigned)s << 8) | s;
269  unsigned T = ((unsigned)t << 8) | t;
270  unsigned stk1;
271  unsigned stk2;
272  stk2 = T | S;
273  stk2 = ~stk2;
274  stk1 = D & stk2;
275  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
276}
277
278/* TSon source/pattern opaque. */
279static void rop3_3_0_0 (unsigned char *D, unsigned char S, unsigned char T)
280{
281  unsigned char stk1;
282  stk1 = T | S;
283  stk1 = ~stk1;
284  *D = stk1;
285}
286
287/* TSon source opaque/pattern transparent. */
288static void rop3_3_0_1 (unsigned char *D, unsigned char S, unsigned char T)
289{
290  unsigned char stk1;
291  stk1 = T | S;
292  stk1 = ~stk1;
293  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
294}
295
296/* TSon source transparent/pattern opaque. */
297static void rop3_3_1_0 (unsigned char *D, unsigned char S, unsigned char T)
298{
299  unsigned char stk1;
300  stk1 = T | S;
301  stk1 = ~stk1;
302  *D = (stk1 & (~S)) | (*D & S);
303}
304
305/* TSon source/pattern transparent. */
306static void rop3_3_1_1 (unsigned char *D, unsigned char S, unsigned char T)
307{
308  unsigned char stk1;
309  stk1 = T | S;
310  stk1 = ~stk1;
311  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
312}
313
314/* TSon source/pattern opaque. */
315static unsigned xrop3_3_0_0 (unsigned char s, unsigned char t)
316{
317  unsigned S = ((unsigned)s << 8) | s;
318  unsigned T = ((unsigned)t << 8) | t;
319  unsigned stk1;
320  stk1 = T | S;
321  stk1 = ~stk1;
322  return stk1;
323}
324
325/* TSon source opaque/pattern transparent. */
326static unsigned xrop3_3_0_1 (unsigned char s, unsigned char t)
327{
328  unsigned D = 0x00ff;
329  unsigned S = ((unsigned)s << 8) | s;
330  unsigned T = ((unsigned)t << 8) | t;
331  unsigned stk1;
332  stk1 = T | S;
333  stk1 = ~stk1;
334  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
335}
336
337/* TSon source transparent/pattern opaque. */
338static unsigned xrop3_3_1_0 (unsigned char s, unsigned char t)
339{
340  unsigned D = 0x00ff;
341  unsigned S = ((unsigned)s << 8) | s;
342  unsigned T = ((unsigned)t << 8) | t;
343  unsigned stk1;
344  stk1 = T | S;
345  stk1 = ~stk1;
346  return (stk1 & (~S)) | (D & S);
347}
348
349/* TSon source/pattern transparent. */
350static unsigned xrop3_3_1_1 (unsigned char s, unsigned char t)
351{
352  unsigned D = 0x00ff;
353  unsigned S = ((unsigned)s << 8) | s;
354  unsigned T = ((unsigned)t << 8) | t;
355  unsigned stk1;
356  stk1 = T | S;
357  stk1 = ~stk1;
358  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
359}
360
361/* SDTona source/pattern opaque. */
362static void rop3_4_0_0 (unsigned char *D, unsigned char S, unsigned char T)
363{
364  unsigned char stk1;
365  unsigned char stk2;
366  stk2 = *D | T;
367  stk2 = ~stk2;
368  stk1 = S & stk2;
369  *D = stk1;
370}
371
372/* SDTona source opaque/pattern transparent. */
373static void rop3_4_0_1 (unsigned char *D, unsigned char S, unsigned char T)
374{
375  unsigned char stk1;
376  unsigned char stk2;
377  stk2 = *D | T;
378  stk2 = ~stk2;
379  stk1 = S & stk2;
380  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
381}
382
383/* SDTona source transparent/pattern opaque. */
384static void rop3_4_1_0 (unsigned char *D, unsigned char S, unsigned char T)
385{
386  unsigned char stk1;
387  unsigned char stk2;
388  stk2 = *D | T;
389  stk2 = ~stk2;
390  stk1 = S & stk2;
391  *D = (stk1 & (~S)) | (*D & S);
392}
393
394/* SDTona source/pattern transparent. */
395static void rop3_4_1_1 (unsigned char *D, unsigned char S, unsigned char T)
396{
397  unsigned char stk1;
398  unsigned char stk2;
399  stk2 = *D | T;
400  stk2 = ~stk2;
401  stk1 = S & stk2;
402  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
403}
404
405/* SDTona source/pattern opaque. */
406static unsigned xrop3_4_0_0 (unsigned char s, unsigned char t)
407{
408  unsigned D = 0x00ff;
409  unsigned S = ((unsigned)s << 8) | s;
410  unsigned T = ((unsigned)t << 8) | t;
411  unsigned stk1;
412  unsigned stk2;
413  stk2 = D | T;
414  stk2 = ~stk2;
415  stk1 = S & stk2;
416  return stk1;
417}
418
419/* SDTona source opaque/pattern transparent. */
420static unsigned xrop3_4_0_1 (unsigned char s, unsigned char t)
421{
422  unsigned D = 0x00ff;
423  unsigned S = ((unsigned)s << 8) | s;
424  unsigned T = ((unsigned)t << 8) | t;
425  unsigned stk1;
426  unsigned stk2;
427  stk2 = D | T;
428  stk2 = ~stk2;
429  stk1 = S & stk2;
430  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
431}
432
433/* SDTona source transparent/pattern opaque. */
434static unsigned xrop3_4_1_0 (unsigned char s, unsigned char t)
435{
436  unsigned D = 0x00ff;
437  unsigned S = ((unsigned)s << 8) | s;
438  unsigned T = ((unsigned)t << 8) | t;
439  unsigned stk1;
440  unsigned stk2;
441  stk2 = D | T;
442  stk2 = ~stk2;
443  stk1 = S & stk2;
444  return (stk1 & (~S)) | (D & S);
445}
446
447/* SDTona source/pattern transparent. */
448static unsigned xrop3_4_1_1 (unsigned char s, unsigned char t)
449{
450  unsigned D = 0x00ff;
451  unsigned S = ((unsigned)s << 8) | s;
452  unsigned T = ((unsigned)t << 8) | t;
453  unsigned stk1;
454  unsigned stk2;
455  stk2 = D | T;
456  stk2 = ~stk2;
457  stk1 = S & stk2;
458  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
459}
460
461/* DTon source/pattern opaque. */
462static void rop3_5_0_0 (unsigned char *D, unsigned char S, unsigned char T)
463{
464  unsigned char stk1;
465  stk1 = *D | T;
466  stk1 = ~stk1;
467  *D = stk1;
468}
469
470/* DTon source opaque/pattern transparent. */
471static void rop3_5_0_1 (unsigned char *D, unsigned char S, unsigned char T)
472{
473  unsigned char stk1;
474  stk1 = *D | T;
475  stk1 = ~stk1;
476  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
477}
478
479/* DTon source transparent/pattern opaque. */
480static void rop3_5_1_0 (unsigned char *D, unsigned char S, unsigned char T)
481{
482  unsigned char stk1;
483  stk1 = *D | T;
484  stk1 = ~stk1;
485  *D = (stk1 & (~S)) | (*D & S);
486}
487
488/* DTon source/pattern transparent. */
489static void rop3_5_1_1 (unsigned char *D, unsigned char S, unsigned char T)
490{
491  unsigned char stk1;
492  stk1 = *D | T;
493  stk1 = ~stk1;
494  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
495}
496
497/* DTon source/pattern opaque. */
498static unsigned xrop3_5_0_0 (unsigned char s, unsigned char t)
499{
500  unsigned D = 0x00ff;
501  unsigned T = ((unsigned)t << 8) | t;
502  unsigned stk1;
503  stk1 = D | T;
504  stk1 = ~stk1;
505  return stk1;
506}
507
508/* DTon source opaque/pattern transparent. */
509static unsigned xrop3_5_0_1 (unsigned char s, unsigned char t)
510{
511  unsigned D = 0x00ff;
512  unsigned S = ((unsigned)s << 8) | s;
513  unsigned T = ((unsigned)t << 8) | t;
514  unsigned stk1;
515  stk1 = D | T;
516  stk1 = ~stk1;
517  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
518}
519
520/* DTon source transparent/pattern opaque. */
521static unsigned xrop3_5_1_0 (unsigned char s, unsigned char t)
522{
523  unsigned D = 0x00ff;
524  unsigned S = ((unsigned)s << 8) | s;
525  unsigned T = ((unsigned)t << 8) | t;
526  unsigned stk1;
527  stk1 = D | T;
528  stk1 = ~stk1;
529  return (stk1 & (~S)) | (D & S);
530}
531
532/* DTon source/pattern transparent. */
533static unsigned xrop3_5_1_1 (unsigned char s, unsigned char t)
534{
535  unsigned D = 0x00ff;
536  unsigned S = ((unsigned)s << 8) | s;
537  unsigned T = ((unsigned)t << 8) | t;
538  unsigned stk1;
539  stk1 = D | T;
540  stk1 = ~stk1;
541  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
542}
543
544/* TDSxnon source/pattern opaque. */
545static void rop3_6_0_0 (unsigned char *D, unsigned char S, unsigned char T)
546{
547  unsigned char stk1;
548  unsigned char stk2;
549  stk2 = *D ^ S;
550  stk2 = ~stk2;
551  stk1 = T | stk2;
552  stk1 = ~stk1;
553  *D = stk1;
554}
555
556/* TDSxnon source opaque/pattern transparent. */
557static void rop3_6_0_1 (unsigned char *D, unsigned char S, unsigned char T)
558{
559  unsigned char stk1;
560  unsigned char stk2;
561  stk2 = *D ^ S;
562  stk2 = ~stk2;
563  stk1 = T | stk2;
564  stk1 = ~stk1;
565  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
566}
567
568/* TDSxnon source transparent/pattern opaque. */
569static void rop3_6_1_0 (unsigned char *D, unsigned char S, unsigned char T)
570{
571  unsigned char stk1;
572  unsigned char stk2;
573  stk2 = *D ^ S;
574  stk2 = ~stk2;
575  stk1 = T | stk2;
576  stk1 = ~stk1;
577  *D = (stk1 & (~S)) | (*D & S);
578}
579
580/* TDSxnon source/pattern transparent. */
581static void rop3_6_1_1 (unsigned char *D, unsigned char S, unsigned char T)
582{
583  unsigned char stk1;
584  unsigned char stk2;
585  stk2 = *D ^ S;
586  stk2 = ~stk2;
587  stk1 = T | stk2;
588  stk1 = ~stk1;
589  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
590}
591
592/* TDSxnon source/pattern opaque. */
593static unsigned xrop3_6_0_0 (unsigned char s, unsigned char t)
594{
595  unsigned D = 0x00ff;
596  unsigned S = ((unsigned)s << 8) | s;
597  unsigned T = ((unsigned)t << 8) | t;
598  unsigned stk1;
599  unsigned stk2;
600  stk2 = D ^ S;
601  stk2 = ~stk2;
602  stk1 = T | stk2;
603  stk1 = ~stk1;
604  return stk1;
605}
606
607/* TDSxnon source opaque/pattern transparent. */
608static unsigned xrop3_6_0_1 (unsigned char s, unsigned char t)
609{
610  unsigned D = 0x00ff;
611  unsigned S = ((unsigned)s << 8) | s;
612  unsigned T = ((unsigned)t << 8) | t;
613  unsigned stk1;
614  unsigned stk2;
615  stk2 = D ^ S;
616  stk2 = ~stk2;
617  stk1 = T | stk2;
618  stk1 = ~stk1;
619  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
620}
621
622/* TDSxnon source transparent/pattern opaque. */
623static unsigned xrop3_6_1_0 (unsigned char s, unsigned char t)
624{
625  unsigned D = 0x00ff;
626  unsigned S = ((unsigned)s << 8) | s;
627  unsigned T = ((unsigned)t << 8) | t;
628  unsigned stk1;
629  unsigned stk2;
630  stk2 = D ^ S;
631  stk2 = ~stk2;
632  stk1 = T | stk2;
633  stk1 = ~stk1;
634  return (stk1 & (~S)) | (D & S);
635}
636
637/* TDSxnon source/pattern transparent. */
638static unsigned xrop3_6_1_1 (unsigned char s, unsigned char t)
639{
640  unsigned D = 0x00ff;
641  unsigned S = ((unsigned)s << 8) | s;
642  unsigned T = ((unsigned)t << 8) | t;
643  unsigned stk1;
644  unsigned stk2;
645  stk2 = D ^ S;
646  stk2 = ~stk2;
647  stk1 = T | stk2;
648  stk1 = ~stk1;
649  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
650}
651
652/* TDSaon source/pattern opaque. */
653static void rop3_7_0_0 (unsigned char *D, unsigned char S, unsigned char T)
654{
655  unsigned char stk1;
656  unsigned char stk2;
657  stk2 = *D & S;
658  stk1 = T | stk2;
659  stk1 = ~stk1;
660  *D = stk1;
661}
662
663/* TDSaon source opaque/pattern transparent. */
664static void rop3_7_0_1 (unsigned char *D, unsigned char S, unsigned char T)
665{
666  unsigned char stk1;
667  unsigned char stk2;
668  stk2 = *D & S;
669  stk1 = T | stk2;
670  stk1 = ~stk1;
671  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
672}
673
674/* TDSaon source transparent/pattern opaque. */
675static void rop3_7_1_0 (unsigned char *D, unsigned char S, unsigned char T)
676{
677  unsigned char stk1;
678  unsigned char stk2;
679  stk2 = *D & S;
680  stk1 = T | stk2;
681  stk1 = ~stk1;
682  *D = (stk1 & (~S)) | (*D & S);
683}
684
685/* TDSaon source/pattern transparent. */
686static void rop3_7_1_1 (unsigned char *D, unsigned char S, unsigned char T)
687{
688  unsigned char stk1;
689  unsigned char stk2;
690  stk2 = *D & S;
691  stk1 = T | stk2;
692  stk1 = ~stk1;
693  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
694}
695
696/* TDSaon source/pattern opaque. */
697static unsigned xrop3_7_0_0 (unsigned char s, unsigned char t)
698{
699  unsigned D = 0x00ff;
700  unsigned S = ((unsigned)s << 8) | s;
701  unsigned T = ((unsigned)t << 8) | t;
702  unsigned stk1;
703  unsigned stk2;
704  stk2 = D & S;
705  stk1 = T | stk2;
706  stk1 = ~stk1;
707  return stk1;
708}
709
710/* TDSaon source opaque/pattern transparent. */
711static unsigned xrop3_7_0_1 (unsigned char s, unsigned char t)
712{
713  unsigned D = 0x00ff;
714  unsigned S = ((unsigned)s << 8) | s;
715  unsigned T = ((unsigned)t << 8) | t;
716  unsigned stk1;
717  unsigned stk2;
718  stk2 = D & S;
719  stk1 = T | stk2;
720  stk1 = ~stk1;
721  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
722}
723
724/* TDSaon source transparent/pattern opaque. */
725static unsigned xrop3_7_1_0 (unsigned char s, unsigned char t)
726{
727  unsigned D = 0x00ff;
728  unsigned S = ((unsigned)s << 8) | s;
729  unsigned T = ((unsigned)t << 8) | t;
730  unsigned stk1;
731  unsigned stk2;
732  stk2 = D & S;
733  stk1 = T | stk2;
734  stk1 = ~stk1;
735  return (stk1 & (~S)) | (D & S);
736}
737
738/* TDSaon source/pattern transparent. */
739static unsigned xrop3_7_1_1 (unsigned char s, unsigned char t)
740{
741  unsigned D = 0x00ff;
742  unsigned S = ((unsigned)s << 8) | s;
743  unsigned T = ((unsigned)t << 8) | t;
744  unsigned stk1;
745  unsigned stk2;
746  stk2 = D & S;
747  stk1 = T | stk2;
748  stk1 = ~stk1;
749  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
750}
751
752/* SDTnaa source/pattern opaque. */
753static void rop3_8_0_0 (unsigned char *D, unsigned char S, unsigned char T)
754{
755  unsigned char stk1;
756  unsigned char stk2;
757  unsigned char stk3;
758  stk3 = ~T;
759  stk2 = *D & stk3;
760  stk1 = S & stk2;
761  *D = stk1;
762}
763
764/* SDTnaa source opaque/pattern transparent. */
765static void rop3_8_0_1 (unsigned char *D, unsigned char S, unsigned char T)
766{
767  unsigned char stk1;
768  unsigned char stk2;
769  unsigned char stk3;
770  stk3 = ~T;
771  stk2 = *D & stk3;
772  stk1 = S & stk2;
773  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
774}
775
776/* SDTnaa source transparent/pattern opaque. */
777static void rop3_8_1_0 (unsigned char *D, unsigned char S, unsigned char T)
778{
779  unsigned char stk1;
780  unsigned char stk2;
781  unsigned char stk3;
782  stk3 = ~T;
783  stk2 = *D & stk3;
784  stk1 = S & stk2;
785  *D = (stk1 & (~S)) | (*D & S);
786}
787
788/* SDTnaa source/pattern transparent. */
789static void rop3_8_1_1 (unsigned char *D, unsigned char S, unsigned char T)
790{
791  unsigned char stk1;
792  unsigned char stk2;
793  unsigned char stk3;
794  stk3 = ~T;
795  stk2 = *D & stk3;
796  stk1 = S & stk2;
797  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
798}
799
800/* SDTnaa source/pattern opaque. */
801static unsigned xrop3_8_0_0 (unsigned char s, unsigned char t)
802{
803  unsigned D = 0x00ff;
804  unsigned S = ((unsigned)s << 8) | s;
805  unsigned T = ((unsigned)t << 8) | t;
806  unsigned stk1;
807  unsigned stk2;
808  unsigned stk3;
809  stk3 = ~T;
810  stk2 = D & stk3;
811  stk1 = S & stk2;
812  return stk1;
813}
814
815/* SDTnaa source opaque/pattern transparent. */
816static unsigned xrop3_8_0_1 (unsigned char s, unsigned char t)
817{
818  unsigned D = 0x00ff;
819  unsigned S = ((unsigned)s << 8) | s;
820  unsigned T = ((unsigned)t << 8) | t;
821  unsigned stk1;
822  unsigned stk2;
823  unsigned stk3;
824  stk3 = ~T;
825  stk2 = D & stk3;
826  stk1 = S & stk2;
827  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
828}
829
830/* SDTnaa source transparent/pattern opaque. */
831static unsigned xrop3_8_1_0 (unsigned char s, unsigned char t)
832{
833  unsigned D = 0x00ff;
834  unsigned S = ((unsigned)s << 8) | s;
835  unsigned T = ((unsigned)t << 8) | t;
836  unsigned stk1;
837  unsigned stk2;
838  unsigned stk3;
839  stk3 = ~T;
840  stk2 = D & stk3;
841  stk1 = S & stk2;
842  return (stk1 & (~S)) | (D & S);
843}
844
845/* SDTnaa source/pattern transparent. */
846static unsigned xrop3_8_1_1 (unsigned char s, unsigned char t)
847{
848  unsigned D = 0x00ff;
849  unsigned S = ((unsigned)s << 8) | s;
850  unsigned T = ((unsigned)t << 8) | t;
851  unsigned stk1;
852  unsigned stk2;
853  unsigned stk3;
854  stk3 = ~T;
855  stk2 = D & stk3;
856  stk1 = S & stk2;
857  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
858}
859
860/* TDSxon source/pattern opaque. */
861static void rop3_9_0_0 (unsigned char *D, unsigned char S, unsigned char T)
862{
863  unsigned char stk1;
864  unsigned char stk2;
865  stk2 = *D ^ S;
866  stk1 = T | stk2;
867  stk1 = ~stk1;
868  *D = stk1;
869}
870
871/* TDSxon source opaque/pattern transparent. */
872static void rop3_9_0_1 (unsigned char *D, unsigned char S, unsigned char T)
873{
874  unsigned char stk1;
875  unsigned char stk2;
876  stk2 = *D ^ S;
877  stk1 = T | stk2;
878  stk1 = ~stk1;
879  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
880}
881
882/* TDSxon source transparent/pattern opaque. */
883static void rop3_9_1_0 (unsigned char *D, unsigned char S, unsigned char T)
884{
885  unsigned char stk1;
886  unsigned char stk2;
887  stk2 = *D ^ S;
888  stk1 = T | stk2;
889  stk1 = ~stk1;
890  *D = (stk1 & (~S)) | (*D & S);
891}
892
893/* TDSxon source/pattern transparent. */
894static void rop3_9_1_1 (unsigned char *D, unsigned char S, unsigned char T)
895{
896  unsigned char stk1;
897  unsigned char stk2;
898  stk2 = *D ^ S;
899  stk1 = T | stk2;
900  stk1 = ~stk1;
901  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
902}
903
904/* TDSxon source/pattern opaque. */
905static unsigned xrop3_9_0_0 (unsigned char s, unsigned char t)
906{
907  unsigned D = 0x00ff;
908  unsigned S = ((unsigned)s << 8) | s;
909  unsigned T = ((unsigned)t << 8) | t;
910  unsigned stk1;
911  unsigned stk2;
912  stk2 = D ^ S;
913  stk1 = T | stk2;
914  stk1 = ~stk1;
915  return stk1;
916}
917
918/* TDSxon source opaque/pattern transparent. */
919static unsigned xrop3_9_0_1 (unsigned char s, unsigned char t)
920{
921  unsigned D = 0x00ff;
922  unsigned S = ((unsigned)s << 8) | s;
923  unsigned T = ((unsigned)t << 8) | t;
924  unsigned stk1;
925  unsigned stk2;
926  stk2 = D ^ S;
927  stk1 = T | stk2;
928  stk1 = ~stk1;
929  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
930}
931
932/* TDSxon source transparent/pattern opaque. */
933static unsigned xrop3_9_1_0 (unsigned char s, unsigned char t)
934{
935  unsigned D = 0x00ff;
936  unsigned S = ((unsigned)s << 8) | s;
937  unsigned T = ((unsigned)t << 8) | t;
938  unsigned stk1;
939  unsigned stk2;
940  stk2 = D ^ S;
941  stk1 = T | stk2;
942  stk1 = ~stk1;
943  return (stk1 & (~S)) | (D & S);
944}
945
946/* TDSxon source/pattern transparent. */
947static unsigned xrop3_9_1_1 (unsigned char s, unsigned char t)
948{
949  unsigned D = 0x00ff;
950  unsigned S = ((unsigned)s << 8) | s;
951  unsigned T = ((unsigned)t << 8) | t;
952  unsigned stk1;
953  unsigned stk2;
954  stk2 = D ^ S;
955  stk1 = T | stk2;
956  stk1 = ~stk1;
957  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
958}
959
960/* DTna source/pattern opaque. */
961static void rop3_10_0_0 (unsigned char *D, unsigned char S, unsigned char T)
962{
963  unsigned char stk1;
964  unsigned char stk2;
965  stk2 = ~T;
966  stk1 = *D & stk2;
967  *D = stk1;
968}
969
970/* DTna source opaque/pattern transparent. */
971static void rop3_10_0_1 (unsigned char *D, unsigned char S, unsigned char T)
972{
973  unsigned char stk1;
974  unsigned char stk2;
975  stk2 = ~T;
976  stk1 = *D & stk2;
977  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
978}
979
980/* DTna source transparent/pattern opaque. */
981static void rop3_10_1_0 (unsigned char *D, unsigned char S, unsigned char T)
982{
983  unsigned char stk1;
984  unsigned char stk2;
985  stk2 = ~T;
986  stk1 = *D & stk2;
987  *D = (stk1 & (~S)) | (*D & S);
988}
989
990/* DTna source/pattern transparent. */
991static void rop3_10_1_1 (unsigned char *D, unsigned char S, unsigned char T)
992{
993  unsigned char stk1;
994  unsigned char stk2;
995  stk2 = ~T;
996  stk1 = *D & stk2;
997  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
998}
999
1000/* DTna source/pattern opaque. */
1001static unsigned xrop3_10_0_0 (unsigned char s, unsigned char t)
1002{
1003  unsigned D = 0x00ff;
1004  unsigned T = ((unsigned)t << 8) | t;
1005  unsigned stk1;
1006  unsigned stk2;
1007  stk2 = ~T;
1008  stk1 = D & stk2;
1009  return stk1;
1010}
1011
1012/* DTna source opaque/pattern transparent. */
1013static unsigned xrop3_10_0_1 (unsigned char s, unsigned char t)
1014{
1015  unsigned D = 0x00ff;
1016  unsigned S = ((unsigned)s << 8) | s;
1017  unsigned T = ((unsigned)t << 8) | t;
1018  unsigned stk1;
1019  unsigned stk2;
1020  stk2 = ~T;
1021  stk1 = D & stk2;
1022  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1023}
1024
1025/* DTna source transparent/pattern opaque. */
1026static unsigned xrop3_10_1_0 (unsigned char s, unsigned char t)
1027{
1028  unsigned D = 0x00ff;
1029  unsigned S = ((unsigned)s << 8) | s;
1030  unsigned T = ((unsigned)t << 8) | t;
1031  unsigned stk1;
1032  unsigned stk2;
1033  stk2 = ~T;
1034  stk1 = D & stk2;
1035  return (stk1 & (~S)) | (D & S);
1036}
1037
1038/* DTna source/pattern transparent. */
1039static unsigned xrop3_10_1_1 (unsigned char s, unsigned char t)
1040{
1041  unsigned D = 0x00ff;
1042  unsigned S = ((unsigned)s << 8) | s;
1043  unsigned T = ((unsigned)t << 8) | t;
1044  unsigned stk1;
1045  unsigned stk2;
1046  stk2 = ~T;
1047  stk1 = D & stk2;
1048  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1049}
1050
1051/* TSDnaon source/pattern opaque. */
1052static void rop3_11_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1053{
1054  unsigned char stk1;
1055  unsigned char stk2;
1056  unsigned char stk3;
1057  stk3 = ~*D;
1058  stk2 = S & stk3;
1059  stk1 = T | stk2;
1060  stk1 = ~stk1;
1061  *D = stk1;
1062}
1063
1064/* TSDnaon source opaque/pattern transparent. */
1065static void rop3_11_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1066{
1067  unsigned char stk1;
1068  unsigned char stk2;
1069  unsigned char stk3;
1070  stk3 = ~*D;
1071  stk2 = S & stk3;
1072  stk1 = T | stk2;
1073  stk1 = ~stk1;
1074  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1075}
1076
1077/* TSDnaon source transparent/pattern opaque. */
1078static void rop3_11_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1079{
1080  unsigned char stk1;
1081  unsigned char stk2;
1082  unsigned char stk3;
1083  stk3 = ~*D;
1084  stk2 = S & stk3;
1085  stk1 = T | stk2;
1086  stk1 = ~stk1;
1087  *D = (stk1 & (~S)) | (*D & S);
1088}
1089
1090/* TSDnaon source/pattern transparent. */
1091static void rop3_11_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1092{
1093  unsigned char stk1;
1094  unsigned char stk2;
1095  unsigned char stk3;
1096  stk3 = ~*D;
1097  stk2 = S & stk3;
1098  stk1 = T | stk2;
1099  stk1 = ~stk1;
1100  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1101}
1102
1103/* TSDnaon source/pattern opaque. */
1104static unsigned xrop3_11_0_0 (unsigned char s, unsigned char t)
1105{
1106  unsigned D = 0x00ff;
1107  unsigned S = ((unsigned)s << 8) | s;
1108  unsigned T = ((unsigned)t << 8) | t;
1109  unsigned stk1;
1110  unsigned stk2;
1111  unsigned stk3;
1112  stk3 = ~D;
1113  stk2 = S & stk3;
1114  stk1 = T | stk2;
1115  stk1 = ~stk1;
1116  return stk1;
1117}
1118
1119/* TSDnaon source opaque/pattern transparent. */
1120static unsigned xrop3_11_0_1 (unsigned char s, unsigned char t)
1121{
1122  unsigned D = 0x00ff;
1123  unsigned S = ((unsigned)s << 8) | s;
1124  unsigned T = ((unsigned)t << 8) | t;
1125  unsigned stk1;
1126  unsigned stk2;
1127  unsigned stk3;
1128  stk3 = ~D;
1129  stk2 = S & stk3;
1130  stk1 = T | stk2;
1131  stk1 = ~stk1;
1132  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1133}
1134
1135/* TSDnaon source transparent/pattern opaque. */
1136static unsigned xrop3_11_1_0 (unsigned char s, unsigned char t)
1137{
1138  unsigned D = 0x00ff;
1139  unsigned S = ((unsigned)s << 8) | s;
1140  unsigned T = ((unsigned)t << 8) | t;
1141  unsigned stk1;
1142  unsigned stk2;
1143  unsigned stk3;
1144  stk3 = ~D;
1145  stk2 = S & stk3;
1146  stk1 = T | stk2;
1147  stk1 = ~stk1;
1148  return (stk1 & (~S)) | (D & S);
1149}
1150
1151/* TSDnaon source/pattern transparent. */
1152static unsigned xrop3_11_1_1 (unsigned char s, unsigned char t)
1153{
1154  unsigned D = 0x00ff;
1155  unsigned S = ((unsigned)s << 8) | s;
1156  unsigned T = ((unsigned)t << 8) | t;
1157  unsigned stk1;
1158  unsigned stk2;
1159  unsigned stk3;
1160  stk3 = ~D;
1161  stk2 = S & stk3;
1162  stk1 = T | stk2;
1163  stk1 = ~stk1;
1164  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1165}
1166
1167/* STna source/pattern opaque. */
1168static void rop3_12_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1169{
1170  unsigned char stk1;
1171  unsigned char stk2;
1172  stk2 = ~T;
1173  stk1 = S & stk2;
1174  *D = stk1;
1175}
1176
1177/* STna source opaque/pattern transparent. */
1178static void rop3_12_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1179{
1180  unsigned char stk1;
1181  unsigned char stk2;
1182  stk2 = ~T;
1183  stk1 = S & stk2;
1184  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1185}
1186
1187/* STna source transparent/pattern opaque. */
1188static void rop3_12_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1189{
1190  unsigned char stk1;
1191  unsigned char stk2;
1192  stk2 = ~T;
1193  stk1 = S & stk2;
1194  *D = (stk1 & (~S)) | (*D & S);
1195}
1196
1197/* STna source/pattern transparent. */
1198static void rop3_12_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1199{
1200  unsigned char stk1;
1201  unsigned char stk2;
1202  stk2 = ~T;
1203  stk1 = S & stk2;
1204  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1205}
1206
1207/* STna source/pattern opaque. */
1208static unsigned xrop3_12_0_0 (unsigned char s, unsigned char t)
1209{
1210  unsigned S = ((unsigned)s << 8) | s;
1211  unsigned T = ((unsigned)t << 8) | t;
1212  unsigned stk1;
1213  unsigned stk2;
1214  stk2 = ~T;
1215  stk1 = S & stk2;
1216  return stk1;
1217}
1218
1219/* STna source opaque/pattern transparent. */
1220static unsigned xrop3_12_0_1 (unsigned char s, unsigned char t)
1221{
1222  unsigned D = 0x00ff;
1223  unsigned S = ((unsigned)s << 8) | s;
1224  unsigned T = ((unsigned)t << 8) | t;
1225  unsigned stk1;
1226  unsigned stk2;
1227  stk2 = ~T;
1228  stk1 = S & stk2;
1229  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1230}
1231
1232/* STna source transparent/pattern opaque. */
1233static unsigned xrop3_12_1_0 (unsigned char s, unsigned char t)
1234{
1235  unsigned D = 0x00ff;
1236  unsigned S = ((unsigned)s << 8) | s;
1237  unsigned T = ((unsigned)t << 8) | t;
1238  unsigned stk1;
1239  unsigned stk2;
1240  stk2 = ~T;
1241  stk1 = S & stk2;
1242  return (stk1 & (~S)) | (D & S);
1243}
1244
1245/* STna source/pattern transparent. */
1246static unsigned xrop3_12_1_1 (unsigned char s, unsigned char t)
1247{
1248  unsigned D = 0x00ff;
1249  unsigned S = ((unsigned)s << 8) | s;
1250  unsigned T = ((unsigned)t << 8) | t;
1251  unsigned stk1;
1252  unsigned stk2;
1253  stk2 = ~T;
1254  stk1 = S & stk2;
1255  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1256}
1257
1258/* TDSnaon source/pattern opaque. */
1259static void rop3_13_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1260{
1261  unsigned char stk1;
1262  unsigned char stk2;
1263  unsigned char stk3;
1264  stk3 = ~S;
1265  stk2 = *D & stk3;
1266  stk1 = T | stk2;
1267  stk1 = ~stk1;
1268  *D = stk1;
1269}
1270
1271/* TDSnaon source opaque/pattern transparent. */
1272static void rop3_13_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1273{
1274  unsigned char stk1;
1275  unsigned char stk2;
1276  unsigned char stk3;
1277  stk3 = ~S;
1278  stk2 = *D & stk3;
1279  stk1 = T | stk2;
1280  stk1 = ~stk1;
1281  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1282}
1283
1284/* TDSnaon source transparent/pattern opaque. */
1285static void rop3_13_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1286{
1287  unsigned char stk1;
1288  unsigned char stk2;
1289  unsigned char stk3;
1290  stk3 = ~S;
1291  stk2 = *D & stk3;
1292  stk1 = T | stk2;
1293  stk1 = ~stk1;
1294  *D = (stk1 & (~S)) | (*D & S);
1295}
1296
1297/* TDSnaon source/pattern transparent. */
1298static void rop3_13_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1299{
1300  unsigned char stk1;
1301  unsigned char stk2;
1302  unsigned char stk3;
1303  stk3 = ~S;
1304  stk2 = *D & stk3;
1305  stk1 = T | stk2;
1306  stk1 = ~stk1;
1307  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1308}
1309
1310/* TDSnaon source/pattern opaque. */
1311static unsigned xrop3_13_0_0 (unsigned char s, unsigned char t)
1312{
1313  unsigned D = 0x00ff;
1314  unsigned S = ((unsigned)s << 8) | s;
1315  unsigned T = ((unsigned)t << 8) | t;
1316  unsigned stk1;
1317  unsigned stk2;
1318  unsigned stk3;
1319  stk3 = ~S;
1320  stk2 = D & stk3;
1321  stk1 = T | stk2;
1322  stk1 = ~stk1;
1323  return stk1;
1324}
1325
1326/* TDSnaon source opaque/pattern transparent. */
1327static unsigned xrop3_13_0_1 (unsigned char s, unsigned char t)
1328{
1329  unsigned D = 0x00ff;
1330  unsigned S = ((unsigned)s << 8) | s;
1331  unsigned T = ((unsigned)t << 8) | t;
1332  unsigned stk1;
1333  unsigned stk2;
1334  unsigned stk3;
1335  stk3 = ~S;
1336  stk2 = D & stk3;
1337  stk1 = T | stk2;
1338  stk1 = ~stk1;
1339  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1340}
1341
1342/* TDSnaon source transparent/pattern opaque. */
1343static unsigned xrop3_13_1_0 (unsigned char s, unsigned char t)
1344{
1345  unsigned D = 0x00ff;
1346  unsigned S = ((unsigned)s << 8) | s;
1347  unsigned T = ((unsigned)t << 8) | t;
1348  unsigned stk1;
1349  unsigned stk2;
1350  unsigned stk3;
1351  stk3 = ~S;
1352  stk2 = D & stk3;
1353  stk1 = T | stk2;
1354  stk1 = ~stk1;
1355  return (stk1 & (~S)) | (D & S);
1356}
1357
1358/* TDSnaon source/pattern transparent. */
1359static unsigned xrop3_13_1_1 (unsigned char s, unsigned char t)
1360{
1361  unsigned D = 0x00ff;
1362  unsigned S = ((unsigned)s << 8) | s;
1363  unsigned T = ((unsigned)t << 8) | t;
1364  unsigned stk1;
1365  unsigned stk2;
1366  unsigned stk3;
1367  stk3 = ~S;
1368  stk2 = D & stk3;
1369  stk1 = T | stk2;
1370  stk1 = ~stk1;
1371  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1372}
1373
1374/* TDSonon source/pattern opaque. */
1375static void rop3_14_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1376{
1377  unsigned char stk1;
1378  unsigned char stk2;
1379  stk2 = *D | S;
1380  stk2 = ~stk2;
1381  stk1 = T | stk2;
1382  stk1 = ~stk1;
1383  *D = stk1;
1384}
1385
1386/* TDSonon source opaque/pattern transparent. */
1387static void rop3_14_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1388{
1389  unsigned char stk1;
1390  unsigned char stk2;
1391  stk2 = *D | S;
1392  stk2 = ~stk2;
1393  stk1 = T | stk2;
1394  stk1 = ~stk1;
1395  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1396}
1397
1398/* TDSonon source transparent/pattern opaque. */
1399static void rop3_14_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1400{
1401  unsigned char stk1;
1402  unsigned char stk2;
1403  stk2 = *D | S;
1404  stk2 = ~stk2;
1405  stk1 = T | stk2;
1406  stk1 = ~stk1;
1407  *D = (stk1 & (~S)) | (*D & S);
1408}
1409
1410/* TDSonon source/pattern transparent. */
1411static void rop3_14_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1412{
1413  unsigned char stk1;
1414  unsigned char stk2;
1415  stk2 = *D | S;
1416  stk2 = ~stk2;
1417  stk1 = T | stk2;
1418  stk1 = ~stk1;
1419  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1420}
1421
1422/* TDSonon source/pattern opaque. */
1423static unsigned xrop3_14_0_0 (unsigned char s, unsigned char t)
1424{
1425  unsigned D = 0x00ff;
1426  unsigned S = ((unsigned)s << 8) | s;
1427  unsigned T = ((unsigned)t << 8) | t;
1428  unsigned stk1;
1429  unsigned stk2;
1430  stk2 = D | S;
1431  stk2 = ~stk2;
1432  stk1 = T | stk2;
1433  stk1 = ~stk1;
1434  return stk1;
1435}
1436
1437/* TDSonon source opaque/pattern transparent. */
1438static unsigned xrop3_14_0_1 (unsigned char s, unsigned char t)
1439{
1440  unsigned D = 0x00ff;
1441  unsigned S = ((unsigned)s << 8) | s;
1442  unsigned T = ((unsigned)t << 8) | t;
1443  unsigned stk1;
1444  unsigned stk2;
1445  stk2 = D | S;
1446  stk2 = ~stk2;
1447  stk1 = T | stk2;
1448  stk1 = ~stk1;
1449  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1450}
1451
1452/* TDSonon source transparent/pattern opaque. */
1453static unsigned xrop3_14_1_0 (unsigned char s, unsigned char t)
1454{
1455  unsigned D = 0x00ff;
1456  unsigned S = ((unsigned)s << 8) | s;
1457  unsigned T = ((unsigned)t << 8) | t;
1458  unsigned stk1;
1459  unsigned stk2;
1460  stk2 = D | S;
1461  stk2 = ~stk2;
1462  stk1 = T | stk2;
1463  stk1 = ~stk1;
1464  return (stk1 & (~S)) | (D & S);
1465}
1466
1467/* TDSonon source/pattern transparent. */
1468static unsigned xrop3_14_1_1 (unsigned char s, unsigned char t)
1469{
1470  unsigned D = 0x00ff;
1471  unsigned S = ((unsigned)s << 8) | s;
1472  unsigned T = ((unsigned)t << 8) | t;
1473  unsigned stk1;
1474  unsigned stk2;
1475  stk2 = D | S;
1476  stk2 = ~stk2;
1477  stk1 = T | stk2;
1478  stk1 = ~stk1;
1479  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1480}
1481
1482/* Tn source/pattern opaque. */
1483static void rop3_15_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1484{
1485  unsigned char stk1;
1486  stk1 = ~T;
1487  *D = stk1;
1488}
1489
1490/* Tn source opaque/pattern transparent. */
1491static void rop3_15_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1492{
1493  unsigned char stk1;
1494  stk1 = ~T;
1495  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1496}
1497
1498/* Tn source transparent/pattern opaque. */
1499static void rop3_15_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1500{
1501  unsigned char stk1;
1502  stk1 = ~T;
1503  *D = (stk1 & (~S)) | (*D & S);
1504}
1505
1506/* Tn source/pattern transparent. */
1507static void rop3_15_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1508{
1509  unsigned char stk1;
1510  stk1 = ~T;
1511  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1512}
1513
1514/* Tn source/pattern opaque. */
1515static unsigned xrop3_15_0_0 (unsigned char s, unsigned char t)
1516{
1517  unsigned T = ((unsigned)t << 8) | t;
1518  unsigned stk1;
1519  stk1 = ~T;
1520  return stk1;
1521}
1522
1523/* Tn source opaque/pattern transparent. */
1524static unsigned xrop3_15_0_1 (unsigned char s, unsigned char t)
1525{
1526  unsigned D = 0x00ff;
1527  unsigned S = ((unsigned)s << 8) | s;
1528  unsigned T = ((unsigned)t << 8) | t;
1529  unsigned stk1;
1530  stk1 = ~T;
1531  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1532}
1533
1534/* Tn source transparent/pattern opaque. */
1535static unsigned xrop3_15_1_0 (unsigned char s, unsigned char t)
1536{
1537  unsigned D = 0x00ff;
1538  unsigned S = ((unsigned)s << 8) | s;
1539  unsigned T = ((unsigned)t << 8) | t;
1540  unsigned stk1;
1541  stk1 = ~T;
1542  return (stk1 & (~S)) | (D & S);
1543}
1544
1545/* Tn source/pattern transparent. */
1546static unsigned xrop3_15_1_1 (unsigned char s, unsigned char t)
1547{
1548  unsigned D = 0x00ff;
1549  unsigned S = ((unsigned)s << 8) | s;
1550  unsigned T = ((unsigned)t << 8) | t;
1551  unsigned stk1;
1552  stk1 = ~T;
1553  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1554}
1555
1556/* TDSona source/pattern opaque. */
1557static void rop3_16_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1558{
1559  unsigned char stk1;
1560  unsigned char stk2;
1561  stk2 = *D | S;
1562  stk2 = ~stk2;
1563  stk1 = T & stk2;
1564  *D = stk1;
1565}
1566
1567/* TDSona source opaque/pattern transparent. */
1568static void rop3_16_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1569{
1570  unsigned char stk1;
1571  unsigned char stk2;
1572  stk2 = *D | S;
1573  stk2 = ~stk2;
1574  stk1 = T & stk2;
1575  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1576}
1577
1578/* TDSona source transparent/pattern opaque. */
1579static void rop3_16_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1580{
1581  unsigned char stk1;
1582  unsigned char stk2;
1583  stk2 = *D | S;
1584  stk2 = ~stk2;
1585  stk1 = T & stk2;
1586  *D = (stk1 & (~S)) | (*D & S);
1587}
1588
1589/* TDSona source/pattern transparent. */
1590static void rop3_16_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1591{
1592  unsigned char stk1;
1593  unsigned char stk2;
1594  stk2 = *D | S;
1595  stk2 = ~stk2;
1596  stk1 = T & stk2;
1597  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1598}
1599
1600/* TDSona source/pattern opaque. */
1601static unsigned xrop3_16_0_0 (unsigned char s, unsigned char t)
1602{
1603  unsigned D = 0x00ff;
1604  unsigned S = ((unsigned)s << 8) | s;
1605  unsigned T = ((unsigned)t << 8) | t;
1606  unsigned stk1;
1607  unsigned stk2;
1608  stk2 = D | S;
1609  stk2 = ~stk2;
1610  stk1 = T & stk2;
1611  return stk1;
1612}
1613
1614/* TDSona source opaque/pattern transparent. */
1615static unsigned xrop3_16_0_1 (unsigned char s, unsigned char t)
1616{
1617  unsigned D = 0x00ff;
1618  unsigned S = ((unsigned)s << 8) | s;
1619  unsigned T = ((unsigned)t << 8) | t;
1620  unsigned stk1;
1621  unsigned stk2;
1622  stk2 = D | S;
1623  stk2 = ~stk2;
1624  stk1 = T & stk2;
1625  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1626}
1627
1628/* TDSona source transparent/pattern opaque. */
1629static unsigned xrop3_16_1_0 (unsigned char s, unsigned char t)
1630{
1631  unsigned D = 0x00ff;
1632  unsigned S = ((unsigned)s << 8) | s;
1633  unsigned T = ((unsigned)t << 8) | t;
1634  unsigned stk1;
1635  unsigned stk2;
1636  stk2 = D | S;
1637  stk2 = ~stk2;
1638  stk1 = T & stk2;
1639  return (stk1 & (~S)) | (D & S);
1640}
1641
1642/* TDSona source/pattern transparent. */
1643static unsigned xrop3_16_1_1 (unsigned char s, unsigned char t)
1644{
1645  unsigned D = 0x00ff;
1646  unsigned S = ((unsigned)s << 8) | s;
1647  unsigned T = ((unsigned)t << 8) | t;
1648  unsigned stk1;
1649  unsigned stk2;
1650  stk2 = D | S;
1651  stk2 = ~stk2;
1652  stk1 = T & stk2;
1653  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1654}
1655
1656/* DSon source/pattern opaque. */
1657static void rop3_17_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1658{
1659  unsigned char stk1;
1660  stk1 = *D | S;
1661  stk1 = ~stk1;
1662  *D = stk1;
1663}
1664
1665/* DSon source opaque/pattern transparent. */
1666static void rop3_17_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1667{
1668  unsigned char stk1;
1669  stk1 = *D | S;
1670  stk1 = ~stk1;
1671  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1672}
1673
1674/* DSon source transparent/pattern opaque. */
1675static void rop3_17_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1676{
1677  unsigned char stk1;
1678  stk1 = *D | S;
1679  stk1 = ~stk1;
1680  *D = (stk1 & (~S)) | (*D & S);
1681}
1682
1683/* DSon source/pattern transparent. */
1684static void rop3_17_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1685{
1686  unsigned char stk1;
1687  stk1 = *D | S;
1688  stk1 = ~stk1;
1689  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1690}
1691
1692/* DSon source/pattern opaque. */
1693static unsigned xrop3_17_0_0 (unsigned char s, unsigned char t)
1694{
1695  unsigned D = 0x00ff;
1696  unsigned S = ((unsigned)s << 8) | s;
1697  unsigned stk1;
1698  stk1 = D | S;
1699  stk1 = ~stk1;
1700  return stk1;
1701}
1702
1703/* DSon source opaque/pattern transparent. */
1704static unsigned xrop3_17_0_1 (unsigned char s, unsigned char t)
1705{
1706  unsigned D = 0x00ff;
1707  unsigned S = ((unsigned)s << 8) | s;
1708  unsigned T = ((unsigned)t << 8) | t;
1709  unsigned stk1;
1710  stk1 = D | S;
1711  stk1 = ~stk1;
1712  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1713}
1714
1715/* DSon source transparent/pattern opaque. */
1716static unsigned xrop3_17_1_0 (unsigned char s, unsigned char t)
1717{
1718  unsigned D = 0x00ff;
1719  unsigned S = ((unsigned)s << 8) | s;
1720  unsigned stk1;
1721  stk1 = D | S;
1722  stk1 = ~stk1;
1723  return (stk1 & (~S)) | (D & S);
1724}
1725
1726/* DSon source/pattern transparent. */
1727static unsigned xrop3_17_1_1 (unsigned char s, unsigned char t)
1728{
1729  unsigned D = 0x00ff;
1730  unsigned S = ((unsigned)s << 8) | s;
1731  unsigned T = ((unsigned)t << 8) | t;
1732  unsigned stk1;
1733  stk1 = D | S;
1734  stk1 = ~stk1;
1735  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1736}
1737
1738/* SDTxnon source/pattern opaque. */
1739static void rop3_18_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1740{
1741  unsigned char stk1;
1742  unsigned char stk2;
1743  stk2 = *D ^ T;
1744  stk2 = ~stk2;
1745  stk1 = S | stk2;
1746  stk1 = ~stk1;
1747  *D = stk1;
1748}
1749
1750/* SDTxnon source opaque/pattern transparent. */
1751static void rop3_18_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1752{
1753  unsigned char stk1;
1754  unsigned char stk2;
1755  stk2 = *D ^ T;
1756  stk2 = ~stk2;
1757  stk1 = S | stk2;
1758  stk1 = ~stk1;
1759  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1760}
1761
1762/* SDTxnon source transparent/pattern opaque. */
1763static void rop3_18_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1764{
1765  unsigned char stk1;
1766  unsigned char stk2;
1767  stk2 = *D ^ T;
1768  stk2 = ~stk2;
1769  stk1 = S | stk2;
1770  stk1 = ~stk1;
1771  *D = (stk1 & (~S)) | (*D & S);
1772}
1773
1774/* SDTxnon source/pattern transparent. */
1775static void rop3_18_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1776{
1777  unsigned char stk1;
1778  unsigned char stk2;
1779  stk2 = *D ^ T;
1780  stk2 = ~stk2;
1781  stk1 = S | stk2;
1782  stk1 = ~stk1;
1783  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1784}
1785
1786/* SDTxnon source/pattern opaque. */
1787static unsigned xrop3_18_0_0 (unsigned char s, unsigned char t)
1788{
1789  unsigned D = 0x00ff;
1790  unsigned S = ((unsigned)s << 8) | s;
1791  unsigned T = ((unsigned)t << 8) | t;
1792  unsigned stk1;
1793  unsigned stk2;
1794  stk2 = D ^ T;
1795  stk2 = ~stk2;
1796  stk1 = S | stk2;
1797  stk1 = ~stk1;
1798  return stk1;
1799}
1800
1801/* SDTxnon source opaque/pattern transparent. */
1802static unsigned xrop3_18_0_1 (unsigned char s, unsigned char t)
1803{
1804  unsigned D = 0x00ff;
1805  unsigned S = ((unsigned)s << 8) | s;
1806  unsigned T = ((unsigned)t << 8) | t;
1807  unsigned stk1;
1808  unsigned stk2;
1809  stk2 = D ^ T;
1810  stk2 = ~stk2;
1811  stk1 = S | stk2;
1812  stk1 = ~stk1;
1813  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1814}
1815
1816/* SDTxnon source transparent/pattern opaque. */
1817static unsigned xrop3_18_1_0 (unsigned char s, unsigned char t)
1818{
1819  unsigned D = 0x00ff;
1820  unsigned S = ((unsigned)s << 8) | s;
1821  unsigned T = ((unsigned)t << 8) | t;
1822  unsigned stk1;
1823  unsigned stk2;
1824  stk2 = D ^ T;
1825  stk2 = ~stk2;
1826  stk1 = S | stk2;
1827  stk1 = ~stk1;
1828  return (stk1 & (~S)) | (D & S);
1829}
1830
1831/* SDTxnon source/pattern transparent. */
1832static unsigned xrop3_18_1_1 (unsigned char s, unsigned char t)
1833{
1834  unsigned D = 0x00ff;
1835  unsigned S = ((unsigned)s << 8) | s;
1836  unsigned T = ((unsigned)t << 8) | t;
1837  unsigned stk1;
1838  unsigned stk2;
1839  stk2 = D ^ T;
1840  stk2 = ~stk2;
1841  stk1 = S | stk2;
1842  stk1 = ~stk1;
1843  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1844}
1845
1846/* SDTaon source/pattern opaque. */
1847static void rop3_19_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1848{
1849  unsigned char stk1;
1850  unsigned char stk2;
1851  stk2 = *D & T;
1852  stk1 = S | stk2;
1853  stk1 = ~stk1;
1854  *D = stk1;
1855}
1856
1857/* SDTaon source opaque/pattern transparent. */
1858static void rop3_19_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1859{
1860  unsigned char stk1;
1861  unsigned char stk2;
1862  stk2 = *D & T;
1863  stk1 = S | stk2;
1864  stk1 = ~stk1;
1865  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1866}
1867
1868/* SDTaon source transparent/pattern opaque. */
1869static void rop3_19_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1870{
1871  unsigned char stk1;
1872  unsigned char stk2;
1873  stk2 = *D & T;
1874  stk1 = S | stk2;
1875  stk1 = ~stk1;
1876  *D = (stk1 & (~S)) | (*D & S);
1877}
1878
1879/* SDTaon source/pattern transparent. */
1880static void rop3_19_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1881{
1882  unsigned char stk1;
1883  unsigned char stk2;
1884  stk2 = *D & T;
1885  stk1 = S | stk2;
1886  stk1 = ~stk1;
1887  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1888}
1889
1890/* SDTaon source/pattern opaque. */
1891static unsigned xrop3_19_0_0 (unsigned char s, unsigned char t)
1892{
1893  unsigned D = 0x00ff;
1894  unsigned S = ((unsigned)s << 8) | s;
1895  unsigned T = ((unsigned)t << 8) | t;
1896  unsigned stk1;
1897  unsigned stk2;
1898  stk2 = D & T;
1899  stk1 = S | stk2;
1900  stk1 = ~stk1;
1901  return stk1;
1902}
1903
1904/* SDTaon source opaque/pattern transparent. */
1905static unsigned xrop3_19_0_1 (unsigned char s, unsigned char t)
1906{
1907  unsigned D = 0x00ff;
1908  unsigned S = ((unsigned)s << 8) | s;
1909  unsigned T = ((unsigned)t << 8) | t;
1910  unsigned stk1;
1911  unsigned stk2;
1912  stk2 = D & T;
1913  stk1 = S | stk2;
1914  stk1 = ~stk1;
1915  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
1916}
1917
1918/* SDTaon source transparent/pattern opaque. */
1919static unsigned xrop3_19_1_0 (unsigned char s, unsigned char t)
1920{
1921  unsigned D = 0x00ff;
1922  unsigned S = ((unsigned)s << 8) | s;
1923  unsigned T = ((unsigned)t << 8) | t;
1924  unsigned stk1;
1925  unsigned stk2;
1926  stk2 = D & T;
1927  stk1 = S | stk2;
1928  stk1 = ~stk1;
1929  return (stk1 & (~S)) | (D & S);
1930}
1931
1932/* SDTaon source/pattern transparent. */
1933static unsigned xrop3_19_1_1 (unsigned char s, unsigned char t)
1934{
1935  unsigned D = 0x00ff;
1936  unsigned S = ((unsigned)s << 8) | s;
1937  unsigned T = ((unsigned)t << 8) | t;
1938  unsigned stk1;
1939  unsigned stk2;
1940  stk2 = D & T;
1941  stk1 = S | stk2;
1942  stk1 = ~stk1;
1943  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
1944}
1945
1946/* DTSxnon source/pattern opaque. */
1947static void rop3_20_0_0 (unsigned char *D, unsigned char S, unsigned char T)
1948{
1949  unsigned char stk1;
1950  unsigned char stk2;
1951  stk2 = T ^ S;
1952  stk2 = ~stk2;
1953  stk1 = *D | stk2;
1954  stk1 = ~stk1;
1955  *D = stk1;
1956}
1957
1958/* DTSxnon source opaque/pattern transparent. */
1959static void rop3_20_0_1 (unsigned char *D, unsigned char S, unsigned char T)
1960{
1961  unsigned char stk1;
1962  unsigned char stk2;
1963  stk2 = T ^ S;
1964  stk2 = ~stk2;
1965  stk1 = *D | stk2;
1966  stk1 = ~stk1;
1967  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
1968}
1969
1970/* DTSxnon source transparent/pattern opaque. */
1971static void rop3_20_1_0 (unsigned char *D, unsigned char S, unsigned char T)
1972{
1973  unsigned char stk1;
1974  unsigned char stk2;
1975  stk2 = T ^ S;
1976  stk2 = ~stk2;
1977  stk1 = *D | stk2;
1978  stk1 = ~stk1;
1979  *D = (stk1 & (~S)) | (*D & S);
1980}
1981
1982/* DTSxnon source/pattern transparent. */
1983static void rop3_20_1_1 (unsigned char *D, unsigned char S, unsigned char T)
1984{
1985  unsigned char stk1;
1986  unsigned char stk2;
1987  stk2 = T ^ S;
1988  stk2 = ~stk2;
1989  stk1 = *D | stk2;
1990  stk1 = ~stk1;
1991  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
1992}
1993
1994/* DTSxnon source/pattern opaque. */
1995static unsigned xrop3_20_0_0 (unsigned char s, unsigned char t)
1996{
1997  unsigned D = 0x00ff;
1998  unsigned S = ((unsigned)s << 8) | s;
1999  unsigned T = ((unsigned)t << 8) | t;
2000  unsigned stk1;
2001  unsigned stk2;
2002  stk2 = T ^ S;
2003  stk2 = ~stk2;
2004  stk1 = D | stk2;
2005  stk1 = ~stk1;
2006  return stk1;
2007}
2008
2009/* DTSxnon source opaque/pattern transparent. */
2010static unsigned xrop3_20_0_1 (unsigned char s, unsigned char t)
2011{
2012  unsigned D = 0x00ff;
2013  unsigned S = ((unsigned)s << 8) | s;
2014  unsigned T = ((unsigned)t << 8) | t;
2015  unsigned stk1;
2016  unsigned stk2;
2017  stk2 = T ^ S;
2018  stk2 = ~stk2;
2019  stk1 = D | stk2;
2020  stk1 = ~stk1;
2021  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2022}
2023
2024/* DTSxnon source transparent/pattern opaque. */
2025static unsigned xrop3_20_1_0 (unsigned char s, unsigned char t)
2026{
2027  unsigned D = 0x00ff;
2028  unsigned S = ((unsigned)s << 8) | s;
2029  unsigned T = ((unsigned)t << 8) | t;
2030  unsigned stk1;
2031  unsigned stk2;
2032  stk2 = T ^ S;
2033  stk2 = ~stk2;
2034  stk1 = D | stk2;
2035  stk1 = ~stk1;
2036  return (stk1 & (~S)) | (D & S);
2037}
2038
2039/* DTSxnon source/pattern transparent. */
2040static unsigned xrop3_20_1_1 (unsigned char s, unsigned char t)
2041{
2042  unsigned D = 0x00ff;
2043  unsigned S = ((unsigned)s << 8) | s;
2044  unsigned T = ((unsigned)t << 8) | t;
2045  unsigned stk1;
2046  unsigned stk2;
2047  stk2 = T ^ S;
2048  stk2 = ~stk2;
2049  stk1 = D | stk2;
2050  stk1 = ~stk1;
2051  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2052}
2053
2054/* DTSaon source/pattern opaque. */
2055static void rop3_21_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2056{
2057  unsigned char stk1;
2058  unsigned char stk2;
2059  stk2 = T & S;
2060  stk1 = *D | stk2;
2061  stk1 = ~stk1;
2062  *D = stk1;
2063}
2064
2065/* DTSaon source opaque/pattern transparent. */
2066static void rop3_21_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2067{
2068  unsigned char stk1;
2069  unsigned char stk2;
2070  stk2 = T & S;
2071  stk1 = *D | stk2;
2072  stk1 = ~stk1;
2073  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2074}
2075
2076/* DTSaon source transparent/pattern opaque. */
2077static void rop3_21_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2078{
2079  unsigned char stk1;
2080  unsigned char stk2;
2081  stk2 = T & S;
2082  stk1 = *D | stk2;
2083  stk1 = ~stk1;
2084  *D = (stk1 & (~S)) | (*D & S);
2085}
2086
2087/* DTSaon source/pattern transparent. */
2088static void rop3_21_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2089{
2090  unsigned char stk1;
2091  unsigned char stk2;
2092  stk2 = T & S;
2093  stk1 = *D | stk2;
2094  stk1 = ~stk1;
2095  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2096}
2097
2098/* DTSaon source/pattern opaque. */
2099static unsigned xrop3_21_0_0 (unsigned char s, unsigned char t)
2100{
2101  unsigned D = 0x00ff;
2102  unsigned S = ((unsigned)s << 8) | s;
2103  unsigned T = ((unsigned)t << 8) | t;
2104  unsigned stk1;
2105  unsigned stk2;
2106  stk2 = T & S;
2107  stk1 = D | stk2;
2108  stk1 = ~stk1;
2109  return stk1;
2110}
2111
2112/* DTSaon source opaque/pattern transparent. */
2113static unsigned xrop3_21_0_1 (unsigned char s, unsigned char t)
2114{
2115  unsigned D = 0x00ff;
2116  unsigned S = ((unsigned)s << 8) | s;
2117  unsigned T = ((unsigned)t << 8) | t;
2118  unsigned stk1;
2119  unsigned stk2;
2120  stk2 = T & S;
2121  stk1 = D | stk2;
2122  stk1 = ~stk1;
2123  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2124}
2125
2126/* DTSaon source transparent/pattern opaque. */
2127static unsigned xrop3_21_1_0 (unsigned char s, unsigned char t)
2128{
2129  unsigned D = 0x00ff;
2130  unsigned S = ((unsigned)s << 8) | s;
2131  unsigned T = ((unsigned)t << 8) | t;
2132  unsigned stk1;
2133  unsigned stk2;
2134  stk2 = T & S;
2135  stk1 = D | stk2;
2136  stk1 = ~stk1;
2137  return (stk1 & (~S)) | (D & S);
2138}
2139
2140/* DTSaon source/pattern transparent. */
2141static unsigned xrop3_21_1_1 (unsigned char s, unsigned char t)
2142{
2143  unsigned D = 0x00ff;
2144  unsigned S = ((unsigned)s << 8) | s;
2145  unsigned T = ((unsigned)t << 8) | t;
2146  unsigned stk1;
2147  unsigned stk2;
2148  stk2 = T & S;
2149  stk1 = D | stk2;
2150  stk1 = ~stk1;
2151  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2152}
2153
2154/* TSDTSanaxx source/pattern opaque. */
2155static void rop3_22_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2156{
2157  unsigned char stk1;
2158  unsigned char stk2;
2159  unsigned char stk3;
2160  unsigned char stk4;
2161  stk4 = T & S;
2162  stk4 = ~stk4;
2163  stk3 = *D & stk4;
2164  stk2 = S ^ stk3;
2165  stk1 = T ^ stk2;
2166  *D = stk1;
2167}
2168
2169/* TSDTSanaxx source opaque/pattern transparent. */
2170static void rop3_22_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2171{
2172  unsigned char stk1;
2173  unsigned char stk2;
2174  unsigned char stk3;
2175  unsigned char stk4;
2176  stk4 = T & S;
2177  stk4 = ~stk4;
2178  stk3 = *D & stk4;
2179  stk2 = S ^ stk3;
2180  stk1 = T ^ stk2;
2181  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2182}
2183
2184/* TSDTSanaxx source transparent/pattern opaque. */
2185static void rop3_22_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2186{
2187  unsigned char stk1;
2188  unsigned char stk2;
2189  unsigned char stk3;
2190  unsigned char stk4;
2191  stk4 = T & S;
2192  stk4 = ~stk4;
2193  stk3 = *D & stk4;
2194  stk2 = S ^ stk3;
2195  stk1 = T ^ stk2;
2196  *D = (stk1 & (~S)) | (*D & S);
2197}
2198
2199/* TSDTSanaxx source/pattern transparent. */
2200static void rop3_22_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2201{
2202  unsigned char stk1;
2203  unsigned char stk2;
2204  unsigned char stk3;
2205  unsigned char stk4;
2206  stk4 = T & S;
2207  stk4 = ~stk4;
2208  stk3 = *D & stk4;
2209  stk2 = S ^ stk3;
2210  stk1 = T ^ stk2;
2211  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2212}
2213
2214/* TSDTSanaxx source/pattern opaque. */
2215static unsigned xrop3_22_0_0 (unsigned char s, unsigned char t)
2216{
2217  unsigned D = 0x00ff;
2218  unsigned S = ((unsigned)s << 8) | s;
2219  unsigned T = ((unsigned)t << 8) | t;
2220  unsigned stk1;
2221  unsigned stk2;
2222  unsigned stk3;
2223  unsigned stk4;
2224  stk4 = T & S;
2225  stk4 = ~stk4;
2226  stk3 = D & stk4;
2227  stk2 = S ^ stk3;
2228  stk1 = T ^ stk2;
2229  return stk1;
2230}
2231
2232/* TSDTSanaxx source opaque/pattern transparent. */
2233static unsigned xrop3_22_0_1 (unsigned char s, unsigned char t)
2234{
2235  unsigned D = 0x00ff;
2236  unsigned S = ((unsigned)s << 8) | s;
2237  unsigned T = ((unsigned)t << 8) | t;
2238  unsigned stk1;
2239  unsigned stk2;
2240  unsigned stk3;
2241  unsigned stk4;
2242  stk4 = T & S;
2243  stk4 = ~stk4;
2244  stk3 = D & stk4;
2245  stk2 = S ^ stk3;
2246  stk1 = T ^ stk2;
2247  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2248}
2249
2250/* TSDTSanaxx source transparent/pattern opaque. */
2251static unsigned xrop3_22_1_0 (unsigned char s, unsigned char t)
2252{
2253  unsigned D = 0x00ff;
2254  unsigned S = ((unsigned)s << 8) | s;
2255  unsigned T = ((unsigned)t << 8) | t;
2256  unsigned stk1;
2257  unsigned stk2;
2258  unsigned stk3;
2259  unsigned stk4;
2260  stk4 = T & S;
2261  stk4 = ~stk4;
2262  stk3 = D & stk4;
2263  stk2 = S ^ stk3;
2264  stk1 = T ^ stk2;
2265  return (stk1 & (~S)) | (D & S);
2266}
2267
2268/* TSDTSanaxx source/pattern transparent. */
2269static unsigned xrop3_22_1_1 (unsigned char s, unsigned char t)
2270{
2271  unsigned D = 0x00ff;
2272  unsigned S = ((unsigned)s << 8) | s;
2273  unsigned T = ((unsigned)t << 8) | t;
2274  unsigned stk1;
2275  unsigned stk2;
2276  unsigned stk3;
2277  unsigned stk4;
2278  stk4 = T & S;
2279  stk4 = ~stk4;
2280  stk3 = D & stk4;
2281  stk2 = S ^ stk3;
2282  stk1 = T ^ stk2;
2283  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2284}
2285
2286/* SSTxDSxaxn source/pattern opaque. */
2287static void rop3_23_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2288{
2289  unsigned char stk1;
2290  unsigned char stk2;
2291  unsigned char stk3;
2292  stk2 = S ^ T;
2293  stk3 = *D ^ S;
2294  stk2 = stk2 & stk3;
2295  stk1 = S ^ stk2;
2296  stk1 = ~stk1;
2297  *D = stk1;
2298}
2299
2300/* SSTxDSxaxn source opaque/pattern transparent. */
2301static void rop3_23_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2302{
2303  unsigned char stk1;
2304  unsigned char stk2;
2305  unsigned char stk3;
2306  stk2 = S ^ T;
2307  stk3 = *D ^ S;
2308  stk2 = stk2 & stk3;
2309  stk1 = S ^ stk2;
2310  stk1 = ~stk1;
2311  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2312}
2313
2314/* SSTxDSxaxn source transparent/pattern opaque. */
2315static void rop3_23_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2316{
2317  unsigned char stk1;
2318  unsigned char stk2;
2319  unsigned char stk3;
2320  stk2 = S ^ T;
2321  stk3 = *D ^ S;
2322  stk2 = stk2 & stk3;
2323  stk1 = S ^ stk2;
2324  stk1 = ~stk1;
2325  *D = (stk1 & (~S)) | (*D & S);
2326}
2327
2328/* SSTxDSxaxn source/pattern transparent. */
2329static void rop3_23_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2330{
2331  unsigned char stk1;
2332  unsigned char stk2;
2333  unsigned char stk3;
2334  stk2 = S ^ T;
2335  stk3 = *D ^ S;
2336  stk2 = stk2 & stk3;
2337  stk1 = S ^ stk2;
2338  stk1 = ~stk1;
2339  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2340}
2341
2342/* SSTxDSxaxn source/pattern opaque. */
2343static unsigned xrop3_23_0_0 (unsigned char s, unsigned char t)
2344{
2345  unsigned D = 0x00ff;
2346  unsigned S = ((unsigned)s << 8) | s;
2347  unsigned T = ((unsigned)t << 8) | t;
2348  unsigned stk1;
2349  unsigned stk2;
2350  unsigned stk3;
2351  stk2 = S ^ T;
2352  stk3 = D ^ S;
2353  stk2 = stk2 & stk3;
2354  stk1 = S ^ stk2;
2355  stk1 = ~stk1;
2356  return stk1;
2357}
2358
2359/* SSTxDSxaxn source opaque/pattern transparent. */
2360static unsigned xrop3_23_0_1 (unsigned char s, unsigned char t)
2361{
2362  unsigned D = 0x00ff;
2363  unsigned S = ((unsigned)s << 8) | s;
2364  unsigned T = ((unsigned)t << 8) | t;
2365  unsigned stk1;
2366  unsigned stk2;
2367  unsigned stk3;
2368  stk2 = S ^ T;
2369  stk3 = D ^ S;
2370  stk2 = stk2 & stk3;
2371  stk1 = S ^ stk2;
2372  stk1 = ~stk1;
2373  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2374}
2375
2376/* SSTxDSxaxn source transparent/pattern opaque. */
2377static unsigned xrop3_23_1_0 (unsigned char s, unsigned char t)
2378{
2379  unsigned D = 0x00ff;
2380  unsigned S = ((unsigned)s << 8) | s;
2381  unsigned T = ((unsigned)t << 8) | t;
2382  unsigned stk1;
2383  unsigned stk2;
2384  unsigned stk3;
2385  stk2 = S ^ T;
2386  stk3 = D ^ S;
2387  stk2 = stk2 & stk3;
2388  stk1 = S ^ stk2;
2389  stk1 = ~stk1;
2390  return (stk1 & (~S)) | (D & S);
2391}
2392
2393/* SSTxDSxaxn source/pattern transparent. */
2394static unsigned xrop3_23_1_1 (unsigned char s, unsigned char t)
2395{
2396  unsigned D = 0x00ff;
2397  unsigned S = ((unsigned)s << 8) | s;
2398  unsigned T = ((unsigned)t << 8) | t;
2399  unsigned stk1;
2400  unsigned stk2;
2401  unsigned stk3;
2402  stk2 = S ^ T;
2403  stk3 = D ^ S;
2404  stk2 = stk2 & stk3;
2405  stk1 = S ^ stk2;
2406  stk1 = ~stk1;
2407  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2408}
2409
2410/* STxTDxa source/pattern opaque. */
2411static void rop3_24_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2412{
2413  unsigned char stk1;
2414  unsigned char stk2;
2415  stk1 = S ^ T;
2416  stk2 = T ^ *D;
2417  stk1 = stk1 & stk2;
2418  *D = stk1;
2419}
2420
2421/* STxTDxa source opaque/pattern transparent. */
2422static void rop3_24_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2423{
2424  unsigned char stk1;
2425  unsigned char stk2;
2426  stk1 = S ^ T;
2427  stk2 = T ^ *D;
2428  stk1 = stk1 & stk2;
2429  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2430}
2431
2432/* STxTDxa source transparent/pattern opaque. */
2433static void rop3_24_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2434{
2435  unsigned char stk1;
2436  unsigned char stk2;
2437  stk1 = S ^ T;
2438  stk2 = T ^ *D;
2439  stk1 = stk1 & stk2;
2440  *D = (stk1 & (~S)) | (*D & S);
2441}
2442
2443/* STxTDxa source/pattern transparent. */
2444static void rop3_24_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2445{
2446  unsigned char stk1;
2447  unsigned char stk2;
2448  stk1 = S ^ T;
2449  stk2 = T ^ *D;
2450  stk1 = stk1 & stk2;
2451  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2452}
2453
2454/* STxTDxa source/pattern opaque. */
2455static unsigned xrop3_24_0_0 (unsigned char s, unsigned char t)
2456{
2457  unsigned D = 0x00ff;
2458  unsigned S = ((unsigned)s << 8) | s;
2459  unsigned T = ((unsigned)t << 8) | t;
2460  unsigned stk1;
2461  unsigned stk2;
2462  stk1 = S ^ T;
2463  stk2 = T ^ D;
2464  stk1 = stk1 & stk2;
2465  return stk1;
2466}
2467
2468/* STxTDxa source opaque/pattern transparent. */
2469static unsigned xrop3_24_0_1 (unsigned char s, unsigned char t)
2470{
2471  unsigned D = 0x00ff;
2472  unsigned S = ((unsigned)s << 8) | s;
2473  unsigned T = ((unsigned)t << 8) | t;
2474  unsigned stk1;
2475  unsigned stk2;
2476  stk1 = S ^ T;
2477  stk2 = T ^ D;
2478  stk1 = stk1 & stk2;
2479  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2480}
2481
2482/* STxTDxa source transparent/pattern opaque. */
2483static unsigned xrop3_24_1_0 (unsigned char s, unsigned char t)
2484{
2485  unsigned D = 0x00ff;
2486  unsigned S = ((unsigned)s << 8) | s;
2487  unsigned T = ((unsigned)t << 8) | t;
2488  unsigned stk1;
2489  unsigned stk2;
2490  stk1 = S ^ T;
2491  stk2 = T ^ D;
2492  stk1 = stk1 & stk2;
2493  return (stk1 & (~S)) | (D & S);
2494}
2495
2496/* STxTDxa source/pattern transparent. */
2497static unsigned xrop3_24_1_1 (unsigned char s, unsigned char t)
2498{
2499  unsigned D = 0x00ff;
2500  unsigned S = ((unsigned)s << 8) | s;
2501  unsigned T = ((unsigned)t << 8) | t;
2502  unsigned stk1;
2503  unsigned stk2;
2504  stk1 = S ^ T;
2505  stk2 = T ^ D;
2506  stk1 = stk1 & stk2;
2507  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2508}
2509
2510/* SDTSanaxn source/pattern opaque. */
2511static void rop3_25_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2512{
2513  unsigned char stk1;
2514  unsigned char stk2;
2515  unsigned char stk3;
2516  stk3 = T & S;
2517  stk3 = ~stk3;
2518  stk2 = *D & stk3;
2519  stk1 = S ^ stk2;
2520  stk1 = ~stk1;
2521  *D = stk1;
2522}
2523
2524/* SDTSanaxn source opaque/pattern transparent. */
2525static void rop3_25_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2526{
2527  unsigned char stk1;
2528  unsigned char stk2;
2529  unsigned char stk3;
2530  stk3 = T & S;
2531  stk3 = ~stk3;
2532  stk2 = *D & stk3;
2533  stk1 = S ^ stk2;
2534  stk1 = ~stk1;
2535  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2536}
2537
2538/* SDTSanaxn source transparent/pattern opaque. */
2539static void rop3_25_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2540{
2541  unsigned char stk1;
2542  unsigned char stk2;
2543  unsigned char stk3;
2544  stk3 = T & S;
2545  stk3 = ~stk3;
2546  stk2 = *D & stk3;
2547  stk1 = S ^ stk2;
2548  stk1 = ~stk1;
2549  *D = (stk1 & (~S)) | (*D & S);
2550}
2551
2552/* SDTSanaxn source/pattern transparent. */
2553static void rop3_25_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2554{
2555  unsigned char stk1;
2556  unsigned char stk2;
2557  unsigned char stk3;
2558  stk3 = T & S;
2559  stk3 = ~stk3;
2560  stk2 = *D & stk3;
2561  stk1 = S ^ stk2;
2562  stk1 = ~stk1;
2563  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2564}
2565
2566/* SDTSanaxn source/pattern opaque. */
2567static unsigned xrop3_25_0_0 (unsigned char s, unsigned char t)
2568{
2569  unsigned D = 0x00ff;
2570  unsigned S = ((unsigned)s << 8) | s;
2571  unsigned T = ((unsigned)t << 8) | t;
2572  unsigned stk1;
2573  unsigned stk2;
2574  unsigned stk3;
2575  stk3 = T & S;
2576  stk3 = ~stk3;
2577  stk2 = D & stk3;
2578  stk1 = S ^ stk2;
2579  stk1 = ~stk1;
2580  return stk1;
2581}
2582
2583/* SDTSanaxn source opaque/pattern transparent. */
2584static unsigned xrop3_25_0_1 (unsigned char s, unsigned char t)
2585{
2586  unsigned D = 0x00ff;
2587  unsigned S = ((unsigned)s << 8) | s;
2588  unsigned T = ((unsigned)t << 8) | t;
2589  unsigned stk1;
2590  unsigned stk2;
2591  unsigned stk3;
2592  stk3 = T & S;
2593  stk3 = ~stk3;
2594  stk2 = D & stk3;
2595  stk1 = S ^ stk2;
2596  stk1 = ~stk1;
2597  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2598}
2599
2600/* SDTSanaxn source transparent/pattern opaque. */
2601static unsigned xrop3_25_1_0 (unsigned char s, unsigned char t)
2602{
2603  unsigned D = 0x00ff;
2604  unsigned S = ((unsigned)s << 8) | s;
2605  unsigned T = ((unsigned)t << 8) | t;
2606  unsigned stk1;
2607  unsigned stk2;
2608  unsigned stk3;
2609  stk3 = T & S;
2610  stk3 = ~stk3;
2611  stk2 = D & stk3;
2612  stk1 = S ^ stk2;
2613  stk1 = ~stk1;
2614  return (stk1 & (~S)) | (D & S);
2615}
2616
2617/* SDTSanaxn source/pattern transparent. */
2618static unsigned xrop3_25_1_1 (unsigned char s, unsigned char t)
2619{
2620  unsigned D = 0x00ff;
2621  unsigned S = ((unsigned)s << 8) | s;
2622  unsigned T = ((unsigned)t << 8) | t;
2623  unsigned stk1;
2624  unsigned stk2;
2625  unsigned stk3;
2626  stk3 = T & S;
2627  stk3 = ~stk3;
2628  stk2 = D & stk3;
2629  stk1 = S ^ stk2;
2630  stk1 = ~stk1;
2631  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2632}
2633
2634/* TDSTaox source/pattern opaque. */
2635static void rop3_26_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2636{
2637  unsigned char stk1;
2638  unsigned char stk2;
2639  unsigned char stk3;
2640  stk3 = S & T;
2641  stk2 = *D | stk3;
2642  stk1 = T ^ stk2;
2643  *D = stk1;
2644}
2645
2646/* TDSTaox source opaque/pattern transparent. */
2647static void rop3_26_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2648{
2649  unsigned char stk1;
2650  unsigned char stk2;
2651  unsigned char stk3;
2652  stk3 = S & T;
2653  stk2 = *D | stk3;
2654  stk1 = T ^ stk2;
2655  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2656}
2657
2658/* TDSTaox source transparent/pattern opaque. */
2659static void rop3_26_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2660{
2661  unsigned char stk1;
2662  unsigned char stk2;
2663  unsigned char stk3;
2664  stk3 = S & T;
2665  stk2 = *D | stk3;
2666  stk1 = T ^ stk2;
2667  *D = (stk1 & (~S)) | (*D & S);
2668}
2669
2670/* TDSTaox source/pattern transparent. */
2671static void rop3_26_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2672{
2673  unsigned char stk1;
2674  unsigned char stk2;
2675  unsigned char stk3;
2676  stk3 = S & T;
2677  stk2 = *D | stk3;
2678  stk1 = T ^ stk2;
2679  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2680}
2681
2682/* TDSTaox source/pattern opaque. */
2683static unsigned xrop3_26_0_0 (unsigned char s, unsigned char t)
2684{
2685  unsigned D = 0x00ff;
2686  unsigned S = ((unsigned)s << 8) | s;
2687  unsigned T = ((unsigned)t << 8) | t;
2688  unsigned stk1;
2689  unsigned stk2;
2690  unsigned stk3;
2691  stk3 = S & T;
2692  stk2 = D | stk3;
2693  stk1 = T ^ stk2;
2694  return stk1;
2695}
2696
2697/* TDSTaox source opaque/pattern transparent. */
2698static unsigned xrop3_26_0_1 (unsigned char s, unsigned char t)
2699{
2700  unsigned D = 0x00ff;
2701  unsigned S = ((unsigned)s << 8) | s;
2702  unsigned T = ((unsigned)t << 8) | t;
2703  unsigned stk1;
2704  unsigned stk2;
2705  unsigned stk3;
2706  stk3 = S & T;
2707  stk2 = D | stk3;
2708  stk1 = T ^ stk2;
2709  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2710}
2711
2712/* TDSTaox source transparent/pattern opaque. */
2713static unsigned xrop3_26_1_0 (unsigned char s, unsigned char t)
2714{
2715  unsigned D = 0x00ff;
2716  unsigned S = ((unsigned)s << 8) | s;
2717  unsigned T = ((unsigned)t << 8) | t;
2718  unsigned stk1;
2719  unsigned stk2;
2720  unsigned stk3;
2721  stk3 = S & T;
2722  stk2 = D | stk3;
2723  stk1 = T ^ stk2;
2724  return (stk1 & (~S)) | (D & S);
2725}
2726
2727/* TDSTaox source/pattern transparent. */
2728static unsigned xrop3_26_1_1 (unsigned char s, unsigned char t)
2729{
2730  unsigned D = 0x00ff;
2731  unsigned S = ((unsigned)s << 8) | s;
2732  unsigned T = ((unsigned)t << 8) | t;
2733  unsigned stk1;
2734  unsigned stk2;
2735  unsigned stk3;
2736  stk3 = S & T;
2737  stk2 = D | stk3;
2738  stk1 = T ^ stk2;
2739  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2740}
2741
2742/* SDTSxaxn source/pattern opaque. */
2743static void rop3_27_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2744{
2745  unsigned char stk1;
2746  unsigned char stk2;
2747  unsigned char stk3;
2748  stk3 = T ^ S;
2749  stk2 = *D & stk3;
2750  stk1 = S ^ stk2;
2751  stk1 = ~stk1;
2752  *D = stk1;
2753}
2754
2755/* SDTSxaxn source opaque/pattern transparent. */
2756static void rop3_27_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2757{
2758  unsigned char stk1;
2759  unsigned char stk2;
2760  unsigned char stk3;
2761  stk3 = T ^ S;
2762  stk2 = *D & stk3;
2763  stk1 = S ^ stk2;
2764  stk1 = ~stk1;
2765  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2766}
2767
2768/* SDTSxaxn source transparent/pattern opaque. */
2769static void rop3_27_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2770{
2771  unsigned char stk1;
2772  unsigned char stk2;
2773  unsigned char stk3;
2774  stk3 = T ^ S;
2775  stk2 = *D & stk3;
2776  stk1 = S ^ stk2;
2777  stk1 = ~stk1;
2778  *D = (stk1 & (~S)) | (*D & S);
2779}
2780
2781/* SDTSxaxn source/pattern transparent. */
2782static void rop3_27_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2783{
2784  unsigned char stk1;
2785  unsigned char stk2;
2786  unsigned char stk3;
2787  stk3 = T ^ S;
2788  stk2 = *D & stk3;
2789  stk1 = S ^ stk2;
2790  stk1 = ~stk1;
2791  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2792}
2793
2794/* SDTSxaxn source/pattern opaque. */
2795static unsigned xrop3_27_0_0 (unsigned char s, unsigned char t)
2796{
2797  unsigned D = 0x00ff;
2798  unsigned S = ((unsigned)s << 8) | s;
2799  unsigned T = ((unsigned)t << 8) | t;
2800  unsigned stk1;
2801  unsigned stk2;
2802  unsigned stk3;
2803  stk3 = T ^ S;
2804  stk2 = D & stk3;
2805  stk1 = S ^ stk2;
2806  stk1 = ~stk1;
2807  return stk1;
2808}
2809
2810/* SDTSxaxn source opaque/pattern transparent. */
2811static unsigned xrop3_27_0_1 (unsigned char s, unsigned char t)
2812{
2813  unsigned D = 0x00ff;
2814  unsigned S = ((unsigned)s << 8) | s;
2815  unsigned T = ((unsigned)t << 8) | t;
2816  unsigned stk1;
2817  unsigned stk2;
2818  unsigned stk3;
2819  stk3 = T ^ S;
2820  stk2 = D & stk3;
2821  stk1 = S ^ stk2;
2822  stk1 = ~stk1;
2823  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2824}
2825
2826/* SDTSxaxn source transparent/pattern opaque. */
2827static unsigned xrop3_27_1_0 (unsigned char s, unsigned char t)
2828{
2829  unsigned D = 0x00ff;
2830  unsigned S = ((unsigned)s << 8) | s;
2831  unsigned T = ((unsigned)t << 8) | t;
2832  unsigned stk1;
2833  unsigned stk2;
2834  unsigned stk3;
2835  stk3 = T ^ S;
2836  stk2 = D & stk3;
2837  stk1 = S ^ stk2;
2838  stk1 = ~stk1;
2839  return (stk1 & (~S)) | (D & S);
2840}
2841
2842/* SDTSxaxn source/pattern transparent. */
2843static unsigned xrop3_27_1_1 (unsigned char s, unsigned char t)
2844{
2845  unsigned D = 0x00ff;
2846  unsigned S = ((unsigned)s << 8) | s;
2847  unsigned T = ((unsigned)t << 8) | t;
2848  unsigned stk1;
2849  unsigned stk2;
2850  unsigned stk3;
2851  stk3 = T ^ S;
2852  stk2 = D & stk3;
2853  stk1 = S ^ stk2;
2854  stk1 = ~stk1;
2855  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2856}
2857
2858/* TSDTaox source/pattern opaque. */
2859static void rop3_28_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2860{
2861  unsigned char stk1;
2862  unsigned char stk2;
2863  unsigned char stk3;
2864  stk3 = *D & T;
2865  stk2 = S | stk3;
2866  stk1 = T ^ stk2;
2867  *D = stk1;
2868}
2869
2870/* TSDTaox source opaque/pattern transparent. */
2871static void rop3_28_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2872{
2873  unsigned char stk1;
2874  unsigned char stk2;
2875  unsigned char stk3;
2876  stk3 = *D & T;
2877  stk2 = S | stk3;
2878  stk1 = T ^ stk2;
2879  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2880}
2881
2882/* TSDTaox source transparent/pattern opaque. */
2883static void rop3_28_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2884{
2885  unsigned char stk1;
2886  unsigned char stk2;
2887  unsigned char stk3;
2888  stk3 = *D & T;
2889  stk2 = S | stk3;
2890  stk1 = T ^ stk2;
2891  *D = (stk1 & (~S)) | (*D & S);
2892}
2893
2894/* TSDTaox source/pattern transparent. */
2895static void rop3_28_1_1 (unsigned char *D, unsigned char S, unsigned char T)
2896{
2897  unsigned char stk1;
2898  unsigned char stk2;
2899  unsigned char stk3;
2900  stk3 = *D & T;
2901  stk2 = S | stk3;
2902  stk1 = T ^ stk2;
2903  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
2904}
2905
2906/* TSDTaox source/pattern opaque. */
2907static unsigned xrop3_28_0_0 (unsigned char s, unsigned char t)
2908{
2909  unsigned D = 0x00ff;
2910  unsigned S = ((unsigned)s << 8) | s;
2911  unsigned T = ((unsigned)t << 8) | t;
2912  unsigned stk1;
2913  unsigned stk2;
2914  unsigned stk3;
2915  stk3 = D & T;
2916  stk2 = S | stk3;
2917  stk1 = T ^ stk2;
2918  return stk1;
2919}
2920
2921/* TSDTaox source opaque/pattern transparent. */
2922static unsigned xrop3_28_0_1 (unsigned char s, unsigned char t)
2923{
2924  unsigned D = 0x00ff;
2925  unsigned S = ((unsigned)s << 8) | s;
2926  unsigned T = ((unsigned)t << 8) | t;
2927  unsigned stk1;
2928  unsigned stk2;
2929  unsigned stk3;
2930  stk3 = D & T;
2931  stk2 = S | stk3;
2932  stk1 = T ^ stk2;
2933  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
2934}
2935
2936/* TSDTaox source transparent/pattern opaque. */
2937static unsigned xrop3_28_1_0 (unsigned char s, unsigned char t)
2938{
2939  unsigned D = 0x00ff;
2940  unsigned S = ((unsigned)s << 8) | s;
2941  unsigned T = ((unsigned)t << 8) | t;
2942  unsigned stk1;
2943  unsigned stk2;
2944  unsigned stk3;
2945  stk3 = D & T;
2946  stk2 = S | stk3;
2947  stk1 = T ^ stk2;
2948  return (stk1 & (~S)) | (D & S);
2949}
2950
2951/* TSDTaox source/pattern transparent. */
2952static unsigned xrop3_28_1_1 (unsigned char s, unsigned char t)
2953{
2954  unsigned D = 0x00ff;
2955  unsigned S = ((unsigned)s << 8) | s;
2956  unsigned T = ((unsigned)t << 8) | t;
2957  unsigned stk1;
2958  unsigned stk2;
2959  unsigned stk3;
2960  stk3 = D & T;
2961  stk2 = S | stk3;
2962  stk1 = T ^ stk2;
2963  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
2964}
2965
2966/* DSTDxaxn source/pattern opaque. */
2967static void rop3_29_0_0 (unsigned char *D, unsigned char S, unsigned char T)
2968{
2969  unsigned char stk1;
2970  unsigned char stk2;
2971  unsigned char stk3;
2972  stk3 = T ^ *D;
2973  stk2 = S & stk3;
2974  stk1 = *D ^ stk2;
2975  stk1 = ~stk1;
2976  *D = stk1;
2977}
2978
2979/* DSTDxaxn source opaque/pattern transparent. */
2980static void rop3_29_0_1 (unsigned char *D, unsigned char S, unsigned char T)
2981{
2982  unsigned char stk1;
2983  unsigned char stk2;
2984  unsigned char stk3;
2985  stk3 = T ^ *D;
2986  stk2 = S & stk3;
2987  stk1 = *D ^ stk2;
2988  stk1 = ~stk1;
2989  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
2990}
2991
2992/* DSTDxaxn source transparent/pattern opaque. */
2993static void rop3_29_1_0 (unsigned char *D, unsigned char S, unsigned char T)
2994{
2995  unsigned char stk1;
2996  unsigned char stk2;
2997  unsigned char stk3;
2998  stk3 = T ^ *D;
2999  stk2 = S & stk3;
3000  stk1 = *D ^ stk2;
3001  stk1 = ~stk1;
3002  *D = (stk1 & (~S)) | (*D & S);
3003}
3004
3005/* DSTDxaxn source/pattern transparent. */
3006static void rop3_29_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3007{
3008  unsigned char stk1;
3009  unsigned char stk2;
3010  unsigned char stk3;
3011  stk3 = T ^ *D;
3012  stk2 = S & stk3;
3013  stk1 = *D ^ stk2;
3014  stk1 = ~stk1;
3015  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3016}
3017
3018/* DSTDxaxn source/pattern opaque. */
3019static unsigned xrop3_29_0_0 (unsigned char s, unsigned char t)
3020{
3021  unsigned D = 0x00ff;
3022  unsigned S = ((unsigned)s << 8) | s;
3023  unsigned T = ((unsigned)t << 8) | t;
3024  unsigned stk1;
3025  unsigned stk2;
3026  unsigned stk3;
3027  stk3 = T ^ D;
3028  stk2 = S & stk3;
3029  stk1 = D ^ stk2;
3030  stk1 = ~stk1;
3031  return stk1;
3032}
3033
3034/* DSTDxaxn source opaque/pattern transparent. */
3035static unsigned xrop3_29_0_1 (unsigned char s, unsigned char t)
3036{
3037  unsigned D = 0x00ff;
3038  unsigned S = ((unsigned)s << 8) | s;
3039  unsigned T = ((unsigned)t << 8) | t;
3040  unsigned stk1;
3041  unsigned stk2;
3042  unsigned stk3;
3043  stk3 = T ^ D;
3044  stk2 = S & stk3;
3045  stk1 = D ^ stk2;
3046  stk1 = ~stk1;
3047  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3048}
3049
3050/* DSTDxaxn source transparent/pattern opaque. */
3051static unsigned xrop3_29_1_0 (unsigned char s, unsigned char t)
3052{
3053  unsigned D = 0x00ff;
3054  unsigned S = ((unsigned)s << 8) | s;
3055  unsigned T = ((unsigned)t << 8) | t;
3056  unsigned stk1;
3057  unsigned stk2;
3058  unsigned stk3;
3059  stk3 = T ^ D;
3060  stk2 = S & stk3;
3061  stk1 = D ^ stk2;
3062  stk1 = ~stk1;
3063  return (stk1 & (~S)) | (D & S);
3064}
3065
3066/* DSTDxaxn source/pattern transparent. */
3067static unsigned xrop3_29_1_1 (unsigned char s, unsigned char t)
3068{
3069  unsigned D = 0x00ff;
3070  unsigned S = ((unsigned)s << 8) | s;
3071  unsigned T = ((unsigned)t << 8) | t;
3072  unsigned stk1;
3073  unsigned stk2;
3074  unsigned stk3;
3075  stk3 = T ^ D;
3076  stk2 = S & stk3;
3077  stk1 = D ^ stk2;
3078  stk1 = ~stk1;
3079  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3080}
3081
3082/* TDSox source/pattern opaque. */
3083static void rop3_30_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3084{
3085  unsigned char stk1;
3086  unsigned char stk2;
3087  stk2 = *D | S;
3088  stk1 = T ^ stk2;
3089  *D = stk1;
3090}
3091
3092/* TDSox source opaque/pattern transparent. */
3093static void rop3_30_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3094{
3095  unsigned char stk1;
3096  unsigned char stk2;
3097  stk2 = *D | S;
3098  stk1 = T ^ stk2;
3099  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3100}
3101
3102/* TDSox source transparent/pattern opaque. */
3103static void rop3_30_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3104{
3105  unsigned char stk1;
3106  unsigned char stk2;
3107  stk2 = *D | S;
3108  stk1 = T ^ stk2;
3109  *D = (stk1 & (~S)) | (*D & S);
3110}
3111
3112/* TDSox source/pattern transparent. */
3113static void rop3_30_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3114{
3115  unsigned char stk1;
3116  unsigned char stk2;
3117  stk2 = *D | S;
3118  stk1 = T ^ stk2;
3119  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3120}
3121
3122/* TDSox source/pattern opaque. */
3123static unsigned xrop3_30_0_0 (unsigned char s, unsigned char t)
3124{
3125  unsigned D = 0x00ff;
3126  unsigned S = ((unsigned)s << 8) | s;
3127  unsigned T = ((unsigned)t << 8) | t;
3128  unsigned stk1;
3129  unsigned stk2;
3130  stk2 = D | S;
3131  stk1 = T ^ stk2;
3132  return stk1;
3133}
3134
3135/* TDSox source opaque/pattern transparent. */
3136static unsigned xrop3_30_0_1 (unsigned char s, unsigned char t)
3137{
3138  unsigned D = 0x00ff;
3139  unsigned S = ((unsigned)s << 8) | s;
3140  unsigned T = ((unsigned)t << 8) | t;
3141  unsigned stk1;
3142  unsigned stk2;
3143  stk2 = D | S;
3144  stk1 = T ^ stk2;
3145  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3146}
3147
3148/* TDSox source transparent/pattern opaque. */
3149static unsigned xrop3_30_1_0 (unsigned char s, unsigned char t)
3150{
3151  unsigned D = 0x00ff;
3152  unsigned S = ((unsigned)s << 8) | s;
3153  unsigned T = ((unsigned)t << 8) | t;
3154  unsigned stk1;
3155  unsigned stk2;
3156  stk2 = D | S;
3157  stk1 = T ^ stk2;
3158  return (stk1 & (~S)) | (D & S);
3159}
3160
3161/* TDSox source/pattern transparent. */
3162static unsigned xrop3_30_1_1 (unsigned char s, unsigned char t)
3163{
3164  unsigned D = 0x00ff;
3165  unsigned S = ((unsigned)s << 8) | s;
3166  unsigned T = ((unsigned)t << 8) | t;
3167  unsigned stk1;
3168  unsigned stk2;
3169  stk2 = D | S;
3170  stk1 = T ^ stk2;
3171  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3172}
3173
3174/* TDSoan source/pattern opaque. */
3175static void rop3_31_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3176{
3177  unsigned char stk1;
3178  unsigned char stk2;
3179  stk2 = *D | S;
3180  stk1 = T & stk2;
3181  stk1 = ~stk1;
3182  *D = stk1;
3183}
3184
3185/* TDSoan source opaque/pattern transparent. */
3186static void rop3_31_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3187{
3188  unsigned char stk1;
3189  unsigned char stk2;
3190  stk2 = *D | S;
3191  stk1 = T & stk2;
3192  stk1 = ~stk1;
3193  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3194}
3195
3196/* TDSoan source transparent/pattern opaque. */
3197static void rop3_31_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3198{
3199  unsigned char stk1;
3200  unsigned char stk2;
3201  stk2 = *D | S;
3202  stk1 = T & stk2;
3203  stk1 = ~stk1;
3204  *D = (stk1 & (~S)) | (*D & S);
3205}
3206
3207/* TDSoan source/pattern transparent. */
3208static void rop3_31_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3209{
3210  unsigned char stk1;
3211  unsigned char stk2;
3212  stk2 = *D | S;
3213  stk1 = T & stk2;
3214  stk1 = ~stk1;
3215  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3216}
3217
3218/* TDSoan source/pattern opaque. */
3219static unsigned xrop3_31_0_0 (unsigned char s, unsigned char t)
3220{
3221  unsigned D = 0x00ff;
3222  unsigned S = ((unsigned)s << 8) | s;
3223  unsigned T = ((unsigned)t << 8) | t;
3224  unsigned stk1;
3225  unsigned stk2;
3226  stk2 = D | S;
3227  stk1 = T & stk2;
3228  stk1 = ~stk1;
3229  return stk1;
3230}
3231
3232/* TDSoan source opaque/pattern transparent. */
3233static unsigned xrop3_31_0_1 (unsigned char s, unsigned char t)
3234{
3235  unsigned D = 0x00ff;
3236  unsigned S = ((unsigned)s << 8) | s;
3237  unsigned T = ((unsigned)t << 8) | t;
3238  unsigned stk1;
3239  unsigned stk2;
3240  stk2 = D | S;
3241  stk1 = T & stk2;
3242  stk1 = ~stk1;
3243  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3244}
3245
3246/* TDSoan source transparent/pattern opaque. */
3247static unsigned xrop3_31_1_0 (unsigned char s, unsigned char t)
3248{
3249  unsigned D = 0x00ff;
3250  unsigned S = ((unsigned)s << 8) | s;
3251  unsigned T = ((unsigned)t << 8) | t;
3252  unsigned stk1;
3253  unsigned stk2;
3254  stk2 = D | S;
3255  stk1 = T & stk2;
3256  stk1 = ~stk1;
3257  return (stk1 & (~S)) | (D & S);
3258}
3259
3260/* TDSoan source/pattern transparent. */
3261static unsigned xrop3_31_1_1 (unsigned char s, unsigned char t)
3262{
3263  unsigned D = 0x00ff;
3264  unsigned S = ((unsigned)s << 8) | s;
3265  unsigned T = ((unsigned)t << 8) | t;
3266  unsigned stk1;
3267  unsigned stk2;
3268  stk2 = D | S;
3269  stk1 = T & stk2;
3270  stk1 = ~stk1;
3271  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3272}
3273
3274/* DTSnaa source/pattern opaque. */
3275static void rop3_32_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3276{
3277  unsigned char stk1;
3278  unsigned char stk2;
3279  unsigned char stk3;
3280  stk3 = ~S;
3281  stk2 = T & stk3;
3282  stk1 = *D & stk2;
3283  *D = stk1;
3284}
3285
3286/* DTSnaa source opaque/pattern transparent. */
3287static void rop3_32_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3288{
3289  unsigned char stk1;
3290  unsigned char stk2;
3291  unsigned char stk3;
3292  stk3 = ~S;
3293  stk2 = T & stk3;
3294  stk1 = *D & stk2;
3295  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3296}
3297
3298/* DTSnaa source transparent/pattern opaque. */
3299static void rop3_32_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3300{
3301  unsigned char stk1;
3302  unsigned char stk2;
3303  unsigned char stk3;
3304  stk3 = ~S;
3305  stk2 = T & stk3;
3306  stk1 = *D & stk2;
3307  *D = (stk1 & (~S)) | (*D & S);
3308}
3309
3310/* DTSnaa source/pattern transparent. */
3311static void rop3_32_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3312{
3313  unsigned char stk1;
3314  unsigned char stk2;
3315  unsigned char stk3;
3316  stk3 = ~S;
3317  stk2 = T & stk3;
3318  stk1 = *D & stk2;
3319  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3320}
3321
3322/* DTSnaa source/pattern opaque. */
3323static unsigned xrop3_32_0_0 (unsigned char s, unsigned char t)
3324{
3325  unsigned D = 0x00ff;
3326  unsigned S = ((unsigned)s << 8) | s;
3327  unsigned T = ((unsigned)t << 8) | t;
3328  unsigned stk1;
3329  unsigned stk2;
3330  unsigned stk3;
3331  stk3 = ~S;
3332  stk2 = T & stk3;
3333  stk1 = D & stk2;
3334  return stk1;
3335}
3336
3337/* DTSnaa source opaque/pattern transparent. */
3338static unsigned xrop3_32_0_1 (unsigned char s, unsigned char t)
3339{
3340  unsigned D = 0x00ff;
3341  unsigned S = ((unsigned)s << 8) | s;
3342  unsigned T = ((unsigned)t << 8) | t;
3343  unsigned stk1;
3344  unsigned stk2;
3345  unsigned stk3;
3346  stk3 = ~S;
3347  stk2 = T & stk3;
3348  stk1 = D & stk2;
3349  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3350}
3351
3352/* DTSnaa source transparent/pattern opaque. */
3353static unsigned xrop3_32_1_0 (unsigned char s, unsigned char t)
3354{
3355  unsigned D = 0x00ff;
3356  unsigned S = ((unsigned)s << 8) | s;
3357  unsigned T = ((unsigned)t << 8) | t;
3358  unsigned stk1;
3359  unsigned stk2;
3360  unsigned stk3;
3361  stk3 = ~S;
3362  stk2 = T & stk3;
3363  stk1 = D & stk2;
3364  return (stk1 & (~S)) | (D & S);
3365}
3366
3367/* DTSnaa source/pattern transparent. */
3368static unsigned xrop3_32_1_1 (unsigned char s, unsigned char t)
3369{
3370  unsigned D = 0x00ff;
3371  unsigned S = ((unsigned)s << 8) | s;
3372  unsigned T = ((unsigned)t << 8) | t;
3373  unsigned stk1;
3374  unsigned stk2;
3375  unsigned stk3;
3376  stk3 = ~S;
3377  stk2 = T & stk3;
3378  stk1 = D & stk2;
3379  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3380}
3381
3382/* SDTxon source/pattern opaque. */
3383static void rop3_33_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3384{
3385  unsigned char stk1;
3386  unsigned char stk2;
3387  stk2 = *D ^ T;
3388  stk1 = S | stk2;
3389  stk1 = ~stk1;
3390  *D = stk1;
3391}
3392
3393/* SDTxon source opaque/pattern transparent. */
3394static void rop3_33_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3395{
3396  unsigned char stk1;
3397  unsigned char stk2;
3398  stk2 = *D ^ T;
3399  stk1 = S | stk2;
3400  stk1 = ~stk1;
3401  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3402}
3403
3404/* SDTxon source transparent/pattern opaque. */
3405static void rop3_33_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3406{
3407  unsigned char stk1;
3408  unsigned char stk2;
3409  stk2 = *D ^ T;
3410  stk1 = S | stk2;
3411  stk1 = ~stk1;
3412  *D = (stk1 & (~S)) | (*D & S);
3413}
3414
3415/* SDTxon source/pattern transparent. */
3416static void rop3_33_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3417{
3418  unsigned char stk1;
3419  unsigned char stk2;
3420  stk2 = *D ^ T;
3421  stk1 = S | stk2;
3422  stk1 = ~stk1;
3423  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3424}
3425
3426/* SDTxon source/pattern opaque. */
3427static unsigned xrop3_33_0_0 (unsigned char s, unsigned char t)
3428{
3429  unsigned D = 0x00ff;
3430  unsigned S = ((unsigned)s << 8) | s;
3431  unsigned T = ((unsigned)t << 8) | t;
3432  unsigned stk1;
3433  unsigned stk2;
3434  stk2 = D ^ T;
3435  stk1 = S | stk2;
3436  stk1 = ~stk1;
3437  return stk1;
3438}
3439
3440/* SDTxon source opaque/pattern transparent. */
3441static unsigned xrop3_33_0_1 (unsigned char s, unsigned char t)
3442{
3443  unsigned D = 0x00ff;
3444  unsigned S = ((unsigned)s << 8) | s;
3445  unsigned T = ((unsigned)t << 8) | t;
3446  unsigned stk1;
3447  unsigned stk2;
3448  stk2 = D ^ T;
3449  stk1 = S | stk2;
3450  stk1 = ~stk1;
3451  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3452}
3453
3454/* SDTxon source transparent/pattern opaque. */
3455static unsigned xrop3_33_1_0 (unsigned char s, unsigned char t)
3456{
3457  unsigned D = 0x00ff;
3458  unsigned S = ((unsigned)s << 8) | s;
3459  unsigned T = ((unsigned)t << 8) | t;
3460  unsigned stk1;
3461  unsigned stk2;
3462  stk2 = D ^ T;
3463  stk1 = S | stk2;
3464  stk1 = ~stk1;
3465  return (stk1 & (~S)) | (D & S);
3466}
3467
3468/* SDTxon source/pattern transparent. */
3469static unsigned xrop3_33_1_1 (unsigned char s, unsigned char t)
3470{
3471  unsigned D = 0x00ff;
3472  unsigned S = ((unsigned)s << 8) | s;
3473  unsigned T = ((unsigned)t << 8) | t;
3474  unsigned stk1;
3475  unsigned stk2;
3476  stk2 = D ^ T;
3477  stk1 = S | stk2;
3478  stk1 = ~stk1;
3479  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3480}
3481
3482/* DSna source/pattern opaque. */
3483static void rop3_34_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3484{
3485  unsigned char stk1;
3486  unsigned char stk2;
3487  stk2 = ~S;
3488  stk1 = *D & stk2;
3489  *D = stk1;
3490}
3491
3492/* DSna source opaque/pattern transparent. */
3493static void rop3_34_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3494{
3495  unsigned char stk1;
3496  unsigned char stk2;
3497  stk2 = ~S;
3498  stk1 = *D & stk2;
3499  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3500}
3501
3502/* DSna source transparent/pattern opaque. */
3503static void rop3_34_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3504{
3505  unsigned char stk1;
3506  unsigned char stk2;
3507  stk2 = ~S;
3508  stk1 = *D & stk2;
3509  *D = (stk1 & (~S)) | (*D & S);
3510}
3511
3512/* DSna source/pattern transparent. */
3513static void rop3_34_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3514{
3515  unsigned char stk1;
3516  unsigned char stk2;
3517  stk2 = ~S;
3518  stk1 = *D & stk2;
3519  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3520}
3521
3522/* DSna source/pattern opaque. */
3523static unsigned xrop3_34_0_0 (unsigned char s, unsigned char t)
3524{
3525  unsigned D = 0x00ff;
3526  unsigned S = ((unsigned)s << 8) | s;
3527  unsigned stk1;
3528  unsigned stk2;
3529  stk2 = ~S;
3530  stk1 = D & stk2;
3531  return stk1;
3532}
3533
3534/* DSna source opaque/pattern transparent. */
3535static unsigned xrop3_34_0_1 (unsigned char s, unsigned char t)
3536{
3537  unsigned D = 0x00ff;
3538  unsigned S = ((unsigned)s << 8) | s;
3539  unsigned T = ((unsigned)t << 8) | t;
3540  unsigned stk1;
3541  unsigned stk2;
3542  stk2 = ~S;
3543  stk1 = D & stk2;
3544  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3545}
3546
3547/* DSna source transparent/pattern opaque. */
3548static unsigned xrop3_34_1_0 (unsigned char s, unsigned char t)
3549{
3550  unsigned D = 0x00ff;
3551  unsigned S = ((unsigned)s << 8) | s;
3552  unsigned stk1;
3553  unsigned stk2;
3554  stk2 = ~S;
3555  stk1 = D & stk2;
3556  return (stk1 & (~S)) | (D & S);
3557}
3558
3559/* DSna source/pattern transparent. */
3560static unsigned xrop3_34_1_1 (unsigned char s, unsigned char t)
3561{
3562  unsigned D = 0x00ff;
3563  unsigned S = ((unsigned)s << 8) | s;
3564  unsigned T = ((unsigned)t << 8) | t;
3565  unsigned stk1;
3566  unsigned stk2;
3567  stk2 = ~S;
3568  stk1 = D & stk2;
3569  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3570}
3571
3572/* STDnaon source/pattern opaque. */
3573static void rop3_35_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3574{
3575  unsigned char stk1;
3576  unsigned char stk2;
3577  unsigned char stk3;
3578  stk3 = ~*D;
3579  stk2 = T & stk3;
3580  stk1 = S | stk2;
3581  stk1 = ~stk1;
3582  *D = stk1;
3583}
3584
3585/* STDnaon source opaque/pattern transparent. */
3586static void rop3_35_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3587{
3588  unsigned char stk1;
3589  unsigned char stk2;
3590  unsigned char stk3;
3591  stk3 = ~*D;
3592  stk2 = T & stk3;
3593  stk1 = S | stk2;
3594  stk1 = ~stk1;
3595  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3596}
3597
3598/* STDnaon source transparent/pattern opaque. */
3599static void rop3_35_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3600{
3601  unsigned char stk1;
3602  unsigned char stk2;
3603  unsigned char stk3;
3604  stk3 = ~*D;
3605  stk2 = T & stk3;
3606  stk1 = S | stk2;
3607  stk1 = ~stk1;
3608  *D = (stk1 & (~S)) | (*D & S);
3609}
3610
3611/* STDnaon source/pattern transparent. */
3612static void rop3_35_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3613{
3614  unsigned char stk1;
3615  unsigned char stk2;
3616  unsigned char stk3;
3617  stk3 = ~*D;
3618  stk2 = T & stk3;
3619  stk1 = S | stk2;
3620  stk1 = ~stk1;
3621  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3622}
3623
3624/* STDnaon source/pattern opaque. */
3625static unsigned xrop3_35_0_0 (unsigned char s, unsigned char t)
3626{
3627  unsigned D = 0x00ff;
3628  unsigned S = ((unsigned)s << 8) | s;
3629  unsigned T = ((unsigned)t << 8) | t;
3630  unsigned stk1;
3631  unsigned stk2;
3632  unsigned stk3;
3633  stk3 = ~D;
3634  stk2 = T & stk3;
3635  stk1 = S | stk2;
3636  stk1 = ~stk1;
3637  return stk1;
3638}
3639
3640/* STDnaon source opaque/pattern transparent. */
3641static unsigned xrop3_35_0_1 (unsigned char s, unsigned char t)
3642{
3643  unsigned D = 0x00ff;
3644  unsigned S = ((unsigned)s << 8) | s;
3645  unsigned T = ((unsigned)t << 8) | t;
3646  unsigned stk1;
3647  unsigned stk2;
3648  unsigned stk3;
3649  stk3 = ~D;
3650  stk2 = T & stk3;
3651  stk1 = S | stk2;
3652  stk1 = ~stk1;
3653  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3654}
3655
3656/* STDnaon source transparent/pattern opaque. */
3657static unsigned xrop3_35_1_0 (unsigned char s, unsigned char t)
3658{
3659  unsigned D = 0x00ff;
3660  unsigned S = ((unsigned)s << 8) | s;
3661  unsigned T = ((unsigned)t << 8) | t;
3662  unsigned stk1;
3663  unsigned stk2;
3664  unsigned stk3;
3665  stk3 = ~D;
3666  stk2 = T & stk3;
3667  stk1 = S | stk2;
3668  stk1 = ~stk1;
3669  return (stk1 & (~S)) | (D & S);
3670}
3671
3672/* STDnaon source/pattern transparent. */
3673static unsigned xrop3_35_1_1 (unsigned char s, unsigned char t)
3674{
3675  unsigned D = 0x00ff;
3676  unsigned S = ((unsigned)s << 8) | s;
3677  unsigned T = ((unsigned)t << 8) | t;
3678  unsigned stk1;
3679  unsigned stk2;
3680  unsigned stk3;
3681  stk3 = ~D;
3682  stk2 = T & stk3;
3683  stk1 = S | stk2;
3684  stk1 = ~stk1;
3685  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3686}
3687
3688/* STxDSxa source/pattern opaque. */
3689static void rop3_36_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3690{
3691  unsigned char stk1;
3692  unsigned char stk2;
3693  stk1 = S ^ T;
3694  stk2 = *D ^ S;
3695  stk1 = stk1 & stk2;
3696  *D = stk1;
3697}
3698
3699/* STxDSxa source opaque/pattern transparent. */
3700static void rop3_36_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3701{
3702  unsigned char stk1;
3703  unsigned char stk2;
3704  stk1 = S ^ T;
3705  stk2 = *D ^ S;
3706  stk1 = stk1 & stk2;
3707  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3708}
3709
3710/* STxDSxa source transparent/pattern opaque. */
3711static void rop3_36_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3712{
3713  unsigned char stk1;
3714  unsigned char stk2;
3715  stk1 = S ^ T;
3716  stk2 = *D ^ S;
3717  stk1 = stk1 & stk2;
3718  *D = (stk1 & (~S)) | (*D & S);
3719}
3720
3721/* STxDSxa source/pattern transparent. */
3722static void rop3_36_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3723{
3724  unsigned char stk1;
3725  unsigned char stk2;
3726  stk1 = S ^ T;
3727  stk2 = *D ^ S;
3728  stk1 = stk1 & stk2;
3729  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3730}
3731
3732/* STxDSxa source/pattern opaque. */
3733static unsigned xrop3_36_0_0 (unsigned char s, unsigned char t)
3734{
3735  unsigned D = 0x00ff;
3736  unsigned S = ((unsigned)s << 8) | s;
3737  unsigned T = ((unsigned)t << 8) | t;
3738  unsigned stk1;
3739  unsigned stk2;
3740  stk1 = S ^ T;
3741  stk2 = D ^ S;
3742  stk1 = stk1 & stk2;
3743  return stk1;
3744}
3745
3746/* STxDSxa source opaque/pattern transparent. */
3747static unsigned xrop3_36_0_1 (unsigned char s, unsigned char t)
3748{
3749  unsigned D = 0x00ff;
3750  unsigned S = ((unsigned)s << 8) | s;
3751  unsigned T = ((unsigned)t << 8) | t;
3752  unsigned stk1;
3753  unsigned stk2;
3754  stk1 = S ^ T;
3755  stk2 = D ^ S;
3756  stk1 = stk1 & stk2;
3757  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3758}
3759
3760/* STxDSxa source transparent/pattern opaque. */
3761static unsigned xrop3_36_1_0 (unsigned char s, unsigned char t)
3762{
3763  unsigned D = 0x00ff;
3764  unsigned S = ((unsigned)s << 8) | s;
3765  unsigned T = ((unsigned)t << 8) | t;
3766  unsigned stk1;
3767  unsigned stk2;
3768  stk1 = S ^ T;
3769  stk2 = D ^ S;
3770  stk1 = stk1 & stk2;
3771  return (stk1 & (~S)) | (D & S);
3772}
3773
3774/* STxDSxa source/pattern transparent. */
3775static unsigned xrop3_36_1_1 (unsigned char s, unsigned char t)
3776{
3777  unsigned D = 0x00ff;
3778  unsigned S = ((unsigned)s << 8) | s;
3779  unsigned T = ((unsigned)t << 8) | t;
3780  unsigned stk1;
3781  unsigned stk2;
3782  stk1 = S ^ T;
3783  stk2 = D ^ S;
3784  stk1 = stk1 & stk2;
3785  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3786}
3787
3788/* TDSTanaxn source/pattern opaque. */
3789static void rop3_37_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3790{
3791  unsigned char stk1;
3792  unsigned char stk2;
3793  unsigned char stk3;
3794  stk3 = S & T;
3795  stk3 = ~stk3;
3796  stk2 = *D & stk3;
3797  stk1 = T ^ stk2;
3798  stk1 = ~stk1;
3799  *D = stk1;
3800}
3801
3802/* TDSTanaxn source opaque/pattern transparent. */
3803static void rop3_37_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3804{
3805  unsigned char stk1;
3806  unsigned char stk2;
3807  unsigned char stk3;
3808  stk3 = S & T;
3809  stk3 = ~stk3;
3810  stk2 = *D & stk3;
3811  stk1 = T ^ stk2;
3812  stk1 = ~stk1;
3813  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3814}
3815
3816/* TDSTanaxn source transparent/pattern opaque. */
3817static void rop3_37_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3818{
3819  unsigned char stk1;
3820  unsigned char stk2;
3821  unsigned char stk3;
3822  stk3 = S & T;
3823  stk3 = ~stk3;
3824  stk2 = *D & stk3;
3825  stk1 = T ^ stk2;
3826  stk1 = ~stk1;
3827  *D = (stk1 & (~S)) | (*D & S);
3828}
3829
3830/* TDSTanaxn source/pattern transparent. */
3831static void rop3_37_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3832{
3833  unsigned char stk1;
3834  unsigned char stk2;
3835  unsigned char stk3;
3836  stk3 = S & T;
3837  stk3 = ~stk3;
3838  stk2 = *D & stk3;
3839  stk1 = T ^ stk2;
3840  stk1 = ~stk1;
3841  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3842}
3843
3844/* TDSTanaxn source/pattern opaque. */
3845static unsigned xrop3_37_0_0 (unsigned char s, unsigned char t)
3846{
3847  unsigned D = 0x00ff;
3848  unsigned S = ((unsigned)s << 8) | s;
3849  unsigned T = ((unsigned)t << 8) | t;
3850  unsigned stk1;
3851  unsigned stk2;
3852  unsigned stk3;
3853  stk3 = S & T;
3854  stk3 = ~stk3;
3855  stk2 = D & stk3;
3856  stk1 = T ^ stk2;
3857  stk1 = ~stk1;
3858  return stk1;
3859}
3860
3861/* TDSTanaxn source opaque/pattern transparent. */
3862static unsigned xrop3_37_0_1 (unsigned char s, unsigned char t)
3863{
3864  unsigned D = 0x00ff;
3865  unsigned S = ((unsigned)s << 8) | s;
3866  unsigned T = ((unsigned)t << 8) | t;
3867  unsigned stk1;
3868  unsigned stk2;
3869  unsigned stk3;
3870  stk3 = S & T;
3871  stk3 = ~stk3;
3872  stk2 = D & stk3;
3873  stk1 = T ^ stk2;
3874  stk1 = ~stk1;
3875  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3876}
3877
3878/* TDSTanaxn source transparent/pattern opaque. */
3879static unsigned xrop3_37_1_0 (unsigned char s, unsigned char t)
3880{
3881  unsigned D = 0x00ff;
3882  unsigned S = ((unsigned)s << 8) | s;
3883  unsigned T = ((unsigned)t << 8) | t;
3884  unsigned stk1;
3885  unsigned stk2;
3886  unsigned stk3;
3887  stk3 = S & T;
3888  stk3 = ~stk3;
3889  stk2 = D & stk3;
3890  stk1 = T ^ stk2;
3891  stk1 = ~stk1;
3892  return (stk1 & (~S)) | (D & S);
3893}
3894
3895/* TDSTanaxn source/pattern transparent. */
3896static unsigned xrop3_37_1_1 (unsigned char s, unsigned char t)
3897{
3898  unsigned D = 0x00ff;
3899  unsigned S = ((unsigned)s << 8) | s;
3900  unsigned T = ((unsigned)t << 8) | t;
3901  unsigned stk1;
3902  unsigned stk2;
3903  unsigned stk3;
3904  stk3 = S & T;
3905  stk3 = ~stk3;
3906  stk2 = D & stk3;
3907  stk1 = T ^ stk2;
3908  stk1 = ~stk1;
3909  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
3910}
3911
3912/* SDTSaox source/pattern opaque. */
3913static void rop3_38_0_0 (unsigned char *D, unsigned char S, unsigned char T)
3914{
3915  unsigned char stk1;
3916  unsigned char stk2;
3917  unsigned char stk3;
3918  stk3 = T & S;
3919  stk2 = *D | stk3;
3920  stk1 = S ^ stk2;
3921  *D = stk1;
3922}
3923
3924/* SDTSaox source opaque/pattern transparent. */
3925static void rop3_38_0_1 (unsigned char *D, unsigned char S, unsigned char T)
3926{
3927  unsigned char stk1;
3928  unsigned char stk2;
3929  unsigned char stk3;
3930  stk3 = T & S;
3931  stk2 = *D | stk3;
3932  stk1 = S ^ stk2;
3933  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
3934}
3935
3936/* SDTSaox source transparent/pattern opaque. */
3937static void rop3_38_1_0 (unsigned char *D, unsigned char S, unsigned char T)
3938{
3939  unsigned char stk1;
3940  unsigned char stk2;
3941  unsigned char stk3;
3942  stk3 = T & S;
3943  stk2 = *D | stk3;
3944  stk1 = S ^ stk2;
3945  *D = (stk1 & (~S)) | (*D & S);
3946}
3947
3948/* SDTSaox source/pattern transparent. */
3949static void rop3_38_1_1 (unsigned char *D, unsigned char S, unsigned char T)
3950{
3951  unsigned char stk1;
3952  unsigned char stk2;
3953  unsigned char stk3;
3954  stk3 = T & S;
3955  stk2 = *D | stk3;
3956  stk1 = S ^ stk2;
3957  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
3958}
3959
3960/* SDTSaox source/pattern opaque. */
3961static unsigned xrop3_38_0_0 (unsigned char s, unsigned char t)
3962{
3963  unsigned D = 0x00ff;
3964  unsigned S = ((unsigned)s << 8) | s;
3965  unsigned T = ((unsigned)t << 8) | t;
3966  unsigned stk1;
3967  unsigned stk2;
3968  unsigned stk3;
3969  stk3 = T & S;
3970  stk2 = D | stk3;
3971  stk1 = S ^ stk2;
3972  return stk1;
3973}
3974
3975/* SDTSaox source opaque/pattern transparent. */
3976static unsigned xrop3_38_0_1 (unsigned char s, unsigned char t)
3977{
3978  unsigned D = 0x00ff;
3979  unsigned S = ((unsigned)s << 8) | s;
3980  unsigned T = ((unsigned)t << 8) | t;
3981  unsigned stk1;
3982  unsigned stk2;
3983  unsigned stk3;
3984  stk3 = T & S;
3985  stk2 = D | stk3;
3986  stk1 = S ^ stk2;
3987  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
3988}
3989
3990/* SDTSaox source transparent/pattern opaque. */
3991static unsigned xrop3_38_1_0 (unsigned char s, unsigned char t)
3992{
3993  unsigned D = 0x00ff;
3994  unsigned S = ((unsigned)s << 8) | s;
3995  unsigned T = ((unsigned)t << 8) | t;
3996  unsigned stk1;
3997  unsigned stk2;
3998  unsigned stk3;
3999  stk3 = T & S;
4000  stk2 = D | stk3;
4001  stk1 = S ^ stk2;
4002  return (stk1 & (~S)) | (D & S);
4003}
4004
4005/* SDTSaox source/pattern transparent. */
4006static unsigned xrop3_38_1_1 (unsigned char s, unsigned char t)
4007{
4008  unsigned D = 0x00ff;
4009  unsigned S = ((unsigned)s << 8) | s;
4010  unsigned T = ((unsigned)t << 8) | t;
4011  unsigned stk1;
4012  unsigned stk2;
4013  unsigned stk3;
4014  stk3 = T & S;
4015  stk2 = D | stk3;
4016  stk1 = S ^ stk2;
4017  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4018}
4019
4020/* SDTSxnox source/pattern opaque. */
4021static void rop3_39_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4022{
4023  unsigned char stk1;
4024  unsigned char stk2;
4025  unsigned char stk3;
4026  stk3 = T ^ S;
4027  stk3 = ~stk3;
4028  stk2 = *D | stk3;
4029  stk1 = S ^ stk2;
4030  *D = stk1;
4031}
4032
4033/* SDTSxnox source opaque/pattern transparent. */
4034static void rop3_39_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4035{
4036  unsigned char stk1;
4037  unsigned char stk2;
4038  unsigned char stk3;
4039  stk3 = T ^ S;
4040  stk3 = ~stk3;
4041  stk2 = *D | stk3;
4042  stk1 = S ^ stk2;
4043  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4044}
4045
4046/* SDTSxnox source transparent/pattern opaque. */
4047static void rop3_39_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4048{
4049  unsigned char stk1;
4050  unsigned char stk2;
4051  unsigned char stk3;
4052  stk3 = T ^ S;
4053  stk3 = ~stk3;
4054  stk2 = *D | stk3;
4055  stk1 = S ^ stk2;
4056  *D = (stk1 & (~S)) | (*D & S);
4057}
4058
4059/* SDTSxnox source/pattern transparent. */
4060static void rop3_39_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4061{
4062  unsigned char stk1;
4063  unsigned char stk2;
4064  unsigned char stk3;
4065  stk3 = T ^ S;
4066  stk3 = ~stk3;
4067  stk2 = *D | stk3;
4068  stk1 = S ^ stk2;
4069  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4070}
4071
4072/* SDTSxnox source/pattern opaque. */
4073static unsigned xrop3_39_0_0 (unsigned char s, unsigned char t)
4074{
4075  unsigned D = 0x00ff;
4076  unsigned S = ((unsigned)s << 8) | s;
4077  unsigned T = ((unsigned)t << 8) | t;
4078  unsigned stk1;
4079  unsigned stk2;
4080  unsigned stk3;
4081  stk3 = T ^ S;
4082  stk3 = ~stk3;
4083  stk2 = D | stk3;
4084  stk1 = S ^ stk2;
4085  return stk1;
4086}
4087
4088/* SDTSxnox source opaque/pattern transparent. */
4089static unsigned xrop3_39_0_1 (unsigned char s, unsigned char t)
4090{
4091  unsigned D = 0x00ff;
4092  unsigned S = ((unsigned)s << 8) | s;
4093  unsigned T = ((unsigned)t << 8) | t;
4094  unsigned stk1;
4095  unsigned stk2;
4096  unsigned stk3;
4097  stk3 = T ^ S;
4098  stk3 = ~stk3;
4099  stk2 = D | stk3;
4100  stk1 = S ^ stk2;
4101  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4102}
4103
4104/* SDTSxnox source transparent/pattern opaque. */
4105static unsigned xrop3_39_1_0 (unsigned char s, unsigned char t)
4106{
4107  unsigned D = 0x00ff;
4108  unsigned S = ((unsigned)s << 8) | s;
4109  unsigned T = ((unsigned)t << 8) | t;
4110  unsigned stk1;
4111  unsigned stk2;
4112  unsigned stk3;
4113  stk3 = T ^ S;
4114  stk3 = ~stk3;
4115  stk2 = D | stk3;
4116  stk1 = S ^ stk2;
4117  return (stk1 & (~S)) | (D & S);
4118}
4119
4120/* SDTSxnox source/pattern transparent. */
4121static unsigned xrop3_39_1_1 (unsigned char s, unsigned char t)
4122{
4123  unsigned D = 0x00ff;
4124  unsigned S = ((unsigned)s << 8) | s;
4125  unsigned T = ((unsigned)t << 8) | t;
4126  unsigned stk1;
4127  unsigned stk2;
4128  unsigned stk3;
4129  stk3 = T ^ S;
4130  stk3 = ~stk3;
4131  stk2 = D | stk3;
4132  stk1 = S ^ stk2;
4133  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4134}
4135
4136/* DTSxa source/pattern opaque. */
4137static void rop3_40_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4138{
4139  unsigned char stk1;
4140  unsigned char stk2;
4141  stk2 = T ^ S;
4142  stk1 = *D & stk2;
4143  *D = stk1;
4144}
4145
4146/* DTSxa source opaque/pattern transparent. */
4147static void rop3_40_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4148{
4149  unsigned char stk1;
4150  unsigned char stk2;
4151  stk2 = T ^ S;
4152  stk1 = *D & stk2;
4153  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4154}
4155
4156/* DTSxa source transparent/pattern opaque. */
4157static void rop3_40_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4158{
4159  unsigned char stk1;
4160  unsigned char stk2;
4161  stk2 = T ^ S;
4162  stk1 = *D & stk2;
4163  *D = (stk1 & (~S)) | (*D & S);
4164}
4165
4166/* DTSxa source/pattern transparent. */
4167static void rop3_40_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4168{
4169  unsigned char stk1;
4170  unsigned char stk2;
4171  stk2 = T ^ S;
4172  stk1 = *D & stk2;
4173  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4174}
4175
4176/* DTSxa source/pattern opaque. */
4177static unsigned xrop3_40_0_0 (unsigned char s, unsigned char t)
4178{
4179  unsigned D = 0x00ff;
4180  unsigned S = ((unsigned)s << 8) | s;
4181  unsigned T = ((unsigned)t << 8) | t;
4182  unsigned stk1;
4183  unsigned stk2;
4184  stk2 = T ^ S;
4185  stk1 = D & stk2;
4186  return stk1;
4187}
4188
4189/* DTSxa source opaque/pattern transparent. */
4190static unsigned xrop3_40_0_1 (unsigned char s, unsigned char t)
4191{
4192  unsigned D = 0x00ff;
4193  unsigned S = ((unsigned)s << 8) | s;
4194  unsigned T = ((unsigned)t << 8) | t;
4195  unsigned stk1;
4196  unsigned stk2;
4197  stk2 = T ^ S;
4198  stk1 = D & stk2;
4199  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4200}
4201
4202/* DTSxa source transparent/pattern opaque. */
4203static unsigned xrop3_40_1_0 (unsigned char s, unsigned char t)
4204{
4205  unsigned D = 0x00ff;
4206  unsigned S = ((unsigned)s << 8) | s;
4207  unsigned T = ((unsigned)t << 8) | t;
4208  unsigned stk1;
4209  unsigned stk2;
4210  stk2 = T ^ S;
4211  stk1 = D & stk2;
4212  return (stk1 & (~S)) | (D & S);
4213}
4214
4215/* DTSxa source/pattern transparent. */
4216static unsigned xrop3_40_1_1 (unsigned char s, unsigned char t)
4217{
4218  unsigned D = 0x00ff;
4219  unsigned S = ((unsigned)s << 8) | s;
4220  unsigned T = ((unsigned)t << 8) | t;
4221  unsigned stk1;
4222  unsigned stk2;
4223  stk2 = T ^ S;
4224  stk1 = D & stk2;
4225  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4226}
4227
4228/* TSDTSaoxxn source/pattern opaque. */
4229static void rop3_41_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4230{
4231  unsigned char stk1;
4232  unsigned char stk2;
4233  unsigned char stk3;
4234  unsigned char stk4;
4235  stk4 = T & S;
4236  stk3 = *D | stk4;
4237  stk2 = S ^ stk3;
4238  stk1 = T ^ stk2;
4239  stk1 = ~stk1;
4240  *D = stk1;
4241}
4242
4243/* TSDTSaoxxn source opaque/pattern transparent. */
4244static void rop3_41_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4245{
4246  unsigned char stk1;
4247  unsigned char stk2;
4248  unsigned char stk3;
4249  unsigned char stk4;
4250  stk4 = T & S;
4251  stk3 = *D | stk4;
4252  stk2 = S ^ stk3;
4253  stk1 = T ^ stk2;
4254  stk1 = ~stk1;
4255  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4256}
4257
4258/* TSDTSaoxxn source transparent/pattern opaque. */
4259static void rop3_41_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4260{
4261  unsigned char stk1;
4262  unsigned char stk2;
4263  unsigned char stk3;
4264  unsigned char stk4;
4265  stk4 = T & S;
4266  stk3 = *D | stk4;
4267  stk2 = S ^ stk3;
4268  stk1 = T ^ stk2;
4269  stk1 = ~stk1;
4270  *D = (stk1 & (~S)) | (*D & S);
4271}
4272
4273/* TSDTSaoxxn source/pattern transparent. */
4274static void rop3_41_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4275{
4276  unsigned char stk1;
4277  unsigned char stk2;
4278  unsigned char stk3;
4279  unsigned char stk4;
4280  stk4 = T & S;
4281  stk3 = *D | stk4;
4282  stk2 = S ^ stk3;
4283  stk1 = T ^ stk2;
4284  stk1 = ~stk1;
4285  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4286}
4287
4288/* TSDTSaoxxn source/pattern opaque. */
4289static unsigned xrop3_41_0_0 (unsigned char s, unsigned char t)
4290{
4291  unsigned D = 0x00ff;
4292  unsigned S = ((unsigned)s << 8) | s;
4293  unsigned T = ((unsigned)t << 8) | t;
4294  unsigned stk1;
4295  unsigned stk2;
4296  unsigned stk3;
4297  unsigned stk4;
4298  stk4 = T & S;
4299  stk3 = D | stk4;
4300  stk2 = S ^ stk3;
4301  stk1 = T ^ stk2;
4302  stk1 = ~stk1;
4303  return stk1;
4304}
4305
4306/* TSDTSaoxxn source opaque/pattern transparent. */
4307static unsigned xrop3_41_0_1 (unsigned char s, unsigned char t)
4308{
4309  unsigned D = 0x00ff;
4310  unsigned S = ((unsigned)s << 8) | s;
4311  unsigned T = ((unsigned)t << 8) | t;
4312  unsigned stk1;
4313  unsigned stk2;
4314  unsigned stk3;
4315  unsigned stk4;
4316  stk4 = T & S;
4317  stk3 = D | stk4;
4318  stk2 = S ^ stk3;
4319  stk1 = T ^ stk2;
4320  stk1 = ~stk1;
4321  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4322}
4323
4324/* TSDTSaoxxn source transparent/pattern opaque. */
4325static unsigned xrop3_41_1_0 (unsigned char s, unsigned char t)
4326{
4327  unsigned D = 0x00ff;
4328  unsigned S = ((unsigned)s << 8) | s;
4329  unsigned T = ((unsigned)t << 8) | t;
4330  unsigned stk1;
4331  unsigned stk2;
4332  unsigned stk3;
4333  unsigned stk4;
4334  stk4 = T & S;
4335  stk3 = D | stk4;
4336  stk2 = S ^ stk3;
4337  stk1 = T ^ stk2;
4338  stk1 = ~stk1;
4339  return (stk1 & (~S)) | (D & S);
4340}
4341
4342/* TSDTSaoxxn source/pattern transparent. */
4343static unsigned xrop3_41_1_1 (unsigned char s, unsigned char t)
4344{
4345  unsigned D = 0x00ff;
4346  unsigned S = ((unsigned)s << 8) | s;
4347  unsigned T = ((unsigned)t << 8) | t;
4348  unsigned stk1;
4349  unsigned stk2;
4350  unsigned stk3;
4351  unsigned stk4;
4352  stk4 = T & S;
4353  stk3 = D | stk4;
4354  stk2 = S ^ stk3;
4355  stk1 = T ^ stk2;
4356  stk1 = ~stk1;
4357  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4358}
4359
4360/* DTSana source/pattern opaque. */
4361static void rop3_42_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4362{
4363  unsigned char stk1;
4364  unsigned char stk2;
4365  stk2 = T & S;
4366  stk2 = ~stk2;
4367  stk1 = *D & stk2;
4368  *D = stk1;
4369}
4370
4371/* DTSana source opaque/pattern transparent. */
4372static void rop3_42_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4373{
4374  unsigned char stk1;
4375  unsigned char stk2;
4376  stk2 = T & S;
4377  stk2 = ~stk2;
4378  stk1 = *D & stk2;
4379  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4380}
4381
4382/* DTSana source transparent/pattern opaque. */
4383static void rop3_42_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4384{
4385  unsigned char stk1;
4386  unsigned char stk2;
4387  stk2 = T & S;
4388  stk2 = ~stk2;
4389  stk1 = *D & stk2;
4390  *D = (stk1 & (~S)) | (*D & S);
4391}
4392
4393/* DTSana source/pattern transparent. */
4394static void rop3_42_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4395{
4396  unsigned char stk1;
4397  unsigned char stk2;
4398  stk2 = T & S;
4399  stk2 = ~stk2;
4400  stk1 = *D & stk2;
4401  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4402}
4403
4404/* DTSana source/pattern opaque. */
4405static unsigned xrop3_42_0_0 (unsigned char s, unsigned char t)
4406{
4407  unsigned D = 0x00ff;
4408  unsigned S = ((unsigned)s << 8) | s;
4409  unsigned T = ((unsigned)t << 8) | t;
4410  unsigned stk1;
4411  unsigned stk2;
4412  stk2 = T & S;
4413  stk2 = ~stk2;
4414  stk1 = D & stk2;
4415  return stk1;
4416}
4417
4418/* DTSana source opaque/pattern transparent. */
4419static unsigned xrop3_42_0_1 (unsigned char s, unsigned char t)
4420{
4421  unsigned D = 0x00ff;
4422  unsigned S = ((unsigned)s << 8) | s;
4423  unsigned T = ((unsigned)t << 8) | t;
4424  unsigned stk1;
4425  unsigned stk2;
4426  stk2 = T & S;
4427  stk2 = ~stk2;
4428  stk1 = D & stk2;
4429  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4430}
4431
4432/* DTSana source transparent/pattern opaque. */
4433static unsigned xrop3_42_1_0 (unsigned char s, unsigned char t)
4434{
4435  unsigned D = 0x00ff;
4436  unsigned S = ((unsigned)s << 8) | s;
4437  unsigned T = ((unsigned)t << 8) | t;
4438  unsigned stk1;
4439  unsigned stk2;
4440  stk2 = T & S;
4441  stk2 = ~stk2;
4442  stk1 = D & stk2;
4443  return (stk1 & (~S)) | (D & S);
4444}
4445
4446/* DTSana source/pattern transparent. */
4447static unsigned xrop3_42_1_1 (unsigned char s, unsigned char t)
4448{
4449  unsigned D = 0x00ff;
4450  unsigned S = ((unsigned)s << 8) | s;
4451  unsigned T = ((unsigned)t << 8) | t;
4452  unsigned stk1;
4453  unsigned stk2;
4454  stk2 = T & S;
4455  stk2 = ~stk2;
4456  stk1 = D & stk2;
4457  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4458}
4459
4460/* SSTxTDxaxn source/pattern opaque. */
4461static void rop3_43_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4462{
4463  unsigned char stk1;
4464  unsigned char stk2;
4465  unsigned char stk3;
4466  stk2 = S ^ T;
4467  stk3 = T ^ *D;
4468  stk2 = stk2 & stk3;
4469  stk1 = S ^ stk2;
4470  stk1 = ~stk1;
4471  *D = stk1;
4472}
4473
4474/* SSTxTDxaxn source opaque/pattern transparent. */
4475static void rop3_43_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4476{
4477  unsigned char stk1;
4478  unsigned char stk2;
4479  unsigned char stk3;
4480  stk2 = S ^ T;
4481  stk3 = T ^ *D;
4482  stk2 = stk2 & stk3;
4483  stk1 = S ^ stk2;
4484  stk1 = ~stk1;
4485  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4486}
4487
4488/* SSTxTDxaxn source transparent/pattern opaque. */
4489static void rop3_43_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4490{
4491  unsigned char stk1;
4492  unsigned char stk2;
4493  unsigned char stk3;
4494  stk2 = S ^ T;
4495  stk3 = T ^ *D;
4496  stk2 = stk2 & stk3;
4497  stk1 = S ^ stk2;
4498  stk1 = ~stk1;
4499  *D = (stk1 & (~S)) | (*D & S);
4500}
4501
4502/* SSTxTDxaxn source/pattern transparent. */
4503static void rop3_43_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4504{
4505  unsigned char stk1;
4506  unsigned char stk2;
4507  unsigned char stk3;
4508  stk2 = S ^ T;
4509  stk3 = T ^ *D;
4510  stk2 = stk2 & stk3;
4511  stk1 = S ^ stk2;
4512  stk1 = ~stk1;
4513  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4514}
4515
4516/* SSTxTDxaxn source/pattern opaque. */
4517static unsigned xrop3_43_0_0 (unsigned char s, unsigned char t)
4518{
4519  unsigned D = 0x00ff;
4520  unsigned S = ((unsigned)s << 8) | s;
4521  unsigned T = ((unsigned)t << 8) | t;
4522  unsigned stk1;
4523  unsigned stk2;
4524  unsigned stk3;
4525  stk2 = S ^ T;
4526  stk3 = T ^ D;
4527  stk2 = stk2 & stk3;
4528  stk1 = S ^ stk2;
4529  stk1 = ~stk1;
4530  return stk1;
4531}
4532
4533/* SSTxTDxaxn source opaque/pattern transparent. */
4534static unsigned xrop3_43_0_1 (unsigned char s, unsigned char t)
4535{
4536  unsigned D = 0x00ff;
4537  unsigned S = ((unsigned)s << 8) | s;
4538  unsigned T = ((unsigned)t << 8) | t;
4539  unsigned stk1;
4540  unsigned stk2;
4541  unsigned stk3;
4542  stk2 = S ^ T;
4543  stk3 = T ^ D;
4544  stk2 = stk2 & stk3;
4545  stk1 = S ^ stk2;
4546  stk1 = ~stk1;
4547  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4548}
4549
4550/* SSTxTDxaxn source transparent/pattern opaque. */
4551static unsigned xrop3_43_1_0 (unsigned char s, unsigned char t)
4552{
4553  unsigned D = 0x00ff;
4554  unsigned S = ((unsigned)s << 8) | s;
4555  unsigned T = ((unsigned)t << 8) | t;
4556  unsigned stk1;
4557  unsigned stk2;
4558  unsigned stk3;
4559  stk2 = S ^ T;
4560  stk3 = T ^ D;
4561  stk2 = stk2 & stk3;
4562  stk1 = S ^ stk2;
4563  stk1 = ~stk1;
4564  return (stk1 & (~S)) | (D & S);
4565}
4566
4567/* SSTxTDxaxn source/pattern transparent. */
4568static unsigned xrop3_43_1_1 (unsigned char s, unsigned char t)
4569{
4570  unsigned D = 0x00ff;
4571  unsigned S = ((unsigned)s << 8) | s;
4572  unsigned T = ((unsigned)t << 8) | t;
4573  unsigned stk1;
4574  unsigned stk2;
4575  unsigned stk3;
4576  stk2 = S ^ T;
4577  stk3 = T ^ D;
4578  stk2 = stk2 & stk3;
4579  stk1 = S ^ stk2;
4580  stk1 = ~stk1;
4581  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4582}
4583
4584/* STDSoax source/pattern opaque. */
4585static void rop3_44_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4586{
4587  unsigned char stk1;
4588  unsigned char stk2;
4589  unsigned char stk3;
4590  stk3 = *D | S;
4591  stk2 = T & stk3;
4592  stk1 = S ^ stk2;
4593  *D = stk1;
4594}
4595
4596/* STDSoax source opaque/pattern transparent. */
4597static void rop3_44_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4598{
4599  unsigned char stk1;
4600  unsigned char stk2;
4601  unsigned char stk3;
4602  stk3 = *D | S;
4603  stk2 = T & stk3;
4604  stk1 = S ^ stk2;
4605  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4606}
4607
4608/* STDSoax source transparent/pattern opaque. */
4609static void rop3_44_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4610{
4611  unsigned char stk1;
4612  unsigned char stk2;
4613  unsigned char stk3;
4614  stk3 = *D | S;
4615  stk2 = T & stk3;
4616  stk1 = S ^ stk2;
4617  *D = (stk1 & (~S)) | (*D & S);
4618}
4619
4620/* STDSoax source/pattern transparent. */
4621static void rop3_44_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4622{
4623  unsigned char stk1;
4624  unsigned char stk2;
4625  unsigned char stk3;
4626  stk3 = *D | S;
4627  stk2 = T & stk3;
4628  stk1 = S ^ stk2;
4629  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4630}
4631
4632/* STDSoax source/pattern opaque. */
4633static unsigned xrop3_44_0_0 (unsigned char s, unsigned char t)
4634{
4635  unsigned D = 0x00ff;
4636  unsigned S = ((unsigned)s << 8) | s;
4637  unsigned T = ((unsigned)t << 8) | t;
4638  unsigned stk1;
4639  unsigned stk2;
4640  unsigned stk3;
4641  stk3 = D | S;
4642  stk2 = T & stk3;
4643  stk1 = S ^ stk2;
4644  return stk1;
4645}
4646
4647/* STDSoax source opaque/pattern transparent. */
4648static unsigned xrop3_44_0_1 (unsigned char s, unsigned char t)
4649{
4650  unsigned D = 0x00ff;
4651  unsigned S = ((unsigned)s << 8) | s;
4652  unsigned T = ((unsigned)t << 8) | t;
4653  unsigned stk1;
4654  unsigned stk2;
4655  unsigned stk3;
4656  stk3 = D | S;
4657  stk2 = T & stk3;
4658  stk1 = S ^ stk2;
4659  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4660}
4661
4662/* STDSoax source transparent/pattern opaque. */
4663static unsigned xrop3_44_1_0 (unsigned char s, unsigned char t)
4664{
4665  unsigned D = 0x00ff;
4666  unsigned S = ((unsigned)s << 8) | s;
4667  unsigned T = ((unsigned)t << 8) | t;
4668  unsigned stk1;
4669  unsigned stk2;
4670  unsigned stk3;
4671  stk3 = D | S;
4672  stk2 = T & stk3;
4673  stk1 = S ^ stk2;
4674  return (stk1 & (~S)) | (D & S);
4675}
4676
4677/* STDSoax source/pattern transparent. */
4678static unsigned xrop3_44_1_1 (unsigned char s, unsigned char t)
4679{
4680  unsigned D = 0x00ff;
4681  unsigned S = ((unsigned)s << 8) | s;
4682  unsigned T = ((unsigned)t << 8) | t;
4683  unsigned stk1;
4684  unsigned stk2;
4685  unsigned stk3;
4686  stk3 = D | S;
4687  stk2 = T & stk3;
4688  stk1 = S ^ stk2;
4689  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4690}
4691
4692/* TSDnox source/pattern opaque. */
4693static void rop3_45_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4694{
4695  unsigned char stk1;
4696  unsigned char stk2;
4697  unsigned char stk3;
4698  stk3 = ~*D;
4699  stk2 = S | stk3;
4700  stk1 = T ^ stk2;
4701  *D = stk1;
4702}
4703
4704/* TSDnox source opaque/pattern transparent. */
4705static void rop3_45_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4706{
4707  unsigned char stk1;
4708  unsigned char stk2;
4709  unsigned char stk3;
4710  stk3 = ~*D;
4711  stk2 = S | stk3;
4712  stk1 = T ^ stk2;
4713  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4714}
4715
4716/* TSDnox source transparent/pattern opaque. */
4717static void rop3_45_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4718{
4719  unsigned char stk1;
4720  unsigned char stk2;
4721  unsigned char stk3;
4722  stk3 = ~*D;
4723  stk2 = S | stk3;
4724  stk1 = T ^ stk2;
4725  *D = (stk1 & (~S)) | (*D & S);
4726}
4727
4728/* TSDnox source/pattern transparent. */
4729static void rop3_45_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4730{
4731  unsigned char stk1;
4732  unsigned char stk2;
4733  unsigned char stk3;
4734  stk3 = ~*D;
4735  stk2 = S | stk3;
4736  stk1 = T ^ stk2;
4737  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4738}
4739
4740/* TSDnox source/pattern opaque. */
4741static unsigned xrop3_45_0_0 (unsigned char s, unsigned char t)
4742{
4743  unsigned D = 0x00ff;
4744  unsigned S = ((unsigned)s << 8) | s;
4745  unsigned T = ((unsigned)t << 8) | t;
4746  unsigned stk1;
4747  unsigned stk2;
4748  unsigned stk3;
4749  stk3 = ~D;
4750  stk2 = S | stk3;
4751  stk1 = T ^ stk2;
4752  return stk1;
4753}
4754
4755/* TSDnox source opaque/pattern transparent. */
4756static unsigned xrop3_45_0_1 (unsigned char s, unsigned char t)
4757{
4758  unsigned D = 0x00ff;
4759  unsigned S = ((unsigned)s << 8) | s;
4760  unsigned T = ((unsigned)t << 8) | t;
4761  unsigned stk1;
4762  unsigned stk2;
4763  unsigned stk3;
4764  stk3 = ~D;
4765  stk2 = S | stk3;
4766  stk1 = T ^ stk2;
4767  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4768}
4769
4770/* TSDnox source transparent/pattern opaque. */
4771static unsigned xrop3_45_1_0 (unsigned char s, unsigned char t)
4772{
4773  unsigned D = 0x00ff;
4774  unsigned S = ((unsigned)s << 8) | s;
4775  unsigned T = ((unsigned)t << 8) | t;
4776  unsigned stk1;
4777  unsigned stk2;
4778  unsigned stk3;
4779  stk3 = ~D;
4780  stk2 = S | stk3;
4781  stk1 = T ^ stk2;
4782  return (stk1 & (~S)) | (D & S);
4783}
4784
4785/* TSDnox source/pattern transparent. */
4786static unsigned xrop3_45_1_1 (unsigned char s, unsigned char t)
4787{
4788  unsigned D = 0x00ff;
4789  unsigned S = ((unsigned)s << 8) | s;
4790  unsigned T = ((unsigned)t << 8) | t;
4791  unsigned stk1;
4792  unsigned stk2;
4793  unsigned stk3;
4794  stk3 = ~D;
4795  stk2 = S | stk3;
4796  stk1 = T ^ stk2;
4797  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4798}
4799
4800/* TSDTxox source/pattern opaque. */
4801static void rop3_46_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4802{
4803  unsigned char stk1;
4804  unsigned char stk2;
4805  unsigned char stk3;
4806  stk3 = *D ^ T;
4807  stk2 = S | stk3;
4808  stk1 = T ^ stk2;
4809  *D = stk1;
4810}
4811
4812/* TSDTxox source opaque/pattern transparent. */
4813static void rop3_46_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4814{
4815  unsigned char stk1;
4816  unsigned char stk2;
4817  unsigned char stk3;
4818  stk3 = *D ^ T;
4819  stk2 = S | stk3;
4820  stk1 = T ^ stk2;
4821  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4822}
4823
4824/* TSDTxox source transparent/pattern opaque. */
4825static void rop3_46_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4826{
4827  unsigned char stk1;
4828  unsigned char stk2;
4829  unsigned char stk3;
4830  stk3 = *D ^ T;
4831  stk2 = S | stk3;
4832  stk1 = T ^ stk2;
4833  *D = (stk1 & (~S)) | (*D & S);
4834}
4835
4836/* TSDTxox source/pattern transparent. */
4837static void rop3_46_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4838{
4839  unsigned char stk1;
4840  unsigned char stk2;
4841  unsigned char stk3;
4842  stk3 = *D ^ T;
4843  stk2 = S | stk3;
4844  stk1 = T ^ stk2;
4845  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4846}
4847
4848/* TSDTxox source/pattern opaque. */
4849static unsigned xrop3_46_0_0 (unsigned char s, unsigned char t)
4850{
4851  unsigned D = 0x00ff;
4852  unsigned S = ((unsigned)s << 8) | s;
4853  unsigned T = ((unsigned)t << 8) | t;
4854  unsigned stk1;
4855  unsigned stk2;
4856  unsigned stk3;
4857  stk3 = D ^ T;
4858  stk2 = S | stk3;
4859  stk1 = T ^ stk2;
4860  return stk1;
4861}
4862
4863/* TSDTxox source opaque/pattern transparent. */
4864static unsigned xrop3_46_0_1 (unsigned char s, unsigned char t)
4865{
4866  unsigned D = 0x00ff;
4867  unsigned S = ((unsigned)s << 8) | s;
4868  unsigned T = ((unsigned)t << 8) | t;
4869  unsigned stk1;
4870  unsigned stk2;
4871  unsigned stk3;
4872  stk3 = D ^ T;
4873  stk2 = S | stk3;
4874  stk1 = T ^ stk2;
4875  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4876}
4877
4878/* TSDTxox source transparent/pattern opaque. */
4879static unsigned xrop3_46_1_0 (unsigned char s, unsigned char t)
4880{
4881  unsigned D = 0x00ff;
4882  unsigned S = ((unsigned)s << 8) | s;
4883  unsigned T = ((unsigned)t << 8) | t;
4884  unsigned stk1;
4885  unsigned stk2;
4886  unsigned stk3;
4887  stk3 = D ^ T;
4888  stk2 = S | stk3;
4889  stk1 = T ^ stk2;
4890  return (stk1 & (~S)) | (D & S);
4891}
4892
4893/* TSDTxox source/pattern transparent. */
4894static unsigned xrop3_46_1_1 (unsigned char s, unsigned char t)
4895{
4896  unsigned D = 0x00ff;
4897  unsigned S = ((unsigned)s << 8) | s;
4898  unsigned T = ((unsigned)t << 8) | t;
4899  unsigned stk1;
4900  unsigned stk2;
4901  unsigned stk3;
4902  stk3 = D ^ T;
4903  stk2 = S | stk3;
4904  stk1 = T ^ stk2;
4905  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
4906}
4907
4908/* TSDnoan source/pattern opaque. */
4909static void rop3_47_0_0 (unsigned char *D, unsigned char S, unsigned char T)
4910{
4911  unsigned char stk1;
4912  unsigned char stk2;
4913  unsigned char stk3;
4914  stk3 = ~*D;
4915  stk2 = S | stk3;
4916  stk1 = T & stk2;
4917  stk1 = ~stk1;
4918  *D = stk1;
4919}
4920
4921/* TSDnoan source opaque/pattern transparent. */
4922static void rop3_47_0_1 (unsigned char *D, unsigned char S, unsigned char T)
4923{
4924  unsigned char stk1;
4925  unsigned char stk2;
4926  unsigned char stk3;
4927  stk3 = ~*D;
4928  stk2 = S | stk3;
4929  stk1 = T & stk2;
4930  stk1 = ~stk1;
4931  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
4932}
4933
4934/* TSDnoan source transparent/pattern opaque. */
4935static void rop3_47_1_0 (unsigned char *D, unsigned char S, unsigned char T)
4936{
4937  unsigned char stk1;
4938  unsigned char stk2;
4939  unsigned char stk3;
4940  stk3 = ~*D;
4941  stk2 = S | stk3;
4942  stk1 = T & stk2;
4943  stk1 = ~stk1;
4944  *D = (stk1 & (~S)) | (*D & S);
4945}
4946
4947/* TSDnoan source/pattern transparent. */
4948static void rop3_47_1_1 (unsigned char *D, unsigned char S, unsigned char T)
4949{
4950  unsigned char stk1;
4951  unsigned char stk2;
4952  unsigned char stk3;
4953  stk3 = ~*D;
4954  stk2 = S | stk3;
4955  stk1 = T & stk2;
4956  stk1 = ~stk1;
4957  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
4958}
4959
4960/* TSDnoan source/pattern opaque. */
4961static unsigned xrop3_47_0_0 (unsigned char s, unsigned char t)
4962{
4963  unsigned D = 0x00ff;
4964  unsigned S = ((unsigned)s << 8) | s;
4965  unsigned T = ((unsigned)t << 8) | t;
4966  unsigned stk1;
4967  unsigned stk2;
4968  unsigned stk3;
4969  stk3 = ~D;
4970  stk2 = S | stk3;
4971  stk1 = T & stk2;
4972  stk1 = ~stk1;
4973  return stk1;
4974}
4975
4976/* TSDnoan source opaque/pattern transparent. */
4977static unsigned xrop3_47_0_1 (unsigned char s, unsigned char t)
4978{
4979  unsigned D = 0x00ff;
4980  unsigned S = ((unsigned)s << 8) | s;
4981  unsigned T = ((unsigned)t << 8) | t;
4982  unsigned stk1;
4983  unsigned stk2;
4984  unsigned stk3;
4985  stk3 = ~D;
4986  stk2 = S | stk3;
4987  stk1 = T & stk2;
4988  stk1 = ~stk1;
4989  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
4990}
4991
4992/* TSDnoan source transparent/pattern opaque. */
4993static unsigned xrop3_47_1_0 (unsigned char s, unsigned char t)
4994{
4995  unsigned D = 0x00ff;
4996  unsigned S = ((unsigned)s << 8) | s;
4997  unsigned T = ((unsigned)t << 8) | t;
4998  unsigned stk1;
4999  unsigned stk2;
5000  unsigned stk3;
5001  stk3 = ~D;
5002  stk2 = S | stk3;
5003  stk1 = T & stk2;
5004  stk1 = ~stk1;
5005  return (stk1 & (~S)) | (D & S);
5006}
5007
5008/* TSDnoan source/pattern transparent. */
5009static unsigned xrop3_47_1_1 (unsigned char s, unsigned char t)
5010{
5011  unsigned D = 0x00ff;
5012  unsigned S = ((unsigned)s << 8) | s;
5013  unsigned T = ((unsigned)t << 8) | t;
5014  unsigned stk1;
5015  unsigned stk2;
5016  unsigned stk3;
5017  stk3 = ~D;
5018  stk2 = S | stk3;
5019  stk1 = T & stk2;
5020  stk1 = ~stk1;
5021  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5022}
5023
5024/* TSna source/pattern opaque. */
5025static void rop3_48_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5026{
5027  unsigned char stk1;
5028  unsigned char stk2;
5029  stk2 = ~S;
5030  stk1 = T & stk2;
5031  *D = stk1;
5032}
5033
5034/* TSna source opaque/pattern transparent. */
5035static void rop3_48_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5036{
5037  unsigned char stk1;
5038  unsigned char stk2;
5039  stk2 = ~S;
5040  stk1 = T & stk2;
5041  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5042}
5043
5044/* TSna source transparent/pattern opaque. */
5045static void rop3_48_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5046{
5047  unsigned char stk1;
5048  unsigned char stk2;
5049  stk2 = ~S;
5050  stk1 = T & stk2;
5051  *D = (stk1 & (~S)) | (*D & S);
5052}
5053
5054/* TSna source/pattern transparent. */
5055static void rop3_48_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5056{
5057  unsigned char stk1;
5058  unsigned char stk2;
5059  stk2 = ~S;
5060  stk1 = T & stk2;
5061  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5062}
5063
5064/* TSna source/pattern opaque. */
5065static unsigned xrop3_48_0_0 (unsigned char s, unsigned char t)
5066{
5067  unsigned S = ((unsigned)s << 8) | s;
5068  unsigned T = ((unsigned)t << 8) | t;
5069  unsigned stk1;
5070  unsigned stk2;
5071  stk2 = ~S;
5072  stk1 = T & stk2;
5073  return stk1;
5074}
5075
5076/* TSna source opaque/pattern transparent. */
5077static unsigned xrop3_48_0_1 (unsigned char s, unsigned char t)
5078{
5079  unsigned D = 0x00ff;
5080  unsigned S = ((unsigned)s << 8) | s;
5081  unsigned T = ((unsigned)t << 8) | t;
5082  unsigned stk1;
5083  unsigned stk2;
5084  stk2 = ~S;
5085  stk1 = T & stk2;
5086  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5087}
5088
5089/* TSna source transparent/pattern opaque. */
5090static unsigned xrop3_48_1_0 (unsigned char s, unsigned char t)
5091{
5092  unsigned D = 0x00ff;
5093  unsigned S = ((unsigned)s << 8) | s;
5094  unsigned T = ((unsigned)t << 8) | t;
5095  unsigned stk1;
5096  unsigned stk2;
5097  stk2 = ~S;
5098  stk1 = T & stk2;
5099  return (stk1 & (~S)) | (D & S);
5100}
5101
5102/* TSna source/pattern transparent. */
5103static unsigned xrop3_48_1_1 (unsigned char s, unsigned char t)
5104{
5105  unsigned D = 0x00ff;
5106  unsigned S = ((unsigned)s << 8) | s;
5107  unsigned T = ((unsigned)t << 8) | t;
5108  unsigned stk1;
5109  unsigned stk2;
5110  stk2 = ~S;
5111  stk1 = T & stk2;
5112  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5113}
5114
5115/* SDTnaon source/pattern opaque. */
5116static void rop3_49_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5117{
5118  unsigned char stk1;
5119  unsigned char stk2;
5120  unsigned char stk3;
5121  stk3 = ~T;
5122  stk2 = *D & stk3;
5123  stk1 = S | stk2;
5124  stk1 = ~stk1;
5125  *D = stk1;
5126}
5127
5128/* SDTnaon source opaque/pattern transparent. */
5129static void rop3_49_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5130{
5131  unsigned char stk1;
5132  unsigned char stk2;
5133  unsigned char stk3;
5134  stk3 = ~T;
5135  stk2 = *D & stk3;
5136  stk1 = S | stk2;
5137  stk1 = ~stk1;
5138  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5139}
5140
5141/* SDTnaon source transparent/pattern opaque. */
5142static void rop3_49_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5143{
5144  unsigned char stk1;
5145  unsigned char stk2;
5146  unsigned char stk3;
5147  stk3 = ~T;
5148  stk2 = *D & stk3;
5149  stk1 = S | stk2;
5150  stk1 = ~stk1;
5151  *D = (stk1 & (~S)) | (*D & S);
5152}
5153
5154/* SDTnaon source/pattern transparent. */
5155static void rop3_49_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5156{
5157  unsigned char stk1;
5158  unsigned char stk2;
5159  unsigned char stk3;
5160  stk3 = ~T;
5161  stk2 = *D & stk3;
5162  stk1 = S | stk2;
5163  stk1 = ~stk1;
5164  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5165}
5166
5167/* SDTnaon source/pattern opaque. */
5168static unsigned xrop3_49_0_0 (unsigned char s, unsigned char t)
5169{
5170  unsigned D = 0x00ff;
5171  unsigned S = ((unsigned)s << 8) | s;
5172  unsigned T = ((unsigned)t << 8) | t;
5173  unsigned stk1;
5174  unsigned stk2;
5175  unsigned stk3;
5176  stk3 = ~T;
5177  stk2 = D & stk3;
5178  stk1 = S | stk2;
5179  stk1 = ~stk1;
5180  return stk1;
5181}
5182
5183/* SDTnaon source opaque/pattern transparent. */
5184static unsigned xrop3_49_0_1 (unsigned char s, unsigned char t)
5185{
5186  unsigned D = 0x00ff;
5187  unsigned S = ((unsigned)s << 8) | s;
5188  unsigned T = ((unsigned)t << 8) | t;
5189  unsigned stk1;
5190  unsigned stk2;
5191  unsigned stk3;
5192  stk3 = ~T;
5193  stk2 = D & stk3;
5194  stk1 = S | stk2;
5195  stk1 = ~stk1;
5196  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5197}
5198
5199/* SDTnaon source transparent/pattern opaque. */
5200static unsigned xrop3_49_1_0 (unsigned char s, unsigned char t)
5201{
5202  unsigned D = 0x00ff;
5203  unsigned S = ((unsigned)s << 8) | s;
5204  unsigned T = ((unsigned)t << 8) | t;
5205  unsigned stk1;
5206  unsigned stk2;
5207  unsigned stk3;
5208  stk3 = ~T;
5209  stk2 = D & stk3;
5210  stk1 = S | stk2;
5211  stk1 = ~stk1;
5212  return (stk1 & (~S)) | (D & S);
5213}
5214
5215/* SDTnaon source/pattern transparent. */
5216static unsigned xrop3_49_1_1 (unsigned char s, unsigned char t)
5217{
5218  unsigned D = 0x00ff;
5219  unsigned S = ((unsigned)s << 8) | s;
5220  unsigned T = ((unsigned)t << 8) | t;
5221  unsigned stk1;
5222  unsigned stk2;
5223  unsigned stk3;
5224  stk3 = ~T;
5225  stk2 = D & stk3;
5226  stk1 = S | stk2;
5227  stk1 = ~stk1;
5228  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5229}
5230
5231/* SDTSoox source/pattern opaque. */
5232static void rop3_50_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5233{
5234  unsigned char stk1;
5235  unsigned char stk2;
5236  unsigned char stk3;
5237  stk3 = T | S;
5238  stk2 = *D | stk3;
5239  stk1 = S ^ stk2;
5240  *D = stk1;
5241}
5242
5243/* SDTSoox source opaque/pattern transparent. */
5244static void rop3_50_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5245{
5246  unsigned char stk1;
5247  unsigned char stk2;
5248  unsigned char stk3;
5249  stk3 = T | S;
5250  stk2 = *D | stk3;
5251  stk1 = S ^ stk2;
5252  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5253}
5254
5255/* SDTSoox source transparent/pattern opaque. */
5256static void rop3_50_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5257{
5258  unsigned char stk1;
5259  unsigned char stk2;
5260  unsigned char stk3;
5261  stk3 = T | S;
5262  stk2 = *D | stk3;
5263  stk1 = S ^ stk2;
5264  *D = (stk1 & (~S)) | (*D & S);
5265}
5266
5267/* SDTSoox source/pattern transparent. */
5268static void rop3_50_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5269{
5270  unsigned char stk1;
5271  unsigned char stk2;
5272  unsigned char stk3;
5273  stk3 = T | S;
5274  stk2 = *D | stk3;
5275  stk1 = S ^ stk2;
5276  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5277}
5278
5279/* SDTSoox source/pattern opaque. */
5280static unsigned xrop3_50_0_0 (unsigned char s, unsigned char t)
5281{
5282  unsigned D = 0x00ff;
5283  unsigned S = ((unsigned)s << 8) | s;
5284  unsigned T = ((unsigned)t << 8) | t;
5285  unsigned stk1;
5286  unsigned stk2;
5287  unsigned stk3;
5288  stk3 = T | S;
5289  stk2 = D | stk3;
5290  stk1 = S ^ stk2;
5291  return stk1;
5292}
5293
5294/* SDTSoox source opaque/pattern transparent. */
5295static unsigned xrop3_50_0_1 (unsigned char s, unsigned char t)
5296{
5297  unsigned D = 0x00ff;
5298  unsigned S = ((unsigned)s << 8) | s;
5299  unsigned T = ((unsigned)t << 8) | t;
5300  unsigned stk1;
5301  unsigned stk2;
5302  unsigned stk3;
5303  stk3 = T | S;
5304  stk2 = D | stk3;
5305  stk1 = S ^ stk2;
5306  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5307}
5308
5309/* SDTSoox source transparent/pattern opaque. */
5310static unsigned xrop3_50_1_0 (unsigned char s, unsigned char t)
5311{
5312  unsigned D = 0x00ff;
5313  unsigned S = ((unsigned)s << 8) | s;
5314  unsigned T = ((unsigned)t << 8) | t;
5315  unsigned stk1;
5316  unsigned stk2;
5317  unsigned stk3;
5318  stk3 = T | S;
5319  stk2 = D | stk3;
5320  stk1 = S ^ stk2;
5321  return (stk1 & (~S)) | (D & S);
5322}
5323
5324/* SDTSoox source/pattern transparent. */
5325static unsigned xrop3_50_1_1 (unsigned char s, unsigned char t)
5326{
5327  unsigned D = 0x00ff;
5328  unsigned S = ((unsigned)s << 8) | s;
5329  unsigned T = ((unsigned)t << 8) | t;
5330  unsigned stk1;
5331  unsigned stk2;
5332  unsigned stk3;
5333  stk3 = T | S;
5334  stk2 = D | stk3;
5335  stk1 = S ^ stk2;
5336  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5337}
5338
5339/* Sn source/pattern opaque. */
5340static void rop3_51_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5341{
5342  unsigned char stk1;
5343  stk1 = ~S;
5344  *D = stk1;
5345}
5346
5347/* Sn source opaque/pattern transparent. */
5348static void rop3_51_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5349{
5350  unsigned char stk1;
5351  stk1 = ~S;
5352  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5353}
5354
5355/* Sn source transparent/pattern opaque. */
5356static void rop3_51_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5357{
5358  unsigned char stk1;
5359  stk1 = ~S;
5360  *D = (stk1 & (~S)) | (*D & S);
5361}
5362
5363/* Sn source/pattern transparent. */
5364static void rop3_51_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5365{
5366  unsigned char stk1;
5367  stk1 = ~S;
5368  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5369}
5370
5371/* Sn source/pattern opaque. */
5372static unsigned xrop3_51_0_0 (unsigned char s, unsigned char t)
5373{
5374  unsigned S = ((unsigned)s << 8) | s;
5375  unsigned stk1;
5376  stk1 = ~S;
5377  return stk1;
5378}
5379
5380/* Sn source opaque/pattern transparent. */
5381static unsigned xrop3_51_0_1 (unsigned char s, unsigned char t)
5382{
5383  unsigned D = 0x00ff;
5384  unsigned S = ((unsigned)s << 8) | s;
5385  unsigned T = ((unsigned)t << 8) | t;
5386  unsigned stk1;
5387  stk1 = ~S;
5388  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5389}
5390
5391/* Sn source transparent/pattern opaque. */
5392static unsigned xrop3_51_1_0 (unsigned char s, unsigned char t)
5393{
5394  unsigned D = 0x00ff;
5395  unsigned S = ((unsigned)s << 8) | s;
5396  unsigned stk1;
5397  stk1 = ~S;
5398  return (stk1 & (~S)) | (D & S);
5399}
5400
5401/* Sn source/pattern transparent. */
5402static unsigned xrop3_51_1_1 (unsigned char s, unsigned char t)
5403{
5404  unsigned D = 0x00ff;
5405  unsigned S = ((unsigned)s << 8) | s;
5406  unsigned T = ((unsigned)t << 8) | t;
5407  unsigned stk1;
5408  stk1 = ~S;
5409  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5410}
5411
5412/* STDSaox source/pattern opaque. */
5413static void rop3_52_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5414{
5415  unsigned char stk1;
5416  unsigned char stk2;
5417  unsigned char stk3;
5418  stk3 = *D & S;
5419  stk2 = T | stk3;
5420  stk1 = S ^ stk2;
5421  *D = stk1;
5422}
5423
5424/* STDSaox source opaque/pattern transparent. */
5425static void rop3_52_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5426{
5427  unsigned char stk1;
5428  unsigned char stk2;
5429  unsigned char stk3;
5430  stk3 = *D & S;
5431  stk2 = T | stk3;
5432  stk1 = S ^ stk2;
5433  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5434}
5435
5436/* STDSaox source transparent/pattern opaque. */
5437static void rop3_52_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5438{
5439  unsigned char stk1;
5440  unsigned char stk2;
5441  unsigned char stk3;
5442  stk3 = *D & S;
5443  stk2 = T | stk3;
5444  stk1 = S ^ stk2;
5445  *D = (stk1 & (~S)) | (*D & S);
5446}
5447
5448/* STDSaox source/pattern transparent. */
5449static void rop3_52_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5450{
5451  unsigned char stk1;
5452  unsigned char stk2;
5453  unsigned char stk3;
5454  stk3 = *D & S;
5455  stk2 = T | stk3;
5456  stk1 = S ^ stk2;
5457  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5458}
5459
5460/* STDSaox source/pattern opaque. */
5461static unsigned xrop3_52_0_0 (unsigned char s, unsigned char t)
5462{
5463  unsigned D = 0x00ff;
5464  unsigned S = ((unsigned)s << 8) | s;
5465  unsigned T = ((unsigned)t << 8) | t;
5466  unsigned stk1;
5467  unsigned stk2;
5468  unsigned stk3;
5469  stk3 = D & S;
5470  stk2 = T | stk3;
5471  stk1 = S ^ stk2;
5472  return stk1;
5473}
5474
5475/* STDSaox source opaque/pattern transparent. */
5476static unsigned xrop3_52_0_1 (unsigned char s, unsigned char t)
5477{
5478  unsigned D = 0x00ff;
5479  unsigned S = ((unsigned)s << 8) | s;
5480  unsigned T = ((unsigned)t << 8) | t;
5481  unsigned stk1;
5482  unsigned stk2;
5483  unsigned stk3;
5484  stk3 = D & S;
5485  stk2 = T | stk3;
5486  stk1 = S ^ stk2;
5487  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5488}
5489
5490/* STDSaox source transparent/pattern opaque. */
5491static unsigned xrop3_52_1_0 (unsigned char s, unsigned char t)
5492{
5493  unsigned D = 0x00ff;
5494  unsigned S = ((unsigned)s << 8) | s;
5495  unsigned T = ((unsigned)t << 8) | t;
5496  unsigned stk1;
5497  unsigned stk2;
5498  unsigned stk3;
5499  stk3 = D & S;
5500  stk2 = T | stk3;
5501  stk1 = S ^ stk2;
5502  return (stk1 & (~S)) | (D & S);
5503}
5504
5505/* STDSaox source/pattern transparent. */
5506static unsigned xrop3_52_1_1 (unsigned char s, unsigned char t)
5507{
5508  unsigned D = 0x00ff;
5509  unsigned S = ((unsigned)s << 8) | s;
5510  unsigned T = ((unsigned)t << 8) | t;
5511  unsigned stk1;
5512  unsigned stk2;
5513  unsigned stk3;
5514  stk3 = D & S;
5515  stk2 = T | stk3;
5516  stk1 = S ^ stk2;
5517  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5518}
5519
5520/* STDSxnox source/pattern opaque. */
5521static void rop3_53_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5522{
5523  unsigned char stk1;
5524  unsigned char stk2;
5525  unsigned char stk3;
5526  stk3 = *D ^ S;
5527  stk3 = ~stk3;
5528  stk2 = T | stk3;
5529  stk1 = S ^ stk2;
5530  *D = stk1;
5531}
5532
5533/* STDSxnox source opaque/pattern transparent. */
5534static void rop3_53_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5535{
5536  unsigned char stk1;
5537  unsigned char stk2;
5538  unsigned char stk3;
5539  stk3 = *D ^ S;
5540  stk3 = ~stk3;
5541  stk2 = T | stk3;
5542  stk1 = S ^ stk2;
5543  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5544}
5545
5546/* STDSxnox source transparent/pattern opaque. */
5547static void rop3_53_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5548{
5549  unsigned char stk1;
5550  unsigned char stk2;
5551  unsigned char stk3;
5552  stk3 = *D ^ S;
5553  stk3 = ~stk3;
5554  stk2 = T | stk3;
5555  stk1 = S ^ stk2;
5556  *D = (stk1 & (~S)) | (*D & S);
5557}
5558
5559/* STDSxnox source/pattern transparent. */
5560static void rop3_53_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5561{
5562  unsigned char stk1;
5563  unsigned char stk2;
5564  unsigned char stk3;
5565  stk3 = *D ^ S;
5566  stk3 = ~stk3;
5567  stk2 = T | stk3;
5568  stk1 = S ^ stk2;
5569  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5570}
5571
5572/* STDSxnox source/pattern opaque. */
5573static unsigned xrop3_53_0_0 (unsigned char s, unsigned char t)
5574{
5575  unsigned D = 0x00ff;
5576  unsigned S = ((unsigned)s << 8) | s;
5577  unsigned T = ((unsigned)t << 8) | t;
5578  unsigned stk1;
5579  unsigned stk2;
5580  unsigned stk3;
5581  stk3 = D ^ S;
5582  stk3 = ~stk3;
5583  stk2 = T | stk3;
5584  stk1 = S ^ stk2;
5585  return stk1;
5586}
5587
5588/* STDSxnox source opaque/pattern transparent. */
5589static unsigned xrop3_53_0_1 (unsigned char s, unsigned char t)
5590{
5591  unsigned D = 0x00ff;
5592  unsigned S = ((unsigned)s << 8) | s;
5593  unsigned T = ((unsigned)t << 8) | t;
5594  unsigned stk1;
5595  unsigned stk2;
5596  unsigned stk3;
5597  stk3 = D ^ S;
5598  stk3 = ~stk3;
5599  stk2 = T | stk3;
5600  stk1 = S ^ stk2;
5601  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5602}
5603
5604/* STDSxnox source transparent/pattern opaque. */
5605static unsigned xrop3_53_1_0 (unsigned char s, unsigned char t)
5606{
5607  unsigned D = 0x00ff;
5608  unsigned S = ((unsigned)s << 8) | s;
5609  unsigned T = ((unsigned)t << 8) | t;
5610  unsigned stk1;
5611  unsigned stk2;
5612  unsigned stk3;
5613  stk3 = D ^ S;
5614  stk3 = ~stk3;
5615  stk2 = T | stk3;
5616  stk1 = S ^ stk2;
5617  return (stk1 & (~S)) | (D & S);
5618}
5619
5620/* STDSxnox source/pattern transparent. */
5621static unsigned xrop3_53_1_1 (unsigned char s, unsigned char t)
5622{
5623  unsigned D = 0x00ff;
5624  unsigned S = ((unsigned)s << 8) | s;
5625  unsigned T = ((unsigned)t << 8) | t;
5626  unsigned stk1;
5627  unsigned stk2;
5628  unsigned stk3;
5629  stk3 = D ^ S;
5630  stk3 = ~stk3;
5631  stk2 = T | stk3;
5632  stk1 = S ^ stk2;
5633  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5634}
5635
5636/* SDTox source/pattern opaque. */
5637static void rop3_54_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5638{
5639  unsigned char stk1;
5640  unsigned char stk2;
5641  stk2 = *D | T;
5642  stk1 = S ^ stk2;
5643  *D = stk1;
5644}
5645
5646/* SDTox source opaque/pattern transparent. */
5647static void rop3_54_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5648{
5649  unsigned char stk1;
5650  unsigned char stk2;
5651  stk2 = *D | T;
5652  stk1 = S ^ stk2;
5653  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5654}
5655
5656/* SDTox source transparent/pattern opaque. */
5657static void rop3_54_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5658{
5659  unsigned char stk1;
5660  unsigned char stk2;
5661  stk2 = *D | T;
5662  stk1 = S ^ stk2;
5663  *D = (stk1 & (~S)) | (*D & S);
5664}
5665
5666/* SDTox source/pattern transparent. */
5667static void rop3_54_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5668{
5669  unsigned char stk1;
5670  unsigned char stk2;
5671  stk2 = *D | T;
5672  stk1 = S ^ stk2;
5673  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5674}
5675
5676/* SDTox source/pattern opaque. */
5677static unsigned xrop3_54_0_0 (unsigned char s, unsigned char t)
5678{
5679  unsigned D = 0x00ff;
5680  unsigned S = ((unsigned)s << 8) | s;
5681  unsigned T = ((unsigned)t << 8) | t;
5682  unsigned stk1;
5683  unsigned stk2;
5684  stk2 = D | T;
5685  stk1 = S ^ stk2;
5686  return stk1;
5687}
5688
5689/* SDTox source opaque/pattern transparent. */
5690static unsigned xrop3_54_0_1 (unsigned char s, unsigned char t)
5691{
5692  unsigned D = 0x00ff;
5693  unsigned S = ((unsigned)s << 8) | s;
5694  unsigned T = ((unsigned)t << 8) | t;
5695  unsigned stk1;
5696  unsigned stk2;
5697  stk2 = D | T;
5698  stk1 = S ^ stk2;
5699  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5700}
5701
5702/* SDTox source transparent/pattern opaque. */
5703static unsigned xrop3_54_1_0 (unsigned char s, unsigned char t)
5704{
5705  unsigned D = 0x00ff;
5706  unsigned S = ((unsigned)s << 8) | s;
5707  unsigned T = ((unsigned)t << 8) | t;
5708  unsigned stk1;
5709  unsigned stk2;
5710  stk2 = D | T;
5711  stk1 = S ^ stk2;
5712  return (stk1 & (~S)) | (D & S);
5713}
5714
5715/* SDTox source/pattern transparent. */
5716static unsigned xrop3_54_1_1 (unsigned char s, unsigned char t)
5717{
5718  unsigned D = 0x00ff;
5719  unsigned S = ((unsigned)s << 8) | s;
5720  unsigned T = ((unsigned)t << 8) | t;
5721  unsigned stk1;
5722  unsigned stk2;
5723  stk2 = D | T;
5724  stk1 = S ^ stk2;
5725  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5726}
5727
5728/* SDToan source/pattern opaque. */
5729static void rop3_55_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5730{
5731  unsigned char stk1;
5732  unsigned char stk2;
5733  stk2 = *D | T;
5734  stk1 = S & stk2;
5735  stk1 = ~stk1;
5736  *D = stk1;
5737}
5738
5739/* SDToan source opaque/pattern transparent. */
5740static void rop3_55_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5741{
5742  unsigned char stk1;
5743  unsigned char stk2;
5744  stk2 = *D | T;
5745  stk1 = S & stk2;
5746  stk1 = ~stk1;
5747  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5748}
5749
5750/* SDToan source transparent/pattern opaque. */
5751static void rop3_55_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5752{
5753  unsigned char stk1;
5754  unsigned char stk2;
5755  stk2 = *D | T;
5756  stk1 = S & stk2;
5757  stk1 = ~stk1;
5758  *D = (stk1 & (~S)) | (*D & S);
5759}
5760
5761/* SDToan source/pattern transparent. */
5762static void rop3_55_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5763{
5764  unsigned char stk1;
5765  unsigned char stk2;
5766  stk2 = *D | T;
5767  stk1 = S & stk2;
5768  stk1 = ~stk1;
5769  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5770}
5771
5772/* SDToan source/pattern opaque. */
5773static unsigned xrop3_55_0_0 (unsigned char s, unsigned char t)
5774{
5775  unsigned D = 0x00ff;
5776  unsigned S = ((unsigned)s << 8) | s;
5777  unsigned T = ((unsigned)t << 8) | t;
5778  unsigned stk1;
5779  unsigned stk2;
5780  stk2 = D | T;
5781  stk1 = S & stk2;
5782  stk1 = ~stk1;
5783  return stk1;
5784}
5785
5786/* SDToan source opaque/pattern transparent. */
5787static unsigned xrop3_55_0_1 (unsigned char s, unsigned char t)
5788{
5789  unsigned D = 0x00ff;
5790  unsigned S = ((unsigned)s << 8) | s;
5791  unsigned T = ((unsigned)t << 8) | t;
5792  unsigned stk1;
5793  unsigned stk2;
5794  stk2 = D | T;
5795  stk1 = S & stk2;
5796  stk1 = ~stk1;
5797  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5798}
5799
5800/* SDToan source transparent/pattern opaque. */
5801static unsigned xrop3_55_1_0 (unsigned char s, unsigned char t)
5802{
5803  unsigned D = 0x00ff;
5804  unsigned S = ((unsigned)s << 8) | s;
5805  unsigned T = ((unsigned)t << 8) | t;
5806  unsigned stk1;
5807  unsigned stk2;
5808  stk2 = D | T;
5809  stk1 = S & stk2;
5810  stk1 = ~stk1;
5811  return (stk1 & (~S)) | (D & S);
5812}
5813
5814/* SDToan source/pattern transparent. */
5815static unsigned xrop3_55_1_1 (unsigned char s, unsigned char t)
5816{
5817  unsigned D = 0x00ff;
5818  unsigned S = ((unsigned)s << 8) | s;
5819  unsigned T = ((unsigned)t << 8) | t;
5820  unsigned stk1;
5821  unsigned stk2;
5822  stk2 = D | T;
5823  stk1 = S & stk2;
5824  stk1 = ~stk1;
5825  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5826}
5827
5828/* TSDToax source/pattern opaque. */
5829static void rop3_56_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5830{
5831  unsigned char stk1;
5832  unsigned char stk2;
5833  unsigned char stk3;
5834  stk3 = *D | T;
5835  stk2 = S & stk3;
5836  stk1 = T ^ stk2;
5837  *D = stk1;
5838}
5839
5840/* TSDToax source opaque/pattern transparent. */
5841static void rop3_56_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5842{
5843  unsigned char stk1;
5844  unsigned char stk2;
5845  unsigned char stk3;
5846  stk3 = *D | T;
5847  stk2 = S & stk3;
5848  stk1 = T ^ stk2;
5849  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5850}
5851
5852/* TSDToax source transparent/pattern opaque. */
5853static void rop3_56_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5854{
5855  unsigned char stk1;
5856  unsigned char stk2;
5857  unsigned char stk3;
5858  stk3 = *D | T;
5859  stk2 = S & stk3;
5860  stk1 = T ^ stk2;
5861  *D = (stk1 & (~S)) | (*D & S);
5862}
5863
5864/* TSDToax source/pattern transparent. */
5865static void rop3_56_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5866{
5867  unsigned char stk1;
5868  unsigned char stk2;
5869  unsigned char stk3;
5870  stk3 = *D | T;
5871  stk2 = S & stk3;
5872  stk1 = T ^ stk2;
5873  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5874}
5875
5876/* TSDToax source/pattern opaque. */
5877static unsigned xrop3_56_0_0 (unsigned char s, unsigned char t)
5878{
5879  unsigned D = 0x00ff;
5880  unsigned S = ((unsigned)s << 8) | s;
5881  unsigned T = ((unsigned)t << 8) | t;
5882  unsigned stk1;
5883  unsigned stk2;
5884  unsigned stk3;
5885  stk3 = D | T;
5886  stk2 = S & stk3;
5887  stk1 = T ^ stk2;
5888  return stk1;
5889}
5890
5891/* TSDToax source opaque/pattern transparent. */
5892static unsigned xrop3_56_0_1 (unsigned char s, unsigned char t)
5893{
5894  unsigned D = 0x00ff;
5895  unsigned S = ((unsigned)s << 8) | s;
5896  unsigned T = ((unsigned)t << 8) | t;
5897  unsigned stk1;
5898  unsigned stk2;
5899  unsigned stk3;
5900  stk3 = D | T;
5901  stk2 = S & stk3;
5902  stk1 = T ^ stk2;
5903  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
5904}
5905
5906/* TSDToax source transparent/pattern opaque. */
5907static unsigned xrop3_56_1_0 (unsigned char s, unsigned char t)
5908{
5909  unsigned D = 0x00ff;
5910  unsigned S = ((unsigned)s << 8) | s;
5911  unsigned T = ((unsigned)t << 8) | t;
5912  unsigned stk1;
5913  unsigned stk2;
5914  unsigned stk3;
5915  stk3 = D | T;
5916  stk2 = S & stk3;
5917  stk1 = T ^ stk2;
5918  return (stk1 & (~S)) | (D & S);
5919}
5920
5921/* TSDToax source/pattern transparent. */
5922static unsigned xrop3_56_1_1 (unsigned char s, unsigned char t)
5923{
5924  unsigned D = 0x00ff;
5925  unsigned S = ((unsigned)s << 8) | s;
5926  unsigned T = ((unsigned)t << 8) | t;
5927  unsigned stk1;
5928  unsigned stk2;
5929  unsigned stk3;
5930  stk3 = D | T;
5931  stk2 = S & stk3;
5932  stk1 = T ^ stk2;
5933  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
5934}
5935
5936/* STDnox source/pattern opaque. */
5937static void rop3_57_0_0 (unsigned char *D, unsigned char S, unsigned char T)
5938{
5939  unsigned char stk1;
5940  unsigned char stk2;
5941  unsigned char stk3;
5942  stk3 = ~*D;
5943  stk2 = T | stk3;
5944  stk1 = S ^ stk2;
5945  *D = stk1;
5946}
5947
5948/* STDnox source opaque/pattern transparent. */
5949static void rop3_57_0_1 (unsigned char *D, unsigned char S, unsigned char T)
5950{
5951  unsigned char stk1;
5952  unsigned char stk2;
5953  unsigned char stk3;
5954  stk3 = ~*D;
5955  stk2 = T | stk3;
5956  stk1 = S ^ stk2;
5957  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
5958}
5959
5960/* STDnox source transparent/pattern opaque. */
5961static void rop3_57_1_0 (unsigned char *D, unsigned char S, unsigned char T)
5962{
5963  unsigned char stk1;
5964  unsigned char stk2;
5965  unsigned char stk3;
5966  stk3 = ~*D;
5967  stk2 = T | stk3;
5968  stk1 = S ^ stk2;
5969  *D = (stk1 & (~S)) | (*D & S);
5970}
5971
5972/* STDnox source/pattern transparent. */
5973static void rop3_57_1_1 (unsigned char *D, unsigned char S, unsigned char T)
5974{
5975  unsigned char stk1;
5976  unsigned char stk2;
5977  unsigned char stk3;
5978  stk3 = ~*D;
5979  stk2 = T | stk3;
5980  stk1 = S ^ stk2;
5981  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
5982}
5983
5984/* STDnox source/pattern opaque. */
5985static unsigned xrop3_57_0_0 (unsigned char s, unsigned char t)
5986{
5987  unsigned D = 0x00ff;
5988  unsigned S = ((unsigned)s << 8) | s;
5989  unsigned T = ((unsigned)t << 8) | t;
5990  unsigned stk1;
5991  unsigned stk2;
5992  unsigned stk3;
5993  stk3 = ~D;
5994  stk2 = T | stk3;
5995  stk1 = S ^ stk2;
5996  return stk1;
5997}
5998
5999/* STDnox source opaque/pattern transparent. */
6000static unsigned xrop3_57_0_1 (unsigned char s, unsigned char t)
6001{
6002  unsigned D = 0x00ff;
6003  unsigned S = ((unsigned)s << 8) | s;
6004  unsigned T = ((unsigned)t << 8) | t;
6005  unsigned stk1;
6006  unsigned stk2;
6007  unsigned stk3;
6008  stk3 = ~D;
6009  stk2 = T | stk3;
6010  stk1 = S ^ stk2;
6011  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6012}
6013
6014/* STDnox source transparent/pattern opaque. */
6015static unsigned xrop3_57_1_0 (unsigned char s, unsigned char t)
6016{
6017  unsigned D = 0x00ff;
6018  unsigned S = ((unsigned)s << 8) | s;
6019  unsigned T = ((unsigned)t << 8) | t;
6020  unsigned stk1;
6021  unsigned stk2;
6022  unsigned stk3;
6023  stk3 = ~D;
6024  stk2 = T | stk3;
6025  stk1 = S ^ stk2;
6026  return (stk1 & (~S)) | (D & S);
6027}
6028
6029/* STDnox source/pattern transparent. */
6030static unsigned xrop3_57_1_1 (unsigned char s, unsigned char t)
6031{
6032  unsigned D = 0x00ff;
6033  unsigned S = ((unsigned)s << 8) | s;
6034  unsigned T = ((unsigned)t << 8) | t;
6035  unsigned stk1;
6036  unsigned stk2;
6037  unsigned stk3;
6038  stk3 = ~D;
6039  stk2 = T | stk3;
6040  stk1 = S ^ stk2;
6041  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6042}
6043
6044/* STDSxox source/pattern opaque. */
6045static void rop3_58_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6046{
6047  unsigned char stk1;
6048  unsigned char stk2;
6049  unsigned char stk3;
6050  stk3 = *D ^ S;
6051  stk2 = T | stk3;
6052  stk1 = S ^ stk2;
6053  *D = stk1;
6054}
6055
6056/* STDSxox source opaque/pattern transparent. */
6057static void rop3_58_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6058{
6059  unsigned char stk1;
6060  unsigned char stk2;
6061  unsigned char stk3;
6062  stk3 = *D ^ S;
6063  stk2 = T | stk3;
6064  stk1 = S ^ stk2;
6065  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6066}
6067
6068/* STDSxox source transparent/pattern opaque. */
6069static void rop3_58_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6070{
6071  unsigned char stk1;
6072  unsigned char stk2;
6073  unsigned char stk3;
6074  stk3 = *D ^ S;
6075  stk2 = T | stk3;
6076  stk1 = S ^ stk2;
6077  *D = (stk1 & (~S)) | (*D & S);
6078}
6079
6080/* STDSxox source/pattern transparent. */
6081static void rop3_58_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6082{
6083  unsigned char stk1;
6084  unsigned char stk2;
6085  unsigned char stk3;
6086  stk3 = *D ^ S;
6087  stk2 = T | stk3;
6088  stk1 = S ^ stk2;
6089  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6090}
6091
6092/* STDSxox source/pattern opaque. */
6093static unsigned xrop3_58_0_0 (unsigned char s, unsigned char t)
6094{
6095  unsigned D = 0x00ff;
6096  unsigned S = ((unsigned)s << 8) | s;
6097  unsigned T = ((unsigned)t << 8) | t;
6098  unsigned stk1;
6099  unsigned stk2;
6100  unsigned stk3;
6101  stk3 = D ^ S;
6102  stk2 = T | stk3;
6103  stk1 = S ^ stk2;
6104  return stk1;
6105}
6106
6107/* STDSxox source opaque/pattern transparent. */
6108static unsigned xrop3_58_0_1 (unsigned char s, unsigned char t)
6109{
6110  unsigned D = 0x00ff;
6111  unsigned S = ((unsigned)s << 8) | s;
6112  unsigned T = ((unsigned)t << 8) | t;
6113  unsigned stk1;
6114  unsigned stk2;
6115  unsigned stk3;
6116  stk3 = D ^ S;
6117  stk2 = T | stk3;
6118  stk1 = S ^ stk2;
6119  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6120}
6121
6122/* STDSxox source transparent/pattern opaque. */
6123static unsigned xrop3_58_1_0 (unsigned char s, unsigned char t)
6124{
6125  unsigned D = 0x00ff;
6126  unsigned S = ((unsigned)s << 8) | s;
6127  unsigned T = ((unsigned)t << 8) | t;
6128  unsigned stk1;
6129  unsigned stk2;
6130  unsigned stk3;
6131  stk3 = D ^ S;
6132  stk2 = T | stk3;
6133  stk1 = S ^ stk2;
6134  return (stk1 & (~S)) | (D & S);
6135}
6136
6137/* STDSxox source/pattern transparent. */
6138static unsigned xrop3_58_1_1 (unsigned char s, unsigned char t)
6139{
6140  unsigned D = 0x00ff;
6141  unsigned S = ((unsigned)s << 8) | s;
6142  unsigned T = ((unsigned)t << 8) | t;
6143  unsigned stk1;
6144  unsigned stk2;
6145  unsigned stk3;
6146  stk3 = D ^ S;
6147  stk2 = T | stk3;
6148  stk1 = S ^ stk2;
6149  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6150}
6151
6152/* STDnoan source/pattern opaque. */
6153static void rop3_59_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6154{
6155  unsigned char stk1;
6156  unsigned char stk2;
6157  unsigned char stk3;
6158  stk3 = ~*D;
6159  stk2 = T | stk3;
6160  stk1 = S & stk2;
6161  stk1 = ~stk1;
6162  *D = stk1;
6163}
6164
6165/* STDnoan source opaque/pattern transparent. */
6166static void rop3_59_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6167{
6168  unsigned char stk1;
6169  unsigned char stk2;
6170  unsigned char stk3;
6171  stk3 = ~*D;
6172  stk2 = T | stk3;
6173  stk1 = S & stk2;
6174  stk1 = ~stk1;
6175  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6176}
6177
6178/* STDnoan source transparent/pattern opaque. */
6179static void rop3_59_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6180{
6181  unsigned char stk1;
6182  unsigned char stk2;
6183  unsigned char stk3;
6184  stk3 = ~*D;
6185  stk2 = T | stk3;
6186  stk1 = S & stk2;
6187  stk1 = ~stk1;
6188  *D = (stk1 & (~S)) | (*D & S);
6189}
6190
6191/* STDnoan source/pattern transparent. */
6192static void rop3_59_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6193{
6194  unsigned char stk1;
6195  unsigned char stk2;
6196  unsigned char stk3;
6197  stk3 = ~*D;
6198  stk2 = T | stk3;
6199  stk1 = S & stk2;
6200  stk1 = ~stk1;
6201  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6202}
6203
6204/* STDnoan source/pattern opaque. */
6205static unsigned xrop3_59_0_0 (unsigned char s, unsigned char t)
6206{
6207  unsigned D = 0x00ff;
6208  unsigned S = ((unsigned)s << 8) | s;
6209  unsigned T = ((unsigned)t << 8) | t;
6210  unsigned stk1;
6211  unsigned stk2;
6212  unsigned stk3;
6213  stk3 = ~D;
6214  stk2 = T | stk3;
6215  stk1 = S & stk2;
6216  stk1 = ~stk1;
6217  return stk1;
6218}
6219
6220/* STDnoan source opaque/pattern transparent. */
6221static unsigned xrop3_59_0_1 (unsigned char s, unsigned char t)
6222{
6223  unsigned D = 0x00ff;
6224  unsigned S = ((unsigned)s << 8) | s;
6225  unsigned T = ((unsigned)t << 8) | t;
6226  unsigned stk1;
6227  unsigned stk2;
6228  unsigned stk3;
6229  stk3 = ~D;
6230  stk2 = T | stk3;
6231  stk1 = S & stk2;
6232  stk1 = ~stk1;
6233  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6234}
6235
6236/* STDnoan source transparent/pattern opaque. */
6237static unsigned xrop3_59_1_0 (unsigned char s, unsigned char t)
6238{
6239  unsigned D = 0x00ff;
6240  unsigned S = ((unsigned)s << 8) | s;
6241  unsigned T = ((unsigned)t << 8) | t;
6242  unsigned stk1;
6243  unsigned stk2;
6244  unsigned stk3;
6245  stk3 = ~D;
6246  stk2 = T | stk3;
6247  stk1 = S & stk2;
6248  stk1 = ~stk1;
6249  return (stk1 & (~S)) | (D & S);
6250}
6251
6252/* STDnoan source/pattern transparent. */
6253static unsigned xrop3_59_1_1 (unsigned char s, unsigned char t)
6254{
6255  unsigned D = 0x00ff;
6256  unsigned S = ((unsigned)s << 8) | s;
6257  unsigned T = ((unsigned)t << 8) | t;
6258  unsigned stk1;
6259  unsigned stk2;
6260  unsigned stk3;
6261  stk3 = ~D;
6262  stk2 = T | stk3;
6263  stk1 = S & stk2;
6264  stk1 = ~stk1;
6265  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6266}
6267
6268/* TSx source/pattern opaque. */
6269static void rop3_60_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6270{
6271  unsigned char stk1;
6272  stk1 = T ^ S;
6273  *D = stk1;
6274}
6275
6276/* TSx source opaque/pattern transparent. */
6277static void rop3_60_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6278{
6279  unsigned char stk1;
6280  stk1 = T ^ S;
6281  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6282}
6283
6284/* TSx source transparent/pattern opaque. */
6285static void rop3_60_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6286{
6287  unsigned char stk1;
6288  stk1 = T ^ S;
6289  *D = (stk1 & (~S)) | (*D & S);
6290}
6291
6292/* TSx source/pattern transparent. */
6293static void rop3_60_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6294{
6295  unsigned char stk1;
6296  stk1 = T ^ S;
6297  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6298}
6299
6300/* TSx source/pattern opaque. */
6301static unsigned xrop3_60_0_0 (unsigned char s, unsigned char t)
6302{
6303  unsigned S = ((unsigned)s << 8) | s;
6304  unsigned T = ((unsigned)t << 8) | t;
6305  unsigned stk1;
6306  stk1 = T ^ S;
6307  return stk1;
6308}
6309
6310/* TSx source opaque/pattern transparent. */
6311static unsigned xrop3_60_0_1 (unsigned char s, unsigned char t)
6312{
6313  unsigned D = 0x00ff;
6314  unsigned S = ((unsigned)s << 8) | s;
6315  unsigned T = ((unsigned)t << 8) | t;
6316  unsigned stk1;
6317  stk1 = T ^ S;
6318  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6319}
6320
6321/* TSx source transparent/pattern opaque. */
6322static unsigned xrop3_60_1_0 (unsigned char s, unsigned char t)
6323{
6324  unsigned D = 0x00ff;
6325  unsigned S = ((unsigned)s << 8) | s;
6326  unsigned T = ((unsigned)t << 8) | t;
6327  unsigned stk1;
6328  stk1 = T ^ S;
6329  return (stk1 & (~S)) | (D & S);
6330}
6331
6332/* TSx source/pattern transparent. */
6333static unsigned xrop3_60_1_1 (unsigned char s, unsigned char t)
6334{
6335  unsigned D = 0x00ff;
6336  unsigned S = ((unsigned)s << 8) | s;
6337  unsigned T = ((unsigned)t << 8) | t;
6338  unsigned stk1;
6339  stk1 = T ^ S;
6340  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6341}
6342
6343/* STDSonox source/pattern opaque. */
6344static void rop3_61_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6345{
6346  unsigned char stk1;
6347  unsigned char stk2;
6348  unsigned char stk3;
6349  stk3 = *D | S;
6350  stk3 = ~stk3;
6351  stk2 = T | stk3;
6352  stk1 = S ^ stk2;
6353  *D = stk1;
6354}
6355
6356/* STDSonox source opaque/pattern transparent. */
6357static void rop3_61_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6358{
6359  unsigned char stk1;
6360  unsigned char stk2;
6361  unsigned char stk3;
6362  stk3 = *D | S;
6363  stk3 = ~stk3;
6364  stk2 = T | stk3;
6365  stk1 = S ^ stk2;
6366  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6367}
6368
6369/* STDSonox source transparent/pattern opaque. */
6370static void rop3_61_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6371{
6372  unsigned char stk1;
6373  unsigned char stk2;
6374  unsigned char stk3;
6375  stk3 = *D | S;
6376  stk3 = ~stk3;
6377  stk2 = T | stk3;
6378  stk1 = S ^ stk2;
6379  *D = (stk1 & (~S)) | (*D & S);
6380}
6381
6382/* STDSonox source/pattern transparent. */
6383static void rop3_61_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6384{
6385  unsigned char stk1;
6386  unsigned char stk2;
6387  unsigned char stk3;
6388  stk3 = *D | S;
6389  stk3 = ~stk3;
6390  stk2 = T | stk3;
6391  stk1 = S ^ stk2;
6392  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6393}
6394
6395/* STDSonox source/pattern opaque. */
6396static unsigned xrop3_61_0_0 (unsigned char s, unsigned char t)
6397{
6398  unsigned D = 0x00ff;
6399  unsigned S = ((unsigned)s << 8) | s;
6400  unsigned T = ((unsigned)t << 8) | t;
6401  unsigned stk1;
6402  unsigned stk2;
6403  unsigned stk3;
6404  stk3 = D | S;
6405  stk3 = ~stk3;
6406  stk2 = T | stk3;
6407  stk1 = S ^ stk2;
6408  return stk1;
6409}
6410
6411/* STDSonox source opaque/pattern transparent. */
6412static unsigned xrop3_61_0_1 (unsigned char s, unsigned char t)
6413{
6414  unsigned D = 0x00ff;
6415  unsigned S = ((unsigned)s << 8) | s;
6416  unsigned T = ((unsigned)t << 8) | t;
6417  unsigned stk1;
6418  unsigned stk2;
6419  unsigned stk3;
6420  stk3 = D | S;
6421  stk3 = ~stk3;
6422  stk2 = T | stk3;
6423  stk1 = S ^ stk2;
6424  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6425}
6426
6427/* STDSonox source transparent/pattern opaque. */
6428static unsigned xrop3_61_1_0 (unsigned char s, unsigned char t)
6429{
6430  unsigned D = 0x00ff;
6431  unsigned S = ((unsigned)s << 8) | s;
6432  unsigned T = ((unsigned)t << 8) | t;
6433  unsigned stk1;
6434  unsigned stk2;
6435  unsigned stk3;
6436  stk3 = D | S;
6437  stk3 = ~stk3;
6438  stk2 = T | stk3;
6439  stk1 = S ^ stk2;
6440  return (stk1 & (~S)) | (D & S);
6441}
6442
6443/* STDSonox source/pattern transparent. */
6444static unsigned xrop3_61_1_1 (unsigned char s, unsigned char t)
6445{
6446  unsigned D = 0x00ff;
6447  unsigned S = ((unsigned)s << 8) | s;
6448  unsigned T = ((unsigned)t << 8) | t;
6449  unsigned stk1;
6450  unsigned stk2;
6451  unsigned stk3;
6452  stk3 = D | S;
6453  stk3 = ~stk3;
6454  stk2 = T | stk3;
6455  stk1 = S ^ stk2;
6456  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6457}
6458
6459/* STDSnaox source/pattern opaque. */
6460static void rop3_62_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6461{
6462  unsigned char stk1;
6463  unsigned char stk2;
6464  unsigned char stk3;
6465  unsigned char stk4;
6466  stk4 = ~S;
6467  stk3 = *D & stk4;
6468  stk2 = T | stk3;
6469  stk1 = S ^ stk2;
6470  *D = stk1;
6471}
6472
6473/* STDSnaox source opaque/pattern transparent. */
6474static void rop3_62_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6475{
6476  unsigned char stk1;
6477  unsigned char stk2;
6478  unsigned char stk3;
6479  unsigned char stk4;
6480  stk4 = ~S;
6481  stk3 = *D & stk4;
6482  stk2 = T | stk3;
6483  stk1 = S ^ stk2;
6484  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6485}
6486
6487/* STDSnaox source transparent/pattern opaque. */
6488static void rop3_62_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6489{
6490  unsigned char stk1;
6491  unsigned char stk2;
6492  unsigned char stk3;
6493  unsigned char stk4;
6494  stk4 = ~S;
6495  stk3 = *D & stk4;
6496  stk2 = T | stk3;
6497  stk1 = S ^ stk2;
6498  *D = (stk1 & (~S)) | (*D & S);
6499}
6500
6501/* STDSnaox source/pattern transparent. */
6502static void rop3_62_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6503{
6504  unsigned char stk1;
6505  unsigned char stk2;
6506  unsigned char stk3;
6507  unsigned char stk4;
6508  stk4 = ~S;
6509  stk3 = *D & stk4;
6510  stk2 = T | stk3;
6511  stk1 = S ^ stk2;
6512  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6513}
6514
6515/* STDSnaox source/pattern opaque. */
6516static unsigned xrop3_62_0_0 (unsigned char s, unsigned char t)
6517{
6518  unsigned D = 0x00ff;
6519  unsigned S = ((unsigned)s << 8) | s;
6520  unsigned T = ((unsigned)t << 8) | t;
6521  unsigned stk1;
6522  unsigned stk2;
6523  unsigned stk3;
6524  unsigned stk4;
6525  stk4 = ~S;
6526  stk3 = D & stk4;
6527  stk2 = T | stk3;
6528  stk1 = S ^ stk2;
6529  return stk1;
6530}
6531
6532/* STDSnaox source opaque/pattern transparent. */
6533static unsigned xrop3_62_0_1 (unsigned char s, unsigned char t)
6534{
6535  unsigned D = 0x00ff;
6536  unsigned S = ((unsigned)s << 8) | s;
6537  unsigned T = ((unsigned)t << 8) | t;
6538  unsigned stk1;
6539  unsigned stk2;
6540  unsigned stk3;
6541  unsigned stk4;
6542  stk4 = ~S;
6543  stk3 = D & stk4;
6544  stk2 = T | stk3;
6545  stk1 = S ^ stk2;
6546  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6547}
6548
6549/* STDSnaox source transparent/pattern opaque. */
6550static unsigned xrop3_62_1_0 (unsigned char s, unsigned char t)
6551{
6552  unsigned D = 0x00ff;
6553  unsigned S = ((unsigned)s << 8) | s;
6554  unsigned T = ((unsigned)t << 8) | t;
6555  unsigned stk1;
6556  unsigned stk2;
6557  unsigned stk3;
6558  unsigned stk4;
6559  stk4 = ~S;
6560  stk3 = D & stk4;
6561  stk2 = T | stk3;
6562  stk1 = S ^ stk2;
6563  return (stk1 & (~S)) | (D & S);
6564}
6565
6566/* STDSnaox source/pattern transparent. */
6567static unsigned xrop3_62_1_1 (unsigned char s, unsigned char t)
6568{
6569  unsigned D = 0x00ff;
6570  unsigned S = ((unsigned)s << 8) | s;
6571  unsigned T = ((unsigned)t << 8) | t;
6572  unsigned stk1;
6573  unsigned stk2;
6574  unsigned stk3;
6575  unsigned stk4;
6576  stk4 = ~S;
6577  stk3 = D & stk4;
6578  stk2 = T | stk3;
6579  stk1 = S ^ stk2;
6580  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6581}
6582
6583/* TSan source/pattern opaque. */
6584static void rop3_63_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6585{
6586  unsigned char stk1;
6587  stk1 = T & S;
6588  stk1 = ~stk1;
6589  *D = stk1;
6590}
6591
6592/* TSan source opaque/pattern transparent. */
6593static void rop3_63_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6594{
6595  unsigned char stk1;
6596  stk1 = T & S;
6597  stk1 = ~stk1;
6598  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6599}
6600
6601/* TSan source transparent/pattern opaque. */
6602static void rop3_63_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6603{
6604  unsigned char stk1;
6605  stk1 = T & S;
6606  stk1 = ~stk1;
6607  *D = (stk1 & (~S)) | (*D & S);
6608}
6609
6610/* TSan source/pattern transparent. */
6611static void rop3_63_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6612{
6613  unsigned char stk1;
6614  stk1 = T & S;
6615  stk1 = ~stk1;
6616  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6617}
6618
6619/* TSan source/pattern opaque. */
6620static unsigned xrop3_63_0_0 (unsigned char s, unsigned char t)
6621{
6622  unsigned S = ((unsigned)s << 8) | s;
6623  unsigned T = ((unsigned)t << 8) | t;
6624  unsigned stk1;
6625  stk1 = T & S;
6626  stk1 = ~stk1;
6627  return stk1;
6628}
6629
6630/* TSan source opaque/pattern transparent. */
6631static unsigned xrop3_63_0_1 (unsigned char s, unsigned char t)
6632{
6633  unsigned D = 0x00ff;
6634  unsigned S = ((unsigned)s << 8) | s;
6635  unsigned T = ((unsigned)t << 8) | t;
6636  unsigned stk1;
6637  stk1 = T & S;
6638  stk1 = ~stk1;
6639  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6640}
6641
6642/* TSan source transparent/pattern opaque. */
6643static unsigned xrop3_63_1_0 (unsigned char s, unsigned char t)
6644{
6645  unsigned D = 0x00ff;
6646  unsigned S = ((unsigned)s << 8) | s;
6647  unsigned T = ((unsigned)t << 8) | t;
6648  unsigned stk1;
6649  stk1 = T & S;
6650  stk1 = ~stk1;
6651  return (stk1 & (~S)) | (D & S);
6652}
6653
6654/* TSan source/pattern transparent. */
6655static unsigned xrop3_63_1_1 (unsigned char s, unsigned char t)
6656{
6657  unsigned D = 0x00ff;
6658  unsigned S = ((unsigned)s << 8) | s;
6659  unsigned T = ((unsigned)t << 8) | t;
6660  unsigned stk1;
6661  stk1 = T & S;
6662  stk1 = ~stk1;
6663  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6664}
6665
6666/* TSDnaa source/pattern opaque. */
6667static void rop3_64_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6668{
6669  unsigned char stk1;
6670  unsigned char stk2;
6671  unsigned char stk3;
6672  stk3 = ~*D;
6673  stk2 = S & stk3;
6674  stk1 = T & stk2;
6675  *D = stk1;
6676}
6677
6678/* TSDnaa source opaque/pattern transparent. */
6679static void rop3_64_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6680{
6681  unsigned char stk1;
6682  unsigned char stk2;
6683  unsigned char stk3;
6684  stk3 = ~*D;
6685  stk2 = S & stk3;
6686  stk1 = T & stk2;
6687  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6688}
6689
6690/* TSDnaa source transparent/pattern opaque. */
6691static void rop3_64_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6692{
6693  unsigned char stk1;
6694  unsigned char stk2;
6695  unsigned char stk3;
6696  stk3 = ~*D;
6697  stk2 = S & stk3;
6698  stk1 = T & stk2;
6699  *D = (stk1 & (~S)) | (*D & S);
6700}
6701
6702/* TSDnaa source/pattern transparent. */
6703static void rop3_64_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6704{
6705  unsigned char stk1;
6706  unsigned char stk2;
6707  unsigned char stk3;
6708  stk3 = ~*D;
6709  stk2 = S & stk3;
6710  stk1 = T & stk2;
6711  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6712}
6713
6714/* TSDnaa source/pattern opaque. */
6715static unsigned xrop3_64_0_0 (unsigned char s, unsigned char t)
6716{
6717  unsigned D = 0x00ff;
6718  unsigned S = ((unsigned)s << 8) | s;
6719  unsigned T = ((unsigned)t << 8) | t;
6720  unsigned stk1;
6721  unsigned stk2;
6722  unsigned stk3;
6723  stk3 = ~D;
6724  stk2 = S & stk3;
6725  stk1 = T & stk2;
6726  return stk1;
6727}
6728
6729/* TSDnaa source opaque/pattern transparent. */
6730static unsigned xrop3_64_0_1 (unsigned char s, unsigned char t)
6731{
6732  unsigned D = 0x00ff;
6733  unsigned S = ((unsigned)s << 8) | s;
6734  unsigned T = ((unsigned)t << 8) | t;
6735  unsigned stk1;
6736  unsigned stk2;
6737  unsigned stk3;
6738  stk3 = ~D;
6739  stk2 = S & stk3;
6740  stk1 = T & stk2;
6741  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6742}
6743
6744/* TSDnaa source transparent/pattern opaque. */
6745static unsigned xrop3_64_1_0 (unsigned char s, unsigned char t)
6746{
6747  unsigned D = 0x00ff;
6748  unsigned S = ((unsigned)s << 8) | s;
6749  unsigned T = ((unsigned)t << 8) | t;
6750  unsigned stk1;
6751  unsigned stk2;
6752  unsigned stk3;
6753  stk3 = ~D;
6754  stk2 = S & stk3;
6755  stk1 = T & stk2;
6756  return (stk1 & (~S)) | (D & S);
6757}
6758
6759/* TSDnaa source/pattern transparent. */
6760static unsigned xrop3_64_1_1 (unsigned char s, unsigned char t)
6761{
6762  unsigned D = 0x00ff;
6763  unsigned S = ((unsigned)s << 8) | s;
6764  unsigned T = ((unsigned)t << 8) | t;
6765  unsigned stk1;
6766  unsigned stk2;
6767  unsigned stk3;
6768  stk3 = ~D;
6769  stk2 = S & stk3;
6770  stk1 = T & stk2;
6771  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6772}
6773
6774/* DTSxon source/pattern opaque. */
6775static void rop3_65_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6776{
6777  unsigned char stk1;
6778  unsigned char stk2;
6779  stk2 = T ^ S;
6780  stk1 = *D | stk2;
6781  stk1 = ~stk1;
6782  *D = stk1;
6783}
6784
6785/* DTSxon source opaque/pattern transparent. */
6786static void rop3_65_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6787{
6788  unsigned char stk1;
6789  unsigned char stk2;
6790  stk2 = T ^ S;
6791  stk1 = *D | stk2;
6792  stk1 = ~stk1;
6793  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6794}
6795
6796/* DTSxon source transparent/pattern opaque. */
6797static void rop3_65_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6798{
6799  unsigned char stk1;
6800  unsigned char stk2;
6801  stk2 = T ^ S;
6802  stk1 = *D | stk2;
6803  stk1 = ~stk1;
6804  *D = (stk1 & (~S)) | (*D & S);
6805}
6806
6807/* DTSxon source/pattern transparent. */
6808static void rop3_65_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6809{
6810  unsigned char stk1;
6811  unsigned char stk2;
6812  stk2 = T ^ S;
6813  stk1 = *D | stk2;
6814  stk1 = ~stk1;
6815  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6816}
6817
6818/* DTSxon source/pattern opaque. */
6819static unsigned xrop3_65_0_0 (unsigned char s, unsigned char t)
6820{
6821  unsigned D = 0x00ff;
6822  unsigned S = ((unsigned)s << 8) | s;
6823  unsigned T = ((unsigned)t << 8) | t;
6824  unsigned stk1;
6825  unsigned stk2;
6826  stk2 = T ^ S;
6827  stk1 = D | stk2;
6828  stk1 = ~stk1;
6829  return stk1;
6830}
6831
6832/* DTSxon source opaque/pattern transparent. */
6833static unsigned xrop3_65_0_1 (unsigned char s, unsigned char t)
6834{
6835  unsigned D = 0x00ff;
6836  unsigned S = ((unsigned)s << 8) | s;
6837  unsigned T = ((unsigned)t << 8) | t;
6838  unsigned stk1;
6839  unsigned stk2;
6840  stk2 = T ^ S;
6841  stk1 = D | stk2;
6842  stk1 = ~stk1;
6843  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6844}
6845
6846/* DTSxon source transparent/pattern opaque. */
6847static unsigned xrop3_65_1_0 (unsigned char s, unsigned char t)
6848{
6849  unsigned D = 0x00ff;
6850  unsigned S = ((unsigned)s << 8) | s;
6851  unsigned T = ((unsigned)t << 8) | t;
6852  unsigned stk1;
6853  unsigned stk2;
6854  stk2 = T ^ S;
6855  stk1 = D | stk2;
6856  stk1 = ~stk1;
6857  return (stk1 & (~S)) | (D & S);
6858}
6859
6860/* DTSxon source/pattern transparent. */
6861static unsigned xrop3_65_1_1 (unsigned char s, unsigned char t)
6862{
6863  unsigned D = 0x00ff;
6864  unsigned S = ((unsigned)s << 8) | s;
6865  unsigned T = ((unsigned)t << 8) | t;
6866  unsigned stk1;
6867  unsigned stk2;
6868  stk2 = T ^ S;
6869  stk1 = D | stk2;
6870  stk1 = ~stk1;
6871  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6872}
6873
6874/* SDxTDxa source/pattern opaque. */
6875static void rop3_66_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6876{
6877  unsigned char stk1;
6878  unsigned char stk2;
6879  stk1 = S ^ *D;
6880  stk2 = T ^ *D;
6881  stk1 = stk1 & stk2;
6882  *D = stk1;
6883}
6884
6885/* SDxTDxa source opaque/pattern transparent. */
6886static void rop3_66_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6887{
6888  unsigned char stk1;
6889  unsigned char stk2;
6890  stk1 = S ^ *D;
6891  stk2 = T ^ *D;
6892  stk1 = stk1 & stk2;
6893  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
6894}
6895
6896/* SDxTDxa source transparent/pattern opaque. */
6897static void rop3_66_1_0 (unsigned char *D, unsigned char S, unsigned char T)
6898{
6899  unsigned char stk1;
6900  unsigned char stk2;
6901  stk1 = S ^ *D;
6902  stk2 = T ^ *D;
6903  stk1 = stk1 & stk2;
6904  *D = (stk1 & (~S)) | (*D & S);
6905}
6906
6907/* SDxTDxa source/pattern transparent. */
6908static void rop3_66_1_1 (unsigned char *D, unsigned char S, unsigned char T)
6909{
6910  unsigned char stk1;
6911  unsigned char stk2;
6912  stk1 = S ^ *D;
6913  stk2 = T ^ *D;
6914  stk1 = stk1 & stk2;
6915  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
6916}
6917
6918/* SDxTDxa source/pattern opaque. */
6919static unsigned xrop3_66_0_0 (unsigned char s, unsigned char t)
6920{
6921  unsigned D = 0x00ff;
6922  unsigned S = ((unsigned)s << 8) | s;
6923  unsigned T = ((unsigned)t << 8) | t;
6924  unsigned stk1;
6925  unsigned stk2;
6926  stk1 = S ^ D;
6927  stk2 = T ^ D;
6928  stk1 = stk1 & stk2;
6929  return stk1;
6930}
6931
6932/* SDxTDxa source opaque/pattern transparent. */
6933static unsigned xrop3_66_0_1 (unsigned char s, unsigned char t)
6934{
6935  unsigned D = 0x00ff;
6936  unsigned S = ((unsigned)s << 8) | s;
6937  unsigned T = ((unsigned)t << 8) | t;
6938  unsigned stk1;
6939  unsigned stk2;
6940  stk1 = S ^ D;
6941  stk2 = T ^ D;
6942  stk1 = stk1 & stk2;
6943  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
6944}
6945
6946/* SDxTDxa source transparent/pattern opaque. */
6947static unsigned xrop3_66_1_0 (unsigned char s, unsigned char t)
6948{
6949  unsigned D = 0x00ff;
6950  unsigned S = ((unsigned)s << 8) | s;
6951  unsigned T = ((unsigned)t << 8) | t;
6952  unsigned stk1;
6953  unsigned stk2;
6954  stk1 = S ^ D;
6955  stk2 = T ^ D;
6956  stk1 = stk1 & stk2;
6957  return (stk1 & (~S)) | (D & S);
6958}
6959
6960/* SDxTDxa source/pattern transparent. */
6961static unsigned xrop3_66_1_1 (unsigned char s, unsigned char t)
6962{
6963  unsigned D = 0x00ff;
6964  unsigned S = ((unsigned)s << 8) | s;
6965  unsigned T = ((unsigned)t << 8) | t;
6966  unsigned stk1;
6967  unsigned stk2;
6968  stk1 = S ^ D;
6969  stk2 = T ^ D;
6970  stk1 = stk1 & stk2;
6971  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
6972}
6973
6974/* STDSanaxn source/pattern opaque. */
6975static void rop3_67_0_0 (unsigned char *D, unsigned char S, unsigned char T)
6976{
6977  unsigned char stk1;
6978  unsigned char stk2;
6979  unsigned char stk3;
6980  stk3 = *D & S;
6981  stk3 = ~stk3;
6982  stk2 = T & stk3;
6983  stk1 = S ^ stk2;
6984  stk1 = ~stk1;
6985  *D = stk1;
6986}
6987
6988/* STDSanaxn source opaque/pattern transparent. */
6989static void rop3_67_0_1 (unsigned char *D, unsigned char S, unsigned char T)
6990{
6991  unsigned char stk1;
6992  unsigned char stk2;
6993  unsigned char stk3;
6994  stk3 = *D & S;
6995  stk3 = ~stk3;
6996  stk2 = T & stk3;
6997  stk1 = S ^ stk2;
6998  stk1 = ~stk1;
6999  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7000}
7001
7002/* STDSanaxn source transparent/pattern opaque. */
7003static void rop3_67_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7004{
7005  unsigned char stk1;
7006  unsigned char stk2;
7007  unsigned char stk3;
7008  stk3 = *D & S;
7009  stk3 = ~stk3;
7010  stk2 = T & stk3;
7011  stk1 = S ^ stk2;
7012  stk1 = ~stk1;
7013  *D = (stk1 & (~S)) | (*D & S);
7014}
7015
7016/* STDSanaxn source/pattern transparent. */
7017static void rop3_67_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7018{
7019  unsigned char stk1;
7020  unsigned char stk2;
7021  unsigned char stk3;
7022  stk3 = *D & S;
7023  stk3 = ~stk3;
7024  stk2 = T & stk3;
7025  stk1 = S ^ stk2;
7026  stk1 = ~stk1;
7027  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7028}
7029
7030/* STDSanaxn source/pattern opaque. */
7031static unsigned xrop3_67_0_0 (unsigned char s, unsigned char t)
7032{
7033  unsigned D = 0x00ff;
7034  unsigned S = ((unsigned)s << 8) | s;
7035  unsigned T = ((unsigned)t << 8) | t;
7036  unsigned stk1;
7037  unsigned stk2;
7038  unsigned stk3;
7039  stk3 = D & S;
7040  stk3 = ~stk3;
7041  stk2 = T & stk3;
7042  stk1 = S ^ stk2;
7043  stk1 = ~stk1;
7044  return stk1;
7045}
7046
7047/* STDSanaxn source opaque/pattern transparent. */
7048static unsigned xrop3_67_0_1 (unsigned char s, unsigned char t)
7049{
7050  unsigned D = 0x00ff;
7051  unsigned S = ((unsigned)s << 8) | s;
7052  unsigned T = ((unsigned)t << 8) | t;
7053  unsigned stk1;
7054  unsigned stk2;
7055  unsigned stk3;
7056  stk3 = D & S;
7057  stk3 = ~stk3;
7058  stk2 = T & stk3;
7059  stk1 = S ^ stk2;
7060  stk1 = ~stk1;
7061  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7062}
7063
7064/* STDSanaxn source transparent/pattern opaque. */
7065static unsigned xrop3_67_1_0 (unsigned char s, unsigned char t)
7066{
7067  unsigned D = 0x00ff;
7068  unsigned S = ((unsigned)s << 8) | s;
7069  unsigned T = ((unsigned)t << 8) | t;
7070  unsigned stk1;
7071  unsigned stk2;
7072  unsigned stk3;
7073  stk3 = D & S;
7074  stk3 = ~stk3;
7075  stk2 = T & stk3;
7076  stk1 = S ^ stk2;
7077  stk1 = ~stk1;
7078  return (stk1 & (~S)) | (D & S);
7079}
7080
7081/* STDSanaxn source/pattern transparent. */
7082static unsigned xrop3_67_1_1 (unsigned char s, unsigned char t)
7083{
7084  unsigned D = 0x00ff;
7085  unsigned S = ((unsigned)s << 8) | s;
7086  unsigned T = ((unsigned)t << 8) | t;
7087  unsigned stk1;
7088  unsigned stk2;
7089  unsigned stk3;
7090  stk3 = D & S;
7091  stk3 = ~stk3;
7092  stk2 = T & stk3;
7093  stk1 = S ^ stk2;
7094  stk1 = ~stk1;
7095  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7096}
7097
7098/* SDna source/pattern opaque. */
7099static void rop3_68_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7100{
7101  unsigned char stk1;
7102  unsigned char stk2;
7103  stk2 = ~*D;
7104  stk1 = S & stk2;
7105  *D = stk1;
7106}
7107
7108/* SDna source opaque/pattern transparent. */
7109static void rop3_68_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7110{
7111  unsigned char stk1;
7112  unsigned char stk2;
7113  stk2 = ~*D;
7114  stk1 = S & stk2;
7115  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7116}
7117
7118/* SDna source transparent/pattern opaque. */
7119static void rop3_68_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7120{
7121  unsigned char stk1;
7122  unsigned char stk2;
7123  stk2 = ~*D;
7124  stk1 = S & stk2;
7125  *D = (stk1 & (~S)) | (*D & S);
7126}
7127
7128/* SDna source/pattern transparent. */
7129static void rop3_68_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7130{
7131  unsigned char stk1;
7132  unsigned char stk2;
7133  stk2 = ~*D;
7134  stk1 = S & stk2;
7135  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7136}
7137
7138/* SDna source/pattern opaque. */
7139static unsigned xrop3_68_0_0 (unsigned char s, unsigned char t)
7140{
7141  unsigned D = 0x00ff;
7142  unsigned S = ((unsigned)s << 8) | s;
7143  unsigned stk1;
7144  unsigned stk2;
7145  stk2 = ~D;
7146  stk1 = S & stk2;
7147  return stk1;
7148}
7149
7150/* SDna source opaque/pattern transparent. */
7151static unsigned xrop3_68_0_1 (unsigned char s, unsigned char t)
7152{
7153  unsigned D = 0x00ff;
7154  unsigned S = ((unsigned)s << 8) | s;
7155  unsigned T = ((unsigned)t << 8) | t;
7156  unsigned stk1;
7157  unsigned stk2;
7158  stk2 = ~D;
7159  stk1 = S & stk2;
7160  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7161}
7162
7163/* SDna source transparent/pattern opaque. */
7164static unsigned xrop3_68_1_0 (unsigned char s, unsigned char t)
7165{
7166  unsigned D = 0x00ff;
7167  unsigned S = ((unsigned)s << 8) | s;
7168  unsigned stk1;
7169  unsigned stk2;
7170  stk2 = ~D;
7171  stk1 = S & stk2;
7172  return (stk1 & (~S)) | (D & S);
7173}
7174
7175/* SDna source/pattern transparent. */
7176static unsigned xrop3_68_1_1 (unsigned char s, unsigned char t)
7177{
7178  unsigned D = 0x00ff;
7179  unsigned S = ((unsigned)s << 8) | s;
7180  unsigned T = ((unsigned)t << 8) | t;
7181  unsigned stk1;
7182  unsigned stk2;
7183  stk2 = ~D;
7184  stk1 = S & stk2;
7185  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7186}
7187
7188/* DTSnaon source/pattern opaque. */
7189static void rop3_69_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7190{
7191  unsigned char stk1;
7192  unsigned char stk2;
7193  unsigned char stk3;
7194  stk3 = ~S;
7195  stk2 = T & stk3;
7196  stk1 = *D | stk2;
7197  stk1 = ~stk1;
7198  *D = stk1;
7199}
7200
7201/* DTSnaon source opaque/pattern transparent. */
7202static void rop3_69_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7203{
7204  unsigned char stk1;
7205  unsigned char stk2;
7206  unsigned char stk3;
7207  stk3 = ~S;
7208  stk2 = T & stk3;
7209  stk1 = *D | stk2;
7210  stk1 = ~stk1;
7211  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7212}
7213
7214/* DTSnaon source transparent/pattern opaque. */
7215static void rop3_69_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7216{
7217  unsigned char stk1;
7218  unsigned char stk2;
7219  unsigned char stk3;
7220  stk3 = ~S;
7221  stk2 = T & stk3;
7222  stk1 = *D | stk2;
7223  stk1 = ~stk1;
7224  *D = (stk1 & (~S)) | (*D & S);
7225}
7226
7227/* DTSnaon source/pattern transparent. */
7228static void rop3_69_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7229{
7230  unsigned char stk1;
7231  unsigned char stk2;
7232  unsigned char stk3;
7233  stk3 = ~S;
7234  stk2 = T & stk3;
7235  stk1 = *D | stk2;
7236  stk1 = ~stk1;
7237  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7238}
7239
7240/* DTSnaon source/pattern opaque. */
7241static unsigned xrop3_69_0_0 (unsigned char s, unsigned char t)
7242{
7243  unsigned D = 0x00ff;
7244  unsigned S = ((unsigned)s << 8) | s;
7245  unsigned T = ((unsigned)t << 8) | t;
7246  unsigned stk1;
7247  unsigned stk2;
7248  unsigned stk3;
7249  stk3 = ~S;
7250  stk2 = T & stk3;
7251  stk1 = D | stk2;
7252  stk1 = ~stk1;
7253  return stk1;
7254}
7255
7256/* DTSnaon source opaque/pattern transparent. */
7257static unsigned xrop3_69_0_1 (unsigned char s, unsigned char t)
7258{
7259  unsigned D = 0x00ff;
7260  unsigned S = ((unsigned)s << 8) | s;
7261  unsigned T = ((unsigned)t << 8) | t;
7262  unsigned stk1;
7263  unsigned stk2;
7264  unsigned stk3;
7265  stk3 = ~S;
7266  stk2 = T & stk3;
7267  stk1 = D | stk2;
7268  stk1 = ~stk1;
7269  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7270}
7271
7272/* DTSnaon source transparent/pattern opaque. */
7273static unsigned xrop3_69_1_0 (unsigned char s, unsigned char t)
7274{
7275  unsigned D = 0x00ff;
7276  unsigned S = ((unsigned)s << 8) | s;
7277  unsigned T = ((unsigned)t << 8) | t;
7278  unsigned stk1;
7279  unsigned stk2;
7280  unsigned stk3;
7281  stk3 = ~S;
7282  stk2 = T & stk3;
7283  stk1 = D | stk2;
7284  stk1 = ~stk1;
7285  return (stk1 & (~S)) | (D & S);
7286}
7287
7288/* DTSnaon source/pattern transparent. */
7289static unsigned xrop3_69_1_1 (unsigned char s, unsigned char t)
7290{
7291  unsigned D = 0x00ff;
7292  unsigned S = ((unsigned)s << 8) | s;
7293  unsigned T = ((unsigned)t << 8) | t;
7294  unsigned stk1;
7295  unsigned stk2;
7296  unsigned stk3;
7297  stk3 = ~S;
7298  stk2 = T & stk3;
7299  stk1 = D | stk2;
7300  stk1 = ~stk1;
7301  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7302}
7303
7304/* DSTDaox source/pattern opaque. */
7305static void rop3_70_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7306{
7307  unsigned char stk1;
7308  unsigned char stk2;
7309  unsigned char stk3;
7310  stk3 = T & *D;
7311  stk2 = S | stk3;
7312  stk1 = *D ^ stk2;
7313  *D = stk1;
7314}
7315
7316/* DSTDaox source opaque/pattern transparent. */
7317static void rop3_70_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7318{
7319  unsigned char stk1;
7320  unsigned char stk2;
7321  unsigned char stk3;
7322  stk3 = T & *D;
7323  stk2 = S | stk3;
7324  stk1 = *D ^ stk2;
7325  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7326}
7327
7328/* DSTDaox source transparent/pattern opaque. */
7329static void rop3_70_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7330{
7331  unsigned char stk1;
7332  unsigned char stk2;
7333  unsigned char stk3;
7334  stk3 = T & *D;
7335  stk2 = S | stk3;
7336  stk1 = *D ^ stk2;
7337  *D = (stk1 & (~S)) | (*D & S);
7338}
7339
7340/* DSTDaox source/pattern transparent. */
7341static void rop3_70_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7342{
7343  unsigned char stk1;
7344  unsigned char stk2;
7345  unsigned char stk3;
7346  stk3 = T & *D;
7347  stk2 = S | stk3;
7348  stk1 = *D ^ stk2;
7349  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7350}
7351
7352/* DSTDaox source/pattern opaque. */
7353static unsigned xrop3_70_0_0 (unsigned char s, unsigned char t)
7354{
7355  unsigned D = 0x00ff;
7356  unsigned S = ((unsigned)s << 8) | s;
7357  unsigned T = ((unsigned)t << 8) | t;
7358  unsigned stk1;
7359  unsigned stk2;
7360  unsigned stk3;
7361  stk3 = T & D;
7362  stk2 = S | stk3;
7363  stk1 = D ^ stk2;
7364  return stk1;
7365}
7366
7367/* DSTDaox source opaque/pattern transparent. */
7368static unsigned xrop3_70_0_1 (unsigned char s, unsigned char t)
7369{
7370  unsigned D = 0x00ff;
7371  unsigned S = ((unsigned)s << 8) | s;
7372  unsigned T = ((unsigned)t << 8) | t;
7373  unsigned stk1;
7374  unsigned stk2;
7375  unsigned stk3;
7376  stk3 = T & D;
7377  stk2 = S | stk3;
7378  stk1 = D ^ stk2;
7379  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7380}
7381
7382/* DSTDaox source transparent/pattern opaque. */
7383static unsigned xrop3_70_1_0 (unsigned char s, unsigned char t)
7384{
7385  unsigned D = 0x00ff;
7386  unsigned S = ((unsigned)s << 8) | s;
7387  unsigned T = ((unsigned)t << 8) | t;
7388  unsigned stk1;
7389  unsigned stk2;
7390  unsigned stk3;
7391  stk3 = T & D;
7392  stk2 = S | stk3;
7393  stk1 = D ^ stk2;
7394  return (stk1 & (~S)) | (D & S);
7395}
7396
7397/* DSTDaox source/pattern transparent. */
7398static unsigned xrop3_70_1_1 (unsigned char s, unsigned char t)
7399{
7400  unsigned D = 0x00ff;
7401  unsigned S = ((unsigned)s << 8) | s;
7402  unsigned T = ((unsigned)t << 8) | t;
7403  unsigned stk1;
7404  unsigned stk2;
7405  unsigned stk3;
7406  stk3 = T & D;
7407  stk2 = S | stk3;
7408  stk1 = D ^ stk2;
7409  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7410}
7411
7412/* TSDTxaxn source/pattern opaque. */
7413static void rop3_71_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7414{
7415  unsigned char stk1;
7416  unsigned char stk2;
7417  unsigned char stk3;
7418  stk3 = *D ^ T;
7419  stk2 = S & stk3;
7420  stk1 = T ^ stk2;
7421  stk1 = ~stk1;
7422  *D = stk1;
7423}
7424
7425/* TSDTxaxn source opaque/pattern transparent. */
7426static void rop3_71_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7427{
7428  unsigned char stk1;
7429  unsigned char stk2;
7430  unsigned char stk3;
7431  stk3 = *D ^ T;
7432  stk2 = S & stk3;
7433  stk1 = T ^ stk2;
7434  stk1 = ~stk1;
7435  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7436}
7437
7438/* TSDTxaxn source transparent/pattern opaque. */
7439static void rop3_71_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7440{
7441  unsigned char stk1;
7442  unsigned char stk2;
7443  unsigned char stk3;
7444  stk3 = *D ^ T;
7445  stk2 = S & stk3;
7446  stk1 = T ^ stk2;
7447  stk1 = ~stk1;
7448  *D = (stk1 & (~S)) | (*D & S);
7449}
7450
7451/* TSDTxaxn source/pattern transparent. */
7452static void rop3_71_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7453{
7454  unsigned char stk1;
7455  unsigned char stk2;
7456  unsigned char stk3;
7457  stk3 = *D ^ T;
7458  stk2 = S & stk3;
7459  stk1 = T ^ stk2;
7460  stk1 = ~stk1;
7461  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7462}
7463
7464/* TSDTxaxn source/pattern opaque. */
7465static unsigned xrop3_71_0_0 (unsigned char s, unsigned char t)
7466{
7467  unsigned D = 0x00ff;
7468  unsigned S = ((unsigned)s << 8) | s;
7469  unsigned T = ((unsigned)t << 8) | t;
7470  unsigned stk1;
7471  unsigned stk2;
7472  unsigned stk3;
7473  stk3 = D ^ T;
7474  stk2 = S & stk3;
7475  stk1 = T ^ stk2;
7476  stk1 = ~stk1;
7477  return stk1;
7478}
7479
7480/* TSDTxaxn source opaque/pattern transparent. */
7481static unsigned xrop3_71_0_1 (unsigned char s, unsigned char t)
7482{
7483  unsigned D = 0x00ff;
7484  unsigned S = ((unsigned)s << 8) | s;
7485  unsigned T = ((unsigned)t << 8) | t;
7486  unsigned stk1;
7487  unsigned stk2;
7488  unsigned stk3;
7489  stk3 = D ^ T;
7490  stk2 = S & stk3;
7491  stk1 = T ^ stk2;
7492  stk1 = ~stk1;
7493  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7494}
7495
7496/* TSDTxaxn source transparent/pattern opaque. */
7497static unsigned xrop3_71_1_0 (unsigned char s, unsigned char t)
7498{
7499  unsigned D = 0x00ff;
7500  unsigned S = ((unsigned)s << 8) | s;
7501  unsigned T = ((unsigned)t << 8) | t;
7502  unsigned stk1;
7503  unsigned stk2;
7504  unsigned stk3;
7505  stk3 = D ^ T;
7506  stk2 = S & stk3;
7507  stk1 = T ^ stk2;
7508  stk1 = ~stk1;
7509  return (stk1 & (~S)) | (D & S);
7510}
7511
7512/* TSDTxaxn source/pattern transparent. */
7513static unsigned xrop3_71_1_1 (unsigned char s, unsigned char t)
7514{
7515  unsigned D = 0x00ff;
7516  unsigned S = ((unsigned)s << 8) | s;
7517  unsigned T = ((unsigned)t << 8) | t;
7518  unsigned stk1;
7519  unsigned stk2;
7520  unsigned stk3;
7521  stk3 = D ^ T;
7522  stk2 = S & stk3;
7523  stk1 = T ^ stk2;
7524  stk1 = ~stk1;
7525  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7526}
7527
7528/* SDTxa source/pattern opaque. */
7529static void rop3_72_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7530{
7531  unsigned char stk1;
7532  unsigned char stk2;
7533  stk2 = *D ^ T;
7534  stk1 = S & stk2;
7535  *D = stk1;
7536}
7537
7538/* SDTxa source opaque/pattern transparent. */
7539static void rop3_72_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7540{
7541  unsigned char stk1;
7542  unsigned char stk2;
7543  stk2 = *D ^ T;
7544  stk1 = S & stk2;
7545  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7546}
7547
7548/* SDTxa source transparent/pattern opaque. */
7549static void rop3_72_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7550{
7551  unsigned char stk1;
7552  unsigned char stk2;
7553  stk2 = *D ^ T;
7554  stk1 = S & stk2;
7555  *D = (stk1 & (~S)) | (*D & S);
7556}
7557
7558/* SDTxa source/pattern transparent. */
7559static void rop3_72_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7560{
7561  unsigned char stk1;
7562  unsigned char stk2;
7563  stk2 = *D ^ T;
7564  stk1 = S & stk2;
7565  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7566}
7567
7568/* SDTxa source/pattern opaque. */
7569static unsigned xrop3_72_0_0 (unsigned char s, unsigned char t)
7570{
7571  unsigned D = 0x00ff;
7572  unsigned S = ((unsigned)s << 8) | s;
7573  unsigned T = ((unsigned)t << 8) | t;
7574  unsigned stk1;
7575  unsigned stk2;
7576  stk2 = D ^ T;
7577  stk1 = S & stk2;
7578  return stk1;
7579}
7580
7581/* SDTxa source opaque/pattern transparent. */
7582static unsigned xrop3_72_0_1 (unsigned char s, unsigned char t)
7583{
7584  unsigned D = 0x00ff;
7585  unsigned S = ((unsigned)s << 8) | s;
7586  unsigned T = ((unsigned)t << 8) | t;
7587  unsigned stk1;
7588  unsigned stk2;
7589  stk2 = D ^ T;
7590  stk1 = S & stk2;
7591  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7592}
7593
7594/* SDTxa source transparent/pattern opaque. */
7595static unsigned xrop3_72_1_0 (unsigned char s, unsigned char t)
7596{
7597  unsigned D = 0x00ff;
7598  unsigned S = ((unsigned)s << 8) | s;
7599  unsigned T = ((unsigned)t << 8) | t;
7600  unsigned stk1;
7601  unsigned stk2;
7602  stk2 = D ^ T;
7603  stk1 = S & stk2;
7604  return (stk1 & (~S)) | (D & S);
7605}
7606
7607/* SDTxa source/pattern transparent. */
7608static unsigned xrop3_72_1_1 (unsigned char s, unsigned char t)
7609{
7610  unsigned D = 0x00ff;
7611  unsigned S = ((unsigned)s << 8) | s;
7612  unsigned T = ((unsigned)t << 8) | t;
7613  unsigned stk1;
7614  unsigned stk2;
7615  stk2 = D ^ T;
7616  stk1 = S & stk2;
7617  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7618}
7619
7620/* TDSTDaoxxn source/pattern opaque. */
7621static void rop3_73_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7622{
7623  unsigned char stk1;
7624  unsigned char stk2;
7625  unsigned char stk3;
7626  unsigned char stk4;
7627  stk4 = T & *D;
7628  stk3 = S | stk4;
7629  stk2 = *D ^ stk3;
7630  stk1 = T ^ stk2;
7631  stk1 = ~stk1;
7632  *D = stk1;
7633}
7634
7635/* TDSTDaoxxn source opaque/pattern transparent. */
7636static void rop3_73_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7637{
7638  unsigned char stk1;
7639  unsigned char stk2;
7640  unsigned char stk3;
7641  unsigned char stk4;
7642  stk4 = T & *D;
7643  stk3 = S | stk4;
7644  stk2 = *D ^ stk3;
7645  stk1 = T ^ stk2;
7646  stk1 = ~stk1;
7647  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7648}
7649
7650/* TDSTDaoxxn source transparent/pattern opaque. */
7651static void rop3_73_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7652{
7653  unsigned char stk1;
7654  unsigned char stk2;
7655  unsigned char stk3;
7656  unsigned char stk4;
7657  stk4 = T & *D;
7658  stk3 = S | stk4;
7659  stk2 = *D ^ stk3;
7660  stk1 = T ^ stk2;
7661  stk1 = ~stk1;
7662  *D = (stk1 & (~S)) | (*D & S);
7663}
7664
7665/* TDSTDaoxxn source/pattern transparent. */
7666static void rop3_73_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7667{
7668  unsigned char stk1;
7669  unsigned char stk2;
7670  unsigned char stk3;
7671  unsigned char stk4;
7672  stk4 = T & *D;
7673  stk3 = S | stk4;
7674  stk2 = *D ^ stk3;
7675  stk1 = T ^ stk2;
7676  stk1 = ~stk1;
7677  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7678}
7679
7680/* TDSTDaoxxn source/pattern opaque. */
7681static unsigned xrop3_73_0_0 (unsigned char s, unsigned char t)
7682{
7683  unsigned D = 0x00ff;
7684  unsigned S = ((unsigned)s << 8) | s;
7685  unsigned T = ((unsigned)t << 8) | t;
7686  unsigned stk1;
7687  unsigned stk2;
7688  unsigned stk3;
7689  unsigned stk4;
7690  stk4 = T & D;
7691  stk3 = S | stk4;
7692  stk2 = D ^ stk3;
7693  stk1 = T ^ stk2;
7694  stk1 = ~stk1;
7695  return stk1;
7696}
7697
7698/* TDSTDaoxxn source opaque/pattern transparent. */
7699static unsigned xrop3_73_0_1 (unsigned char s, unsigned char t)
7700{
7701  unsigned D = 0x00ff;
7702  unsigned S = ((unsigned)s << 8) | s;
7703  unsigned T = ((unsigned)t << 8) | t;
7704  unsigned stk1;
7705  unsigned stk2;
7706  unsigned stk3;
7707  unsigned stk4;
7708  stk4 = T & D;
7709  stk3 = S | stk4;
7710  stk2 = D ^ stk3;
7711  stk1 = T ^ stk2;
7712  stk1 = ~stk1;
7713  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7714}
7715
7716/* TDSTDaoxxn source transparent/pattern opaque. */
7717static unsigned xrop3_73_1_0 (unsigned char s, unsigned char t)
7718{
7719  unsigned D = 0x00ff;
7720  unsigned S = ((unsigned)s << 8) | s;
7721  unsigned T = ((unsigned)t << 8) | t;
7722  unsigned stk1;
7723  unsigned stk2;
7724  unsigned stk3;
7725  unsigned stk4;
7726  stk4 = T & D;
7727  stk3 = S | stk4;
7728  stk2 = D ^ stk3;
7729  stk1 = T ^ stk2;
7730  stk1 = ~stk1;
7731  return (stk1 & (~S)) | (D & S);
7732}
7733
7734/* TDSTDaoxxn source/pattern transparent. */
7735static unsigned xrop3_73_1_1 (unsigned char s, unsigned char t)
7736{
7737  unsigned D = 0x00ff;
7738  unsigned S = ((unsigned)s << 8) | s;
7739  unsigned T = ((unsigned)t << 8) | t;
7740  unsigned stk1;
7741  unsigned stk2;
7742  unsigned stk3;
7743  unsigned stk4;
7744  stk4 = T & D;
7745  stk3 = S | stk4;
7746  stk2 = D ^ stk3;
7747  stk1 = T ^ stk2;
7748  stk1 = ~stk1;
7749  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7750}
7751
7752/* DTSDoax source/pattern opaque. */
7753static void rop3_74_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7754{
7755  unsigned char stk1;
7756  unsigned char stk2;
7757  unsigned char stk3;
7758  stk3 = S | *D;
7759  stk2 = T & stk3;
7760  stk1 = *D ^ stk2;
7761  *D = stk1;
7762}
7763
7764/* DTSDoax source opaque/pattern transparent. */
7765static void rop3_74_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7766{
7767  unsigned char stk1;
7768  unsigned char stk2;
7769  unsigned char stk3;
7770  stk3 = S | *D;
7771  stk2 = T & stk3;
7772  stk1 = *D ^ stk2;
7773  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7774}
7775
7776/* DTSDoax source transparent/pattern opaque. */
7777static void rop3_74_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7778{
7779  unsigned char stk1;
7780  unsigned char stk2;
7781  unsigned char stk3;
7782  stk3 = S | *D;
7783  stk2 = T & stk3;
7784  stk1 = *D ^ stk2;
7785  *D = (stk1 & (~S)) | (*D & S);
7786}
7787
7788/* DTSDoax source/pattern transparent. */
7789static void rop3_74_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7790{
7791  unsigned char stk1;
7792  unsigned char stk2;
7793  unsigned char stk3;
7794  stk3 = S | *D;
7795  stk2 = T & stk3;
7796  stk1 = *D ^ stk2;
7797  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7798}
7799
7800/* DTSDoax source/pattern opaque. */
7801static unsigned xrop3_74_0_0 (unsigned char s, unsigned char t)
7802{
7803  unsigned D = 0x00ff;
7804  unsigned S = ((unsigned)s << 8) | s;
7805  unsigned T = ((unsigned)t << 8) | t;
7806  unsigned stk1;
7807  unsigned stk2;
7808  unsigned stk3;
7809  stk3 = S | D;
7810  stk2 = T & stk3;
7811  stk1 = D ^ stk2;
7812  return stk1;
7813}
7814
7815/* DTSDoax source opaque/pattern transparent. */
7816static unsigned xrop3_74_0_1 (unsigned char s, unsigned char t)
7817{
7818  unsigned D = 0x00ff;
7819  unsigned S = ((unsigned)s << 8) | s;
7820  unsigned T = ((unsigned)t << 8) | t;
7821  unsigned stk1;
7822  unsigned stk2;
7823  unsigned stk3;
7824  stk3 = S | D;
7825  stk2 = T & stk3;
7826  stk1 = D ^ stk2;
7827  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7828}
7829
7830/* DTSDoax source transparent/pattern opaque. */
7831static unsigned xrop3_74_1_0 (unsigned char s, unsigned char t)
7832{
7833  unsigned D = 0x00ff;
7834  unsigned S = ((unsigned)s << 8) | s;
7835  unsigned T = ((unsigned)t << 8) | t;
7836  unsigned stk1;
7837  unsigned stk2;
7838  unsigned stk3;
7839  stk3 = S | D;
7840  stk2 = T & stk3;
7841  stk1 = D ^ stk2;
7842  return (stk1 & (~S)) | (D & S);
7843}
7844
7845/* DTSDoax source/pattern transparent. */
7846static unsigned xrop3_74_1_1 (unsigned char s, unsigned char t)
7847{
7848  unsigned D = 0x00ff;
7849  unsigned S = ((unsigned)s << 8) | s;
7850  unsigned T = ((unsigned)t << 8) | t;
7851  unsigned stk1;
7852  unsigned stk2;
7853  unsigned stk3;
7854  stk3 = S | D;
7855  stk2 = T & stk3;
7856  stk1 = D ^ stk2;
7857  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7858}
7859
7860/* TDSnox source/pattern opaque. */
7861static void rop3_75_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7862{
7863  unsigned char stk1;
7864  unsigned char stk2;
7865  unsigned char stk3;
7866  stk3 = ~S;
7867  stk2 = *D | stk3;
7868  stk1 = T ^ stk2;
7869  *D = stk1;
7870}
7871
7872/* TDSnox source opaque/pattern transparent. */
7873static void rop3_75_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7874{
7875  unsigned char stk1;
7876  unsigned char stk2;
7877  unsigned char stk3;
7878  stk3 = ~S;
7879  stk2 = *D | stk3;
7880  stk1 = T ^ stk2;
7881  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7882}
7883
7884/* TDSnox source transparent/pattern opaque. */
7885static void rop3_75_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7886{
7887  unsigned char stk1;
7888  unsigned char stk2;
7889  unsigned char stk3;
7890  stk3 = ~S;
7891  stk2 = *D | stk3;
7892  stk1 = T ^ stk2;
7893  *D = (stk1 & (~S)) | (*D & S);
7894}
7895
7896/* TDSnox source/pattern transparent. */
7897static void rop3_75_1_1 (unsigned char *D, unsigned char S, unsigned char T)
7898{
7899  unsigned char stk1;
7900  unsigned char stk2;
7901  unsigned char stk3;
7902  stk3 = ~S;
7903  stk2 = *D | stk3;
7904  stk1 = T ^ stk2;
7905  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
7906}
7907
7908/* TDSnox source/pattern opaque. */
7909static unsigned xrop3_75_0_0 (unsigned char s, unsigned char t)
7910{
7911  unsigned D = 0x00ff;
7912  unsigned S = ((unsigned)s << 8) | s;
7913  unsigned T = ((unsigned)t << 8) | t;
7914  unsigned stk1;
7915  unsigned stk2;
7916  unsigned stk3;
7917  stk3 = ~S;
7918  stk2 = D | stk3;
7919  stk1 = T ^ stk2;
7920  return stk1;
7921}
7922
7923/* TDSnox source opaque/pattern transparent. */
7924static unsigned xrop3_75_0_1 (unsigned char s, unsigned char t)
7925{
7926  unsigned D = 0x00ff;
7927  unsigned S = ((unsigned)s << 8) | s;
7928  unsigned T = ((unsigned)t << 8) | t;
7929  unsigned stk1;
7930  unsigned stk2;
7931  unsigned stk3;
7932  stk3 = ~S;
7933  stk2 = D | stk3;
7934  stk1 = T ^ stk2;
7935  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
7936}
7937
7938/* TDSnox source transparent/pattern opaque. */
7939static unsigned xrop3_75_1_0 (unsigned char s, unsigned char t)
7940{
7941  unsigned D = 0x00ff;
7942  unsigned S = ((unsigned)s << 8) | s;
7943  unsigned T = ((unsigned)t << 8) | t;
7944  unsigned stk1;
7945  unsigned stk2;
7946  unsigned stk3;
7947  stk3 = ~S;
7948  stk2 = D | stk3;
7949  stk1 = T ^ stk2;
7950  return (stk1 & (~S)) | (D & S);
7951}
7952
7953/* TDSnox source/pattern transparent. */
7954static unsigned xrop3_75_1_1 (unsigned char s, unsigned char t)
7955{
7956  unsigned D = 0x00ff;
7957  unsigned S = ((unsigned)s << 8) | s;
7958  unsigned T = ((unsigned)t << 8) | t;
7959  unsigned stk1;
7960  unsigned stk2;
7961  unsigned stk3;
7962  stk3 = ~S;
7963  stk2 = D | stk3;
7964  stk1 = T ^ stk2;
7965  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
7966}
7967
7968/* SDTana source/pattern opaque. */
7969static void rop3_76_0_0 (unsigned char *D, unsigned char S, unsigned char T)
7970{
7971  unsigned char stk1;
7972  unsigned char stk2;
7973  stk2 = *D & T;
7974  stk2 = ~stk2;
7975  stk1 = S & stk2;
7976  *D = stk1;
7977}
7978
7979/* SDTana source opaque/pattern transparent. */
7980static void rop3_76_0_1 (unsigned char *D, unsigned char S, unsigned char T)
7981{
7982  unsigned char stk1;
7983  unsigned char stk2;
7984  stk2 = *D & T;
7985  stk2 = ~stk2;
7986  stk1 = S & stk2;
7987  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
7988}
7989
7990/* SDTana source transparent/pattern opaque. */
7991static void rop3_76_1_0 (unsigned char *D, unsigned char S, unsigned char T)
7992{
7993  unsigned char stk1;
7994  unsigned char stk2;
7995  stk2 = *D & T;
7996  stk2 = ~stk2;
7997  stk1 = S & stk2;
7998  *D = (stk1 & (~S)) | (*D & S);
7999}
8000
8001/* SDTana source/pattern transparent. */
8002static void rop3_76_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8003{
8004  unsigned char stk1;
8005  unsigned char stk2;
8006  stk2 = *D & T;
8007  stk2 = ~stk2;
8008  stk1 = S & stk2;
8009  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8010}
8011
8012/* SDTana source/pattern opaque. */
8013static unsigned xrop3_76_0_0 (unsigned char s, unsigned char t)
8014{
8015  unsigned D = 0x00ff;
8016  unsigned S = ((unsigned)s << 8) | s;
8017  unsigned T = ((unsigned)t << 8) | t;
8018  unsigned stk1;
8019  unsigned stk2;
8020  stk2 = D & T;
8021  stk2 = ~stk2;
8022  stk1 = S & stk2;
8023  return stk1;
8024}
8025
8026/* SDTana source opaque/pattern transparent. */
8027static unsigned xrop3_76_0_1 (unsigned char s, unsigned char t)
8028{
8029  unsigned D = 0x00ff;
8030  unsigned S = ((unsigned)s << 8) | s;
8031  unsigned T = ((unsigned)t << 8) | t;
8032  unsigned stk1;
8033  unsigned stk2;
8034  stk2 = D & T;
8035  stk2 = ~stk2;
8036  stk1 = S & stk2;
8037  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8038}
8039
8040/* SDTana source transparent/pattern opaque. */
8041static unsigned xrop3_76_1_0 (unsigned char s, unsigned char t)
8042{
8043  unsigned D = 0x00ff;
8044  unsigned S = ((unsigned)s << 8) | s;
8045  unsigned T = ((unsigned)t << 8) | t;
8046  unsigned stk1;
8047  unsigned stk2;
8048  stk2 = D & T;
8049  stk2 = ~stk2;
8050  stk1 = S & stk2;
8051  return (stk1 & (~S)) | (D & S);
8052}
8053
8054/* SDTana source/pattern transparent. */
8055static unsigned xrop3_76_1_1 (unsigned char s, unsigned char t)
8056{
8057  unsigned D = 0x00ff;
8058  unsigned S = ((unsigned)s << 8) | s;
8059  unsigned T = ((unsigned)t << 8) | t;
8060  unsigned stk1;
8061  unsigned stk2;
8062  stk2 = D & T;
8063  stk2 = ~stk2;
8064  stk1 = S & stk2;
8065  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8066}
8067
8068/* SSTxDSxoxn source/pattern opaque. */
8069static void rop3_77_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8070{
8071  unsigned char stk1;
8072  unsigned char stk2;
8073  unsigned char stk3;
8074  stk2 = S ^ T;
8075  stk3 = *D ^ S;
8076  stk2 = stk2 | stk3;
8077  stk1 = S ^ stk2;
8078  stk1 = ~stk1;
8079  *D = stk1;
8080}
8081
8082/* SSTxDSxoxn source opaque/pattern transparent. */
8083static void rop3_77_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8084{
8085  unsigned char stk1;
8086  unsigned char stk2;
8087  unsigned char stk3;
8088  stk2 = S ^ T;
8089  stk3 = *D ^ S;
8090  stk2 = stk2 | stk3;
8091  stk1 = S ^ stk2;
8092  stk1 = ~stk1;
8093  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8094}
8095
8096/* SSTxDSxoxn source transparent/pattern opaque. */
8097static void rop3_77_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8098{
8099  unsigned char stk1;
8100  unsigned char stk2;
8101  unsigned char stk3;
8102  stk2 = S ^ T;
8103  stk3 = *D ^ S;
8104  stk2 = stk2 | stk3;
8105  stk1 = S ^ stk2;
8106  stk1 = ~stk1;
8107  *D = (stk1 & (~S)) | (*D & S);
8108}
8109
8110/* SSTxDSxoxn source/pattern transparent. */
8111static void rop3_77_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8112{
8113  unsigned char stk1;
8114  unsigned char stk2;
8115  unsigned char stk3;
8116  stk2 = S ^ T;
8117  stk3 = *D ^ S;
8118  stk2 = stk2 | stk3;
8119  stk1 = S ^ stk2;
8120  stk1 = ~stk1;
8121  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8122}
8123
8124/* SSTxDSxoxn source/pattern opaque. */
8125static unsigned xrop3_77_0_0 (unsigned char s, unsigned char t)
8126{
8127  unsigned D = 0x00ff;
8128  unsigned S = ((unsigned)s << 8) | s;
8129  unsigned T = ((unsigned)t << 8) | t;
8130  unsigned stk1;
8131  unsigned stk2;
8132  unsigned stk3;
8133  stk2 = S ^ T;
8134  stk3 = D ^ S;
8135  stk2 = stk2 | stk3;
8136  stk1 = S ^ stk2;
8137  stk1 = ~stk1;
8138  return stk1;
8139}
8140
8141/* SSTxDSxoxn source opaque/pattern transparent. */
8142static unsigned xrop3_77_0_1 (unsigned char s, unsigned char t)
8143{
8144  unsigned D = 0x00ff;
8145  unsigned S = ((unsigned)s << 8) | s;
8146  unsigned T = ((unsigned)t << 8) | t;
8147  unsigned stk1;
8148  unsigned stk2;
8149  unsigned stk3;
8150  stk2 = S ^ T;
8151  stk3 = D ^ S;
8152  stk2 = stk2 | stk3;
8153  stk1 = S ^ stk2;
8154  stk1 = ~stk1;
8155  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8156}
8157
8158/* SSTxDSxoxn source transparent/pattern opaque. */
8159static unsigned xrop3_77_1_0 (unsigned char s, unsigned char t)
8160{
8161  unsigned D = 0x00ff;
8162  unsigned S = ((unsigned)s << 8) | s;
8163  unsigned T = ((unsigned)t << 8) | t;
8164  unsigned stk1;
8165  unsigned stk2;
8166  unsigned stk3;
8167  stk2 = S ^ T;
8168  stk3 = D ^ S;
8169  stk2 = stk2 | stk3;
8170  stk1 = S ^ stk2;
8171  stk1 = ~stk1;
8172  return (stk1 & (~S)) | (D & S);
8173}
8174
8175/* SSTxDSxoxn source/pattern transparent. */
8176static unsigned xrop3_77_1_1 (unsigned char s, unsigned char t)
8177{
8178  unsigned D = 0x00ff;
8179  unsigned S = ((unsigned)s << 8) | s;
8180  unsigned T = ((unsigned)t << 8) | t;
8181  unsigned stk1;
8182  unsigned stk2;
8183  unsigned stk3;
8184  stk2 = S ^ T;
8185  stk3 = D ^ S;
8186  stk2 = stk2 | stk3;
8187  stk1 = S ^ stk2;
8188  stk1 = ~stk1;
8189  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8190}
8191
8192/* TDSTxox source/pattern opaque. */
8193static void rop3_78_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8194{
8195  unsigned char stk1;
8196  unsigned char stk2;
8197  unsigned char stk3;
8198  stk3 = S ^ T;
8199  stk2 = *D | stk3;
8200  stk1 = T ^ stk2;
8201  *D = stk1;
8202}
8203
8204/* TDSTxox source opaque/pattern transparent. */
8205static void rop3_78_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8206{
8207  unsigned char stk1;
8208  unsigned char stk2;
8209  unsigned char stk3;
8210  stk3 = S ^ T;
8211  stk2 = *D | stk3;
8212  stk1 = T ^ stk2;
8213  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8214}
8215
8216/* TDSTxox source transparent/pattern opaque. */
8217static void rop3_78_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8218{
8219  unsigned char stk1;
8220  unsigned char stk2;
8221  unsigned char stk3;
8222  stk3 = S ^ T;
8223  stk2 = *D | stk3;
8224  stk1 = T ^ stk2;
8225  *D = (stk1 & (~S)) | (*D & S);
8226}
8227
8228/* TDSTxox source/pattern transparent. */
8229static void rop3_78_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8230{
8231  unsigned char stk1;
8232  unsigned char stk2;
8233  unsigned char stk3;
8234  stk3 = S ^ T;
8235  stk2 = *D | stk3;
8236  stk1 = T ^ stk2;
8237  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8238}
8239
8240/* TDSTxox source/pattern opaque. */
8241static unsigned xrop3_78_0_0 (unsigned char s, unsigned char t)
8242{
8243  unsigned D = 0x00ff;
8244  unsigned S = ((unsigned)s << 8) | s;
8245  unsigned T = ((unsigned)t << 8) | t;
8246  unsigned stk1;
8247  unsigned stk2;
8248  unsigned stk3;
8249  stk3 = S ^ T;
8250  stk2 = D | stk3;
8251  stk1 = T ^ stk2;
8252  return stk1;
8253}
8254
8255/* TDSTxox source opaque/pattern transparent. */
8256static unsigned xrop3_78_0_1 (unsigned char s, unsigned char t)
8257{
8258  unsigned D = 0x00ff;
8259  unsigned S = ((unsigned)s << 8) | s;
8260  unsigned T = ((unsigned)t << 8) | t;
8261  unsigned stk1;
8262  unsigned stk2;
8263  unsigned stk3;
8264  stk3 = S ^ T;
8265  stk2 = D | stk3;
8266  stk1 = T ^ stk2;
8267  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8268}
8269
8270/* TDSTxox source transparent/pattern opaque. */
8271static unsigned xrop3_78_1_0 (unsigned char s, unsigned char t)
8272{
8273  unsigned D = 0x00ff;
8274  unsigned S = ((unsigned)s << 8) | s;
8275  unsigned T = ((unsigned)t << 8) | t;
8276  unsigned stk1;
8277  unsigned stk2;
8278  unsigned stk3;
8279  stk3 = S ^ T;
8280  stk2 = D | stk3;
8281  stk1 = T ^ stk2;
8282  return (stk1 & (~S)) | (D & S);
8283}
8284
8285/* TDSTxox source/pattern transparent. */
8286static unsigned xrop3_78_1_1 (unsigned char s, unsigned char t)
8287{
8288  unsigned D = 0x00ff;
8289  unsigned S = ((unsigned)s << 8) | s;
8290  unsigned T = ((unsigned)t << 8) | t;
8291  unsigned stk1;
8292  unsigned stk2;
8293  unsigned stk3;
8294  stk3 = S ^ T;
8295  stk2 = D | stk3;
8296  stk1 = T ^ stk2;
8297  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8298}
8299
8300/* TDSnoan source/pattern opaque. */
8301static void rop3_79_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8302{
8303  unsigned char stk1;
8304  unsigned char stk2;
8305  unsigned char stk3;
8306  stk3 = ~S;
8307  stk2 = *D | stk3;
8308  stk1 = T & stk2;
8309  stk1 = ~stk1;
8310  *D = stk1;
8311}
8312
8313/* TDSnoan source opaque/pattern transparent. */
8314static void rop3_79_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8315{
8316  unsigned char stk1;
8317  unsigned char stk2;
8318  unsigned char stk3;
8319  stk3 = ~S;
8320  stk2 = *D | stk3;
8321  stk1 = T & stk2;
8322  stk1 = ~stk1;
8323  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8324}
8325
8326/* TDSnoan source transparent/pattern opaque. */
8327static void rop3_79_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8328{
8329  unsigned char stk1;
8330  unsigned char stk2;
8331  unsigned char stk3;
8332  stk3 = ~S;
8333  stk2 = *D | stk3;
8334  stk1 = T & stk2;
8335  stk1 = ~stk1;
8336  *D = (stk1 & (~S)) | (*D & S);
8337}
8338
8339/* TDSnoan source/pattern transparent. */
8340static void rop3_79_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8341{
8342  unsigned char stk1;
8343  unsigned char stk2;
8344  unsigned char stk3;
8345  stk3 = ~S;
8346  stk2 = *D | stk3;
8347  stk1 = T & stk2;
8348  stk1 = ~stk1;
8349  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8350}
8351
8352/* TDSnoan source/pattern opaque. */
8353static unsigned xrop3_79_0_0 (unsigned char s, unsigned char t)
8354{
8355  unsigned D = 0x00ff;
8356  unsigned S = ((unsigned)s << 8) | s;
8357  unsigned T = ((unsigned)t << 8) | t;
8358  unsigned stk1;
8359  unsigned stk2;
8360  unsigned stk3;
8361  stk3 = ~S;
8362  stk2 = D | stk3;
8363  stk1 = T & stk2;
8364  stk1 = ~stk1;
8365  return stk1;
8366}
8367
8368/* TDSnoan source opaque/pattern transparent. */
8369static unsigned xrop3_79_0_1 (unsigned char s, unsigned char t)
8370{
8371  unsigned D = 0x00ff;
8372  unsigned S = ((unsigned)s << 8) | s;
8373  unsigned T = ((unsigned)t << 8) | t;
8374  unsigned stk1;
8375  unsigned stk2;
8376  unsigned stk3;
8377  stk3 = ~S;
8378  stk2 = D | stk3;
8379  stk1 = T & stk2;
8380  stk1 = ~stk1;
8381  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8382}
8383
8384/* TDSnoan source transparent/pattern opaque. */
8385static unsigned xrop3_79_1_0 (unsigned char s, unsigned char t)
8386{
8387  unsigned D = 0x00ff;
8388  unsigned S = ((unsigned)s << 8) | s;
8389  unsigned T = ((unsigned)t << 8) | t;
8390  unsigned stk1;
8391  unsigned stk2;
8392  unsigned stk3;
8393  stk3 = ~S;
8394  stk2 = D | stk3;
8395  stk1 = T & stk2;
8396  stk1 = ~stk1;
8397  return (stk1 & (~S)) | (D & S);
8398}
8399
8400/* TDSnoan source/pattern transparent. */
8401static unsigned xrop3_79_1_1 (unsigned char s, unsigned char t)
8402{
8403  unsigned D = 0x00ff;
8404  unsigned S = ((unsigned)s << 8) | s;
8405  unsigned T = ((unsigned)t << 8) | t;
8406  unsigned stk1;
8407  unsigned stk2;
8408  unsigned stk3;
8409  stk3 = ~S;
8410  stk2 = D | stk3;
8411  stk1 = T & stk2;
8412  stk1 = ~stk1;
8413  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8414}
8415
8416/* TDna source/pattern opaque. */
8417static void rop3_80_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8418{
8419  unsigned char stk1;
8420  unsigned char stk2;
8421  stk2 = ~*D;
8422  stk1 = T & stk2;
8423  *D = stk1;
8424}
8425
8426/* TDna source opaque/pattern transparent. */
8427static void rop3_80_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8428{
8429  unsigned char stk1;
8430  unsigned char stk2;
8431  stk2 = ~*D;
8432  stk1 = T & stk2;
8433  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8434}
8435
8436/* TDna source transparent/pattern opaque. */
8437static void rop3_80_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8438{
8439  unsigned char stk1;
8440  unsigned char stk2;
8441  stk2 = ~*D;
8442  stk1 = T & stk2;
8443  *D = (stk1 & (~S)) | (*D & S);
8444}
8445
8446/* TDna source/pattern transparent. */
8447static void rop3_80_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8448{
8449  unsigned char stk1;
8450  unsigned char stk2;
8451  stk2 = ~*D;
8452  stk1 = T & stk2;
8453  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8454}
8455
8456/* TDna source/pattern opaque. */
8457static unsigned xrop3_80_0_0 (unsigned char s, unsigned char t)
8458{
8459  unsigned D = 0x00ff;
8460  unsigned T = ((unsigned)t << 8) | t;
8461  unsigned stk1;
8462  unsigned stk2;
8463  stk2 = ~D;
8464  stk1 = T & stk2;
8465  return stk1;
8466}
8467
8468/* TDna source opaque/pattern transparent. */
8469static unsigned xrop3_80_0_1 (unsigned char s, unsigned char t)
8470{
8471  unsigned D = 0x00ff;
8472  unsigned S = ((unsigned)s << 8) | s;
8473  unsigned T = ((unsigned)t << 8) | t;
8474  unsigned stk1;
8475  unsigned stk2;
8476  stk2 = ~D;
8477  stk1 = T & stk2;
8478  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8479}
8480
8481/* TDna source transparent/pattern opaque. */
8482static unsigned xrop3_80_1_0 (unsigned char s, unsigned char t)
8483{
8484  unsigned D = 0x00ff;
8485  unsigned S = ((unsigned)s << 8) | s;
8486  unsigned T = ((unsigned)t << 8) | t;
8487  unsigned stk1;
8488  unsigned stk2;
8489  stk2 = ~D;
8490  stk1 = T & stk2;
8491  return (stk1 & (~S)) | (D & S);
8492}
8493
8494/* TDna source/pattern transparent. */
8495static unsigned xrop3_80_1_1 (unsigned char s, unsigned char t)
8496{
8497  unsigned D = 0x00ff;
8498  unsigned S = ((unsigned)s << 8) | s;
8499  unsigned T = ((unsigned)t << 8) | t;
8500  unsigned stk1;
8501  unsigned stk2;
8502  stk2 = ~D;
8503  stk1 = T & stk2;
8504  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8505}
8506
8507/* DSTnaon source/pattern opaque. */
8508static void rop3_81_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8509{
8510  unsigned char stk1;
8511  unsigned char stk2;
8512  unsigned char stk3;
8513  stk3 = ~T;
8514  stk2 = S & stk3;
8515  stk1 = *D | stk2;
8516  stk1 = ~stk1;
8517  *D = stk1;
8518}
8519
8520/* DSTnaon source opaque/pattern transparent. */
8521static void rop3_81_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8522{
8523  unsigned char stk1;
8524  unsigned char stk2;
8525  unsigned char stk3;
8526  stk3 = ~T;
8527  stk2 = S & stk3;
8528  stk1 = *D | stk2;
8529  stk1 = ~stk1;
8530  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8531}
8532
8533/* DSTnaon source transparent/pattern opaque. */
8534static void rop3_81_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8535{
8536  unsigned char stk1;
8537  unsigned char stk2;
8538  unsigned char stk3;
8539  stk3 = ~T;
8540  stk2 = S & stk3;
8541  stk1 = *D | stk2;
8542  stk1 = ~stk1;
8543  *D = (stk1 & (~S)) | (*D & S);
8544}
8545
8546/* DSTnaon source/pattern transparent. */
8547static void rop3_81_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8548{
8549  unsigned char stk1;
8550  unsigned char stk2;
8551  unsigned char stk3;
8552  stk3 = ~T;
8553  stk2 = S & stk3;
8554  stk1 = *D | stk2;
8555  stk1 = ~stk1;
8556  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8557}
8558
8559/* DSTnaon source/pattern opaque. */
8560static unsigned xrop3_81_0_0 (unsigned char s, unsigned char t)
8561{
8562  unsigned D = 0x00ff;
8563  unsigned S = ((unsigned)s << 8) | s;
8564  unsigned T = ((unsigned)t << 8) | t;
8565  unsigned stk1;
8566  unsigned stk2;
8567  unsigned stk3;
8568  stk3 = ~T;
8569  stk2 = S & stk3;
8570  stk1 = D | stk2;
8571  stk1 = ~stk1;
8572  return stk1;
8573}
8574
8575/* DSTnaon source opaque/pattern transparent. */
8576static unsigned xrop3_81_0_1 (unsigned char s, unsigned char t)
8577{
8578  unsigned D = 0x00ff;
8579  unsigned S = ((unsigned)s << 8) | s;
8580  unsigned T = ((unsigned)t << 8) | t;
8581  unsigned stk1;
8582  unsigned stk2;
8583  unsigned stk3;
8584  stk3 = ~T;
8585  stk2 = S & stk3;
8586  stk1 = D | stk2;
8587  stk1 = ~stk1;
8588  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8589}
8590
8591/* DSTnaon source transparent/pattern opaque. */
8592static unsigned xrop3_81_1_0 (unsigned char s, unsigned char t)
8593{
8594  unsigned D = 0x00ff;
8595  unsigned S = ((unsigned)s << 8) | s;
8596  unsigned T = ((unsigned)t << 8) | t;
8597  unsigned stk1;
8598  unsigned stk2;
8599  unsigned stk3;
8600  stk3 = ~T;
8601  stk2 = S & stk3;
8602  stk1 = D | stk2;
8603  stk1 = ~stk1;
8604  return (stk1 & (~S)) | (D & S);
8605}
8606
8607/* DSTnaon source/pattern transparent. */
8608static unsigned xrop3_81_1_1 (unsigned char s, unsigned char t)
8609{
8610  unsigned D = 0x00ff;
8611  unsigned S = ((unsigned)s << 8) | s;
8612  unsigned T = ((unsigned)t << 8) | t;
8613  unsigned stk1;
8614  unsigned stk2;
8615  unsigned stk3;
8616  stk3 = ~T;
8617  stk2 = S & stk3;
8618  stk1 = D | stk2;
8619  stk1 = ~stk1;
8620  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8621}
8622
8623/* DTSDaox source/pattern opaque. */
8624static void rop3_82_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8625{
8626  unsigned char stk1;
8627  unsigned char stk2;
8628  unsigned char stk3;
8629  stk3 = S & *D;
8630  stk2 = T | stk3;
8631  stk1 = *D ^ stk2;
8632  *D = stk1;
8633}
8634
8635/* DTSDaox source opaque/pattern transparent. */
8636static void rop3_82_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8637{
8638  unsigned char stk1;
8639  unsigned char stk2;
8640  unsigned char stk3;
8641  stk3 = S & *D;
8642  stk2 = T | stk3;
8643  stk1 = *D ^ stk2;
8644  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8645}
8646
8647/* DTSDaox source transparent/pattern opaque. */
8648static void rop3_82_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8649{
8650  unsigned char stk1;
8651  unsigned char stk2;
8652  unsigned char stk3;
8653  stk3 = S & *D;
8654  stk2 = T | stk3;
8655  stk1 = *D ^ stk2;
8656  *D = (stk1 & (~S)) | (*D & S);
8657}
8658
8659/* DTSDaox source/pattern transparent. */
8660static void rop3_82_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8661{
8662  unsigned char stk1;
8663  unsigned char stk2;
8664  unsigned char stk3;
8665  stk3 = S & *D;
8666  stk2 = T | stk3;
8667  stk1 = *D ^ stk2;
8668  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8669}
8670
8671/* DTSDaox source/pattern opaque. */
8672static unsigned xrop3_82_0_0 (unsigned char s, unsigned char t)
8673{
8674  unsigned D = 0x00ff;
8675  unsigned S = ((unsigned)s << 8) | s;
8676  unsigned T = ((unsigned)t << 8) | t;
8677  unsigned stk1;
8678  unsigned stk2;
8679  unsigned stk3;
8680  stk3 = S & D;
8681  stk2 = T | stk3;
8682  stk1 = D ^ stk2;
8683  return stk1;
8684}
8685
8686/* DTSDaox source opaque/pattern transparent. */
8687static unsigned xrop3_82_0_1 (unsigned char s, unsigned char t)
8688{
8689  unsigned D = 0x00ff;
8690  unsigned S = ((unsigned)s << 8) | s;
8691  unsigned T = ((unsigned)t << 8) | t;
8692  unsigned stk1;
8693  unsigned stk2;
8694  unsigned stk3;
8695  stk3 = S & D;
8696  stk2 = T | stk3;
8697  stk1 = D ^ stk2;
8698  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8699}
8700
8701/* DTSDaox source transparent/pattern opaque. */
8702static unsigned xrop3_82_1_0 (unsigned char s, unsigned char t)
8703{
8704  unsigned D = 0x00ff;
8705  unsigned S = ((unsigned)s << 8) | s;
8706  unsigned T = ((unsigned)t << 8) | t;
8707  unsigned stk1;
8708  unsigned stk2;
8709  unsigned stk3;
8710  stk3 = S & D;
8711  stk2 = T | stk3;
8712  stk1 = D ^ stk2;
8713  return (stk1 & (~S)) | (D & S);
8714}
8715
8716/* DTSDaox source/pattern transparent. */
8717static unsigned xrop3_82_1_1 (unsigned char s, unsigned char t)
8718{
8719  unsigned D = 0x00ff;
8720  unsigned S = ((unsigned)s << 8) | s;
8721  unsigned T = ((unsigned)t << 8) | t;
8722  unsigned stk1;
8723  unsigned stk2;
8724  unsigned stk3;
8725  stk3 = S & D;
8726  stk2 = T | stk3;
8727  stk1 = D ^ stk2;
8728  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8729}
8730
8731/* STDSxaxn source/pattern opaque. */
8732static void rop3_83_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8733{
8734  unsigned char stk1;
8735  unsigned char stk2;
8736  unsigned char stk3;
8737  stk3 = *D ^ S;
8738  stk2 = T & stk3;
8739  stk1 = S ^ stk2;
8740  stk1 = ~stk1;
8741  *D = stk1;
8742}
8743
8744/* STDSxaxn source opaque/pattern transparent. */
8745static void rop3_83_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8746{
8747  unsigned char stk1;
8748  unsigned char stk2;
8749  unsigned char stk3;
8750  stk3 = *D ^ S;
8751  stk2 = T & stk3;
8752  stk1 = S ^ stk2;
8753  stk1 = ~stk1;
8754  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8755}
8756
8757/* STDSxaxn source transparent/pattern opaque. */
8758static void rop3_83_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8759{
8760  unsigned char stk1;
8761  unsigned char stk2;
8762  unsigned char stk3;
8763  stk3 = *D ^ S;
8764  stk2 = T & stk3;
8765  stk1 = S ^ stk2;
8766  stk1 = ~stk1;
8767  *D = (stk1 & (~S)) | (*D & S);
8768}
8769
8770/* STDSxaxn source/pattern transparent. */
8771static void rop3_83_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8772{
8773  unsigned char stk1;
8774  unsigned char stk2;
8775  unsigned char stk3;
8776  stk3 = *D ^ S;
8777  stk2 = T & stk3;
8778  stk1 = S ^ stk2;
8779  stk1 = ~stk1;
8780  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8781}
8782
8783/* STDSxaxn source/pattern opaque. */
8784static unsigned xrop3_83_0_0 (unsigned char s, unsigned char t)
8785{
8786  unsigned D = 0x00ff;
8787  unsigned S = ((unsigned)s << 8) | s;
8788  unsigned T = ((unsigned)t << 8) | t;
8789  unsigned stk1;
8790  unsigned stk2;
8791  unsigned stk3;
8792  stk3 = D ^ S;
8793  stk2 = T & stk3;
8794  stk1 = S ^ stk2;
8795  stk1 = ~stk1;
8796  return stk1;
8797}
8798
8799/* STDSxaxn source opaque/pattern transparent. */
8800static unsigned xrop3_83_0_1 (unsigned char s, unsigned char t)
8801{
8802  unsigned D = 0x00ff;
8803  unsigned S = ((unsigned)s << 8) | s;
8804  unsigned T = ((unsigned)t << 8) | t;
8805  unsigned stk1;
8806  unsigned stk2;
8807  unsigned stk3;
8808  stk3 = D ^ S;
8809  stk2 = T & stk3;
8810  stk1 = S ^ stk2;
8811  stk1 = ~stk1;
8812  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8813}
8814
8815/* STDSxaxn source transparent/pattern opaque. */
8816static unsigned xrop3_83_1_0 (unsigned char s, unsigned char t)
8817{
8818  unsigned D = 0x00ff;
8819  unsigned S = ((unsigned)s << 8) | s;
8820  unsigned T = ((unsigned)t << 8) | t;
8821  unsigned stk1;
8822  unsigned stk2;
8823  unsigned stk3;
8824  stk3 = D ^ S;
8825  stk2 = T & stk3;
8826  stk1 = S ^ stk2;
8827  stk1 = ~stk1;
8828  return (stk1 & (~S)) | (D & S);
8829}
8830
8831/* STDSxaxn source/pattern transparent. */
8832static unsigned xrop3_83_1_1 (unsigned char s, unsigned char t)
8833{
8834  unsigned D = 0x00ff;
8835  unsigned S = ((unsigned)s << 8) | s;
8836  unsigned T = ((unsigned)t << 8) | t;
8837  unsigned stk1;
8838  unsigned stk2;
8839  unsigned stk3;
8840  stk3 = D ^ S;
8841  stk2 = T & stk3;
8842  stk1 = S ^ stk2;
8843  stk1 = ~stk1;
8844  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8845}
8846
8847/* DTSonon source/pattern opaque. */
8848static void rop3_84_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8849{
8850  unsigned char stk1;
8851  unsigned char stk2;
8852  stk2 = T | S;
8853  stk2 = ~stk2;
8854  stk1 = *D | stk2;
8855  stk1 = ~stk1;
8856  *D = stk1;
8857}
8858
8859/* DTSonon source opaque/pattern transparent. */
8860static void rop3_84_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8861{
8862  unsigned char stk1;
8863  unsigned char stk2;
8864  stk2 = T | S;
8865  stk2 = ~stk2;
8866  stk1 = *D | stk2;
8867  stk1 = ~stk1;
8868  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8869}
8870
8871/* DTSonon source transparent/pattern opaque. */
8872static void rop3_84_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8873{
8874  unsigned char stk1;
8875  unsigned char stk2;
8876  stk2 = T | S;
8877  stk2 = ~stk2;
8878  stk1 = *D | stk2;
8879  stk1 = ~stk1;
8880  *D = (stk1 & (~S)) | (*D & S);
8881}
8882
8883/* DTSonon source/pattern transparent. */
8884static void rop3_84_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8885{
8886  unsigned char stk1;
8887  unsigned char stk2;
8888  stk2 = T | S;
8889  stk2 = ~stk2;
8890  stk1 = *D | stk2;
8891  stk1 = ~stk1;
8892  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8893}
8894
8895/* DTSonon source/pattern opaque. */
8896static unsigned xrop3_84_0_0 (unsigned char s, unsigned char t)
8897{
8898  unsigned D = 0x00ff;
8899  unsigned S = ((unsigned)s << 8) | s;
8900  unsigned T = ((unsigned)t << 8) | t;
8901  unsigned stk1;
8902  unsigned stk2;
8903  stk2 = T | S;
8904  stk2 = ~stk2;
8905  stk1 = D | stk2;
8906  stk1 = ~stk1;
8907  return stk1;
8908}
8909
8910/* DTSonon source opaque/pattern transparent. */
8911static unsigned xrop3_84_0_1 (unsigned char s, unsigned char t)
8912{
8913  unsigned D = 0x00ff;
8914  unsigned S = ((unsigned)s << 8) | s;
8915  unsigned T = ((unsigned)t << 8) | t;
8916  unsigned stk1;
8917  unsigned stk2;
8918  stk2 = T | S;
8919  stk2 = ~stk2;
8920  stk1 = D | stk2;
8921  stk1 = ~stk1;
8922  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
8923}
8924
8925/* DTSonon source transparent/pattern opaque. */
8926static unsigned xrop3_84_1_0 (unsigned char s, unsigned char t)
8927{
8928  unsigned D = 0x00ff;
8929  unsigned S = ((unsigned)s << 8) | s;
8930  unsigned T = ((unsigned)t << 8) | t;
8931  unsigned stk1;
8932  unsigned stk2;
8933  stk2 = T | S;
8934  stk2 = ~stk2;
8935  stk1 = D | stk2;
8936  stk1 = ~stk1;
8937  return (stk1 & (~S)) | (D & S);
8938}
8939
8940/* DTSonon source/pattern transparent. */
8941static unsigned xrop3_84_1_1 (unsigned char s, unsigned char t)
8942{
8943  unsigned D = 0x00ff;
8944  unsigned S = ((unsigned)s << 8) | s;
8945  unsigned T = ((unsigned)t << 8) | t;
8946  unsigned stk1;
8947  unsigned stk2;
8948  stk2 = T | S;
8949  stk2 = ~stk2;
8950  stk1 = D | stk2;
8951  stk1 = ~stk1;
8952  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
8953}
8954
8955/* Dn source/pattern opaque. */
8956static void rop3_85_0_0 (unsigned char *D, unsigned char S, unsigned char T)
8957{
8958  unsigned char stk1;
8959  stk1 = ~*D;
8960  *D = stk1;
8961}
8962
8963/* Dn source opaque/pattern transparent. */
8964static void rop3_85_0_1 (unsigned char *D, unsigned char S, unsigned char T)
8965{
8966  unsigned char stk1;
8967  stk1 = ~*D;
8968  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
8969}
8970
8971/* Dn source transparent/pattern opaque. */
8972static void rop3_85_1_0 (unsigned char *D, unsigned char S, unsigned char T)
8973{
8974  unsigned char stk1;
8975  stk1 = ~*D;
8976  *D = (stk1 & (~S)) | (*D & S);
8977}
8978
8979/* Dn source/pattern transparent. */
8980static void rop3_85_1_1 (unsigned char *D, unsigned char S, unsigned char T)
8981{
8982  unsigned char stk1;
8983  stk1 = ~*D;
8984  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
8985}
8986
8987/* Dn source/pattern opaque. */
8988static unsigned xrop3_85_0_0 (unsigned char s, unsigned char t)
8989{
8990  unsigned D = 0x00ff;
8991  unsigned stk1;
8992  stk1 = ~D;
8993  return stk1;
8994}
8995
8996/* Dn source opaque/pattern transparent. */
8997static unsigned xrop3_85_0_1 (unsigned char s, unsigned char t)
8998{
8999  unsigned D = 0x00ff;
9000  unsigned S = ((unsigned)s << 8) | s;
9001  unsigned T = ((unsigned)t << 8) | t;
9002  unsigned stk1;
9003  stk1 = ~D;
9004  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9005}
9006
9007/* Dn source transparent/pattern opaque. */
9008static unsigned xrop3_85_1_0 (unsigned char s, unsigned char t)
9009{
9010  unsigned D = 0x00ff;
9011  unsigned S = ((unsigned)s << 8) | s;
9012  unsigned stk1;
9013  stk1 = ~D;
9014  return (stk1 & (~S)) | (D & S);
9015}
9016
9017/* Dn source/pattern transparent. */
9018static unsigned xrop3_85_1_1 (unsigned char s, unsigned char t)
9019{
9020  unsigned D = 0x00ff;
9021  unsigned S = ((unsigned)s << 8) | s;
9022  unsigned T = ((unsigned)t << 8) | t;
9023  unsigned stk1;
9024  stk1 = ~D;
9025  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9026}
9027
9028/* DTSox source/pattern opaque. */
9029static void rop3_86_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9030{
9031  unsigned char stk1;
9032  unsigned char stk2;
9033  stk2 = T | S;
9034  stk1 = *D ^ stk2;
9035  *D = stk1;
9036}
9037
9038/* DTSox source opaque/pattern transparent. */
9039static void rop3_86_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9040{
9041  unsigned char stk1;
9042  unsigned char stk2;
9043  stk2 = T | S;
9044  stk1 = *D ^ stk2;
9045  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9046}
9047
9048/* DTSox source transparent/pattern opaque. */
9049static void rop3_86_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9050{
9051  unsigned char stk1;
9052  unsigned char stk2;
9053  stk2 = T | S;
9054  stk1 = *D ^ stk2;
9055  *D = (stk1 & (~S)) | (*D & S);
9056}
9057
9058/* DTSox source/pattern transparent. */
9059static void rop3_86_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9060{
9061  unsigned char stk1;
9062  unsigned char stk2;
9063  stk2 = T | S;
9064  stk1 = *D ^ stk2;
9065  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9066}
9067
9068/* DTSox source/pattern opaque. */
9069static unsigned xrop3_86_0_0 (unsigned char s, unsigned char t)
9070{
9071  unsigned D = 0x00ff;
9072  unsigned S = ((unsigned)s << 8) | s;
9073  unsigned T = ((unsigned)t << 8) | t;
9074  unsigned stk1;
9075  unsigned stk2;
9076  stk2 = T | S;
9077  stk1 = D ^ stk2;
9078  return stk1;
9079}
9080
9081/* DTSox source opaque/pattern transparent. */
9082static unsigned xrop3_86_0_1 (unsigned char s, unsigned char t)
9083{
9084  unsigned D = 0x00ff;
9085  unsigned S = ((unsigned)s << 8) | s;
9086  unsigned T = ((unsigned)t << 8) | t;
9087  unsigned stk1;
9088  unsigned stk2;
9089  stk2 = T | S;
9090  stk1 = D ^ stk2;
9091  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9092}
9093
9094/* DTSox source transparent/pattern opaque. */
9095static unsigned xrop3_86_1_0 (unsigned char s, unsigned char t)
9096{
9097  unsigned D = 0x00ff;
9098  unsigned S = ((unsigned)s << 8) | s;
9099  unsigned T = ((unsigned)t << 8) | t;
9100  unsigned stk1;
9101  unsigned stk2;
9102  stk2 = T | S;
9103  stk1 = D ^ stk2;
9104  return (stk1 & (~S)) | (D & S);
9105}
9106
9107/* DTSox source/pattern transparent. */
9108static unsigned xrop3_86_1_1 (unsigned char s, unsigned char t)
9109{
9110  unsigned D = 0x00ff;
9111  unsigned S = ((unsigned)s << 8) | s;
9112  unsigned T = ((unsigned)t << 8) | t;
9113  unsigned stk1;
9114  unsigned stk2;
9115  stk2 = T | S;
9116  stk1 = D ^ stk2;
9117  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9118}
9119
9120/* DTSoan source/pattern opaque. */
9121static void rop3_87_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9122{
9123  unsigned char stk1;
9124  unsigned char stk2;
9125  stk2 = T | S;
9126  stk1 = *D & stk2;
9127  stk1 = ~stk1;
9128  *D = stk1;
9129}
9130
9131/* DTSoan source opaque/pattern transparent. */
9132static void rop3_87_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9133{
9134  unsigned char stk1;
9135  unsigned char stk2;
9136  stk2 = T | S;
9137  stk1 = *D & stk2;
9138  stk1 = ~stk1;
9139  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9140}
9141
9142/* DTSoan source transparent/pattern opaque. */
9143static void rop3_87_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9144{
9145  unsigned char stk1;
9146  unsigned char stk2;
9147  stk2 = T | S;
9148  stk1 = *D & stk2;
9149  stk1 = ~stk1;
9150  *D = (stk1 & (~S)) | (*D & S);
9151}
9152
9153/* DTSoan source/pattern transparent. */
9154static void rop3_87_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9155{
9156  unsigned char stk1;
9157  unsigned char stk2;
9158  stk2 = T | S;
9159  stk1 = *D & stk2;
9160  stk1 = ~stk1;
9161  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9162}
9163
9164/* DTSoan source/pattern opaque. */
9165static unsigned xrop3_87_0_0 (unsigned char s, unsigned char t)
9166{
9167  unsigned D = 0x00ff;
9168  unsigned S = ((unsigned)s << 8) | s;
9169  unsigned T = ((unsigned)t << 8) | t;
9170  unsigned stk1;
9171  unsigned stk2;
9172  stk2 = T | S;
9173  stk1 = D & stk2;
9174  stk1 = ~stk1;
9175  return stk1;
9176}
9177
9178/* DTSoan source opaque/pattern transparent. */
9179static unsigned xrop3_87_0_1 (unsigned char s, unsigned char t)
9180{
9181  unsigned D = 0x00ff;
9182  unsigned S = ((unsigned)s << 8) | s;
9183  unsigned T = ((unsigned)t << 8) | t;
9184  unsigned stk1;
9185  unsigned stk2;
9186  stk2 = T | S;
9187  stk1 = D & stk2;
9188  stk1 = ~stk1;
9189  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9190}
9191
9192/* DTSoan source transparent/pattern opaque. */
9193static unsigned xrop3_87_1_0 (unsigned char s, unsigned char t)
9194{
9195  unsigned D = 0x00ff;
9196  unsigned S = ((unsigned)s << 8) | s;
9197  unsigned T = ((unsigned)t << 8) | t;
9198  unsigned stk1;
9199  unsigned stk2;
9200  stk2 = T | S;
9201  stk1 = D & stk2;
9202  stk1 = ~stk1;
9203  return (stk1 & (~S)) | (D & S);
9204}
9205
9206/* DTSoan source/pattern transparent. */
9207static unsigned xrop3_87_1_1 (unsigned char s, unsigned char t)
9208{
9209  unsigned D = 0x00ff;
9210  unsigned S = ((unsigned)s << 8) | s;
9211  unsigned T = ((unsigned)t << 8) | t;
9212  unsigned stk1;
9213  unsigned stk2;
9214  stk2 = T | S;
9215  stk1 = D & stk2;
9216  stk1 = ~stk1;
9217  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9218}
9219
9220/* TDSToax source/pattern opaque. */
9221static void rop3_88_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9222{
9223  unsigned char stk1;
9224  unsigned char stk2;
9225  unsigned char stk3;
9226  stk3 = S | T;
9227  stk2 = *D & stk3;
9228  stk1 = T ^ stk2;
9229  *D = stk1;
9230}
9231
9232/* TDSToax source opaque/pattern transparent. */
9233static void rop3_88_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9234{
9235  unsigned char stk1;
9236  unsigned char stk2;
9237  unsigned char stk3;
9238  stk3 = S | T;
9239  stk2 = *D & stk3;
9240  stk1 = T ^ stk2;
9241  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9242}
9243
9244/* TDSToax source transparent/pattern opaque. */
9245static void rop3_88_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9246{
9247  unsigned char stk1;
9248  unsigned char stk2;
9249  unsigned char stk3;
9250  stk3 = S | T;
9251  stk2 = *D & stk3;
9252  stk1 = T ^ stk2;
9253  *D = (stk1 & (~S)) | (*D & S);
9254}
9255
9256/* TDSToax source/pattern transparent. */
9257static void rop3_88_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9258{
9259  unsigned char stk1;
9260  unsigned char stk2;
9261  unsigned char stk3;
9262  stk3 = S | T;
9263  stk2 = *D & stk3;
9264  stk1 = T ^ stk2;
9265  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9266}
9267
9268/* TDSToax source/pattern opaque. */
9269static unsigned xrop3_88_0_0 (unsigned char s, unsigned char t)
9270{
9271  unsigned D = 0x00ff;
9272  unsigned S = ((unsigned)s << 8) | s;
9273  unsigned T = ((unsigned)t << 8) | t;
9274  unsigned stk1;
9275  unsigned stk2;
9276  unsigned stk3;
9277  stk3 = S | T;
9278  stk2 = D & stk3;
9279  stk1 = T ^ stk2;
9280  return stk1;
9281}
9282
9283/* TDSToax source opaque/pattern transparent. */
9284static unsigned xrop3_88_0_1 (unsigned char s, unsigned char t)
9285{
9286  unsigned D = 0x00ff;
9287  unsigned S = ((unsigned)s << 8) | s;
9288  unsigned T = ((unsigned)t << 8) | t;
9289  unsigned stk1;
9290  unsigned stk2;
9291  unsigned stk3;
9292  stk3 = S | T;
9293  stk2 = D & stk3;
9294  stk1 = T ^ stk2;
9295  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9296}
9297
9298/* TDSToax source transparent/pattern opaque. */
9299static unsigned xrop3_88_1_0 (unsigned char s, unsigned char t)
9300{
9301  unsigned D = 0x00ff;
9302  unsigned S = ((unsigned)s << 8) | s;
9303  unsigned T = ((unsigned)t << 8) | t;
9304  unsigned stk1;
9305  unsigned stk2;
9306  unsigned stk3;
9307  stk3 = S | T;
9308  stk2 = D & stk3;
9309  stk1 = T ^ stk2;
9310  return (stk1 & (~S)) | (D & S);
9311}
9312
9313/* TDSToax source/pattern transparent. */
9314static unsigned xrop3_88_1_1 (unsigned char s, unsigned char t)
9315{
9316  unsigned D = 0x00ff;
9317  unsigned S = ((unsigned)s << 8) | s;
9318  unsigned T = ((unsigned)t << 8) | t;
9319  unsigned stk1;
9320  unsigned stk2;
9321  unsigned stk3;
9322  stk3 = S | T;
9323  stk2 = D & stk3;
9324  stk1 = T ^ stk2;
9325  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9326}
9327
9328/* DTSnox source/pattern opaque. */
9329static void rop3_89_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9330{
9331  unsigned char stk1;
9332  unsigned char stk2;
9333  unsigned char stk3;
9334  stk3 = ~S;
9335  stk2 = T | stk3;
9336  stk1 = *D ^ stk2;
9337  *D = stk1;
9338}
9339
9340/* DTSnox source opaque/pattern transparent. */
9341static void rop3_89_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9342{
9343  unsigned char stk1;
9344  unsigned char stk2;
9345  unsigned char stk3;
9346  stk3 = ~S;
9347  stk2 = T | stk3;
9348  stk1 = *D ^ stk2;
9349  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9350}
9351
9352/* DTSnox source transparent/pattern opaque. */
9353static void rop3_89_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9354{
9355  unsigned char stk1;
9356  unsigned char stk2;
9357  unsigned char stk3;
9358  stk3 = ~S;
9359  stk2 = T | stk3;
9360  stk1 = *D ^ stk2;
9361  *D = (stk1 & (~S)) | (*D & S);
9362}
9363
9364/* DTSnox source/pattern transparent. */
9365static void rop3_89_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9366{
9367  unsigned char stk1;
9368  unsigned char stk2;
9369  unsigned char stk3;
9370  stk3 = ~S;
9371  stk2 = T | stk3;
9372  stk1 = *D ^ stk2;
9373  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9374}
9375
9376/* DTSnox source/pattern opaque. */
9377static unsigned xrop3_89_0_0 (unsigned char s, unsigned char t)
9378{
9379  unsigned D = 0x00ff;
9380  unsigned S = ((unsigned)s << 8) | s;
9381  unsigned T = ((unsigned)t << 8) | t;
9382  unsigned stk1;
9383  unsigned stk2;
9384  unsigned stk3;
9385  stk3 = ~S;
9386  stk2 = T | stk3;
9387  stk1 = D ^ stk2;
9388  return stk1;
9389}
9390
9391/* DTSnox source opaque/pattern transparent. */
9392static unsigned xrop3_89_0_1 (unsigned char s, unsigned char t)
9393{
9394  unsigned D = 0x00ff;
9395  unsigned S = ((unsigned)s << 8) | s;
9396  unsigned T = ((unsigned)t << 8) | t;
9397  unsigned stk1;
9398  unsigned stk2;
9399  unsigned stk3;
9400  stk3 = ~S;
9401  stk2 = T | stk3;
9402  stk1 = D ^ stk2;
9403  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9404}
9405
9406/* DTSnox source transparent/pattern opaque. */
9407static unsigned xrop3_89_1_0 (unsigned char s, unsigned char t)
9408{
9409  unsigned D = 0x00ff;
9410  unsigned S = ((unsigned)s << 8) | s;
9411  unsigned T = ((unsigned)t << 8) | t;
9412  unsigned stk1;
9413  unsigned stk2;
9414  unsigned stk3;
9415  stk3 = ~S;
9416  stk2 = T | stk3;
9417  stk1 = D ^ stk2;
9418  return (stk1 & (~S)) | (D & S);
9419}
9420
9421/* DTSnox source/pattern transparent. */
9422static unsigned xrop3_89_1_1 (unsigned char s, unsigned char t)
9423{
9424  unsigned D = 0x00ff;
9425  unsigned S = ((unsigned)s << 8) | s;
9426  unsigned T = ((unsigned)t << 8) | t;
9427  unsigned stk1;
9428  unsigned stk2;
9429  unsigned stk3;
9430  stk3 = ~S;
9431  stk2 = T | stk3;
9432  stk1 = D ^ stk2;
9433  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9434}
9435
9436/* DTx source/pattern opaque. */
9437static void rop3_90_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9438{
9439  unsigned char stk1;
9440  stk1 = *D ^ T;
9441  *D = stk1;
9442}
9443
9444/* DTx source opaque/pattern transparent. */
9445static void rop3_90_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9446{
9447  unsigned char stk1;
9448  stk1 = *D ^ T;
9449  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9450}
9451
9452/* DTx source transparent/pattern opaque. */
9453static void rop3_90_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9454{
9455  unsigned char stk1;
9456  stk1 = *D ^ T;
9457  *D = (stk1 & (~S)) | (*D & S);
9458}
9459
9460/* DTx source/pattern transparent. */
9461static void rop3_90_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9462{
9463  unsigned char stk1;
9464  stk1 = *D ^ T;
9465  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9466}
9467
9468/* DTx source/pattern opaque. */
9469static unsigned xrop3_90_0_0 (unsigned char s, unsigned char t)
9470{
9471  unsigned D = 0x00ff;
9472  unsigned T = ((unsigned)t << 8) | t;
9473  unsigned stk1;
9474  stk1 = D ^ T;
9475  return stk1;
9476}
9477
9478/* DTx source opaque/pattern transparent. */
9479static unsigned xrop3_90_0_1 (unsigned char s, unsigned char t)
9480{
9481  unsigned D = 0x00ff;
9482  unsigned S = ((unsigned)s << 8) | s;
9483  unsigned T = ((unsigned)t << 8) | t;
9484  unsigned stk1;
9485  stk1 = D ^ T;
9486  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9487}
9488
9489/* DTx source transparent/pattern opaque. */
9490static unsigned xrop3_90_1_0 (unsigned char s, unsigned char t)
9491{
9492  unsigned D = 0x00ff;
9493  unsigned S = ((unsigned)s << 8) | s;
9494  unsigned T = ((unsigned)t << 8) | t;
9495  unsigned stk1;
9496  stk1 = D ^ T;
9497  return (stk1 & (~S)) | (D & S);
9498}
9499
9500/* DTx source/pattern transparent. */
9501static unsigned xrop3_90_1_1 (unsigned char s, unsigned char t)
9502{
9503  unsigned D = 0x00ff;
9504  unsigned S = ((unsigned)s << 8) | s;
9505  unsigned T = ((unsigned)t << 8) | t;
9506  unsigned stk1;
9507  stk1 = D ^ T;
9508  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9509}
9510
9511/* DTSDonox source/pattern opaque. */
9512static void rop3_91_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9513{
9514  unsigned char stk1;
9515  unsigned char stk2;
9516  unsigned char stk3;
9517  stk3 = S | *D;
9518  stk3 = ~stk3;
9519  stk2 = T | stk3;
9520  stk1 = *D ^ stk2;
9521  *D = stk1;
9522}
9523
9524/* DTSDonox source opaque/pattern transparent. */
9525static void rop3_91_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9526{
9527  unsigned char stk1;
9528  unsigned char stk2;
9529  unsigned char stk3;
9530  stk3 = S | *D;
9531  stk3 = ~stk3;
9532  stk2 = T | stk3;
9533  stk1 = *D ^ stk2;
9534  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9535}
9536
9537/* DTSDonox source transparent/pattern opaque. */
9538static void rop3_91_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9539{
9540  unsigned char stk1;
9541  unsigned char stk2;
9542  unsigned char stk3;
9543  stk3 = S | *D;
9544  stk3 = ~stk3;
9545  stk2 = T | stk3;
9546  stk1 = *D ^ stk2;
9547  *D = (stk1 & (~S)) | (*D & S);
9548}
9549
9550/* DTSDonox source/pattern transparent. */
9551static void rop3_91_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9552{
9553  unsigned char stk1;
9554  unsigned char stk2;
9555  unsigned char stk3;
9556  stk3 = S | *D;
9557  stk3 = ~stk3;
9558  stk2 = T | stk3;
9559  stk1 = *D ^ stk2;
9560  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9561}
9562
9563/* DTSDonox source/pattern opaque. */
9564static unsigned xrop3_91_0_0 (unsigned char s, unsigned char t)
9565{
9566  unsigned D = 0x00ff;
9567  unsigned S = ((unsigned)s << 8) | s;
9568  unsigned T = ((unsigned)t << 8) | t;
9569  unsigned stk1;
9570  unsigned stk2;
9571  unsigned stk3;
9572  stk3 = S | D;
9573  stk3 = ~stk3;
9574  stk2 = T | stk3;
9575  stk1 = D ^ stk2;
9576  return stk1;
9577}
9578
9579/* DTSDonox source opaque/pattern transparent. */
9580static unsigned xrop3_91_0_1 (unsigned char s, unsigned char t)
9581{
9582  unsigned D = 0x00ff;
9583  unsigned S = ((unsigned)s << 8) | s;
9584  unsigned T = ((unsigned)t << 8) | t;
9585  unsigned stk1;
9586  unsigned stk2;
9587  unsigned stk3;
9588  stk3 = S | D;
9589  stk3 = ~stk3;
9590  stk2 = T | stk3;
9591  stk1 = D ^ stk2;
9592  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9593}
9594
9595/* DTSDonox source transparent/pattern opaque. */
9596static unsigned xrop3_91_1_0 (unsigned char s, unsigned char t)
9597{
9598  unsigned D = 0x00ff;
9599  unsigned S = ((unsigned)s << 8) | s;
9600  unsigned T = ((unsigned)t << 8) | t;
9601  unsigned stk1;
9602  unsigned stk2;
9603  unsigned stk3;
9604  stk3 = S | D;
9605  stk3 = ~stk3;
9606  stk2 = T | stk3;
9607  stk1 = D ^ stk2;
9608  return (stk1 & (~S)) | (D & S);
9609}
9610
9611/* DTSDonox source/pattern transparent. */
9612static unsigned xrop3_91_1_1 (unsigned char s, unsigned char t)
9613{
9614  unsigned D = 0x00ff;
9615  unsigned S = ((unsigned)s << 8) | s;
9616  unsigned T = ((unsigned)t << 8) | t;
9617  unsigned stk1;
9618  unsigned stk2;
9619  unsigned stk3;
9620  stk3 = S | D;
9621  stk3 = ~stk3;
9622  stk2 = T | stk3;
9623  stk1 = D ^ stk2;
9624  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9625}
9626
9627/* DTSDxox source/pattern opaque. */
9628static void rop3_92_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9629{
9630  unsigned char stk1;
9631  unsigned char stk2;
9632  unsigned char stk3;
9633  stk3 = S ^ *D;
9634  stk2 = T | stk3;
9635  stk1 = *D ^ stk2;
9636  *D = stk1;
9637}
9638
9639/* DTSDxox source opaque/pattern transparent. */
9640static void rop3_92_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9641{
9642  unsigned char stk1;
9643  unsigned char stk2;
9644  unsigned char stk3;
9645  stk3 = S ^ *D;
9646  stk2 = T | stk3;
9647  stk1 = *D ^ stk2;
9648  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9649}
9650
9651/* DTSDxox source transparent/pattern opaque. */
9652static void rop3_92_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9653{
9654  unsigned char stk1;
9655  unsigned char stk2;
9656  unsigned char stk3;
9657  stk3 = S ^ *D;
9658  stk2 = T | stk3;
9659  stk1 = *D ^ stk2;
9660  *D = (stk1 & (~S)) | (*D & S);
9661}
9662
9663/* DTSDxox source/pattern transparent. */
9664static void rop3_92_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9665{
9666  unsigned char stk1;
9667  unsigned char stk2;
9668  unsigned char stk3;
9669  stk3 = S ^ *D;
9670  stk2 = T | stk3;
9671  stk1 = *D ^ stk2;
9672  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9673}
9674
9675/* DTSDxox source/pattern opaque. */
9676static unsigned xrop3_92_0_0 (unsigned char s, unsigned char t)
9677{
9678  unsigned D = 0x00ff;
9679  unsigned S = ((unsigned)s << 8) | s;
9680  unsigned T = ((unsigned)t << 8) | t;
9681  unsigned stk1;
9682  unsigned stk2;
9683  unsigned stk3;
9684  stk3 = S ^ D;
9685  stk2 = T | stk3;
9686  stk1 = D ^ stk2;
9687  return stk1;
9688}
9689
9690/* DTSDxox source opaque/pattern transparent. */
9691static unsigned xrop3_92_0_1 (unsigned char s, unsigned char t)
9692{
9693  unsigned D = 0x00ff;
9694  unsigned S = ((unsigned)s << 8) | s;
9695  unsigned T = ((unsigned)t << 8) | t;
9696  unsigned stk1;
9697  unsigned stk2;
9698  unsigned stk3;
9699  stk3 = S ^ D;
9700  stk2 = T | stk3;
9701  stk1 = D ^ stk2;
9702  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9703}
9704
9705/* DTSDxox source transparent/pattern opaque. */
9706static unsigned xrop3_92_1_0 (unsigned char s, unsigned char t)
9707{
9708  unsigned D = 0x00ff;
9709  unsigned S = ((unsigned)s << 8) | s;
9710  unsigned T = ((unsigned)t << 8) | t;
9711  unsigned stk1;
9712  unsigned stk2;
9713  unsigned stk3;
9714  stk3 = S ^ D;
9715  stk2 = T | stk3;
9716  stk1 = D ^ stk2;
9717  return (stk1 & (~S)) | (D & S);
9718}
9719
9720/* DTSDxox source/pattern transparent. */
9721static unsigned xrop3_92_1_1 (unsigned char s, unsigned char t)
9722{
9723  unsigned D = 0x00ff;
9724  unsigned S = ((unsigned)s << 8) | s;
9725  unsigned T = ((unsigned)t << 8) | t;
9726  unsigned stk1;
9727  unsigned stk2;
9728  unsigned stk3;
9729  stk3 = S ^ D;
9730  stk2 = T | stk3;
9731  stk1 = D ^ stk2;
9732  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9733}
9734
9735/* DTSnoan source/pattern opaque. */
9736static void rop3_93_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9737{
9738  unsigned char stk1;
9739  unsigned char stk2;
9740  unsigned char stk3;
9741  stk3 = ~S;
9742  stk2 = T | stk3;
9743  stk1 = *D & stk2;
9744  stk1 = ~stk1;
9745  *D = stk1;
9746}
9747
9748/* DTSnoan source opaque/pattern transparent. */
9749static void rop3_93_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9750{
9751  unsigned char stk1;
9752  unsigned char stk2;
9753  unsigned char stk3;
9754  stk3 = ~S;
9755  stk2 = T | stk3;
9756  stk1 = *D & stk2;
9757  stk1 = ~stk1;
9758  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9759}
9760
9761/* DTSnoan source transparent/pattern opaque. */
9762static void rop3_93_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9763{
9764  unsigned char stk1;
9765  unsigned char stk2;
9766  unsigned char stk3;
9767  stk3 = ~S;
9768  stk2 = T | stk3;
9769  stk1 = *D & stk2;
9770  stk1 = ~stk1;
9771  *D = (stk1 & (~S)) | (*D & S);
9772}
9773
9774/* DTSnoan source/pattern transparent. */
9775static void rop3_93_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9776{
9777  unsigned char stk1;
9778  unsigned char stk2;
9779  unsigned char stk3;
9780  stk3 = ~S;
9781  stk2 = T | stk3;
9782  stk1 = *D & stk2;
9783  stk1 = ~stk1;
9784  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9785}
9786
9787/* DTSnoan source/pattern opaque. */
9788static unsigned xrop3_93_0_0 (unsigned char s, unsigned char t)
9789{
9790  unsigned D = 0x00ff;
9791  unsigned S = ((unsigned)s << 8) | s;
9792  unsigned T = ((unsigned)t << 8) | t;
9793  unsigned stk1;
9794  unsigned stk2;
9795  unsigned stk3;
9796  stk3 = ~S;
9797  stk2 = T | stk3;
9798  stk1 = D & stk2;
9799  stk1 = ~stk1;
9800  return stk1;
9801}
9802
9803/* DTSnoan source opaque/pattern transparent. */
9804static unsigned xrop3_93_0_1 (unsigned char s, unsigned char t)
9805{
9806  unsigned D = 0x00ff;
9807  unsigned S = ((unsigned)s << 8) | s;
9808  unsigned T = ((unsigned)t << 8) | t;
9809  unsigned stk1;
9810  unsigned stk2;
9811  unsigned stk3;
9812  stk3 = ~S;
9813  stk2 = T | stk3;
9814  stk1 = D & stk2;
9815  stk1 = ~stk1;
9816  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9817}
9818
9819/* DTSnoan source transparent/pattern opaque. */
9820static unsigned xrop3_93_1_0 (unsigned char s, unsigned char t)
9821{
9822  unsigned D = 0x00ff;
9823  unsigned S = ((unsigned)s << 8) | s;
9824  unsigned T = ((unsigned)t << 8) | t;
9825  unsigned stk1;
9826  unsigned stk2;
9827  unsigned stk3;
9828  stk3 = ~S;
9829  stk2 = T | stk3;
9830  stk1 = D & stk2;
9831  stk1 = ~stk1;
9832  return (stk1 & (~S)) | (D & S);
9833}
9834
9835/* DTSnoan source/pattern transparent. */
9836static unsigned xrop3_93_1_1 (unsigned char s, unsigned char t)
9837{
9838  unsigned D = 0x00ff;
9839  unsigned S = ((unsigned)s << 8) | s;
9840  unsigned T = ((unsigned)t << 8) | t;
9841  unsigned stk1;
9842  unsigned stk2;
9843  unsigned stk3;
9844  stk3 = ~S;
9845  stk2 = T | stk3;
9846  stk1 = D & stk2;
9847  stk1 = ~stk1;
9848  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9849}
9850
9851/* DTSDnaox source/pattern opaque. */
9852static void rop3_94_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9853{
9854  unsigned char stk1;
9855  unsigned char stk2;
9856  unsigned char stk3;
9857  unsigned char stk4;
9858  stk4 = ~*D;
9859  stk3 = S & stk4;
9860  stk2 = T | stk3;
9861  stk1 = *D ^ stk2;
9862  *D = stk1;
9863}
9864
9865/* DTSDnaox source opaque/pattern transparent. */
9866static void rop3_94_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9867{
9868  unsigned char stk1;
9869  unsigned char stk2;
9870  unsigned char stk3;
9871  unsigned char stk4;
9872  stk4 = ~*D;
9873  stk3 = S & stk4;
9874  stk2 = T | stk3;
9875  stk1 = *D ^ stk2;
9876  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9877}
9878
9879/* DTSDnaox source transparent/pattern opaque. */
9880static void rop3_94_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9881{
9882  unsigned char stk1;
9883  unsigned char stk2;
9884  unsigned char stk3;
9885  unsigned char stk4;
9886  stk4 = ~*D;
9887  stk3 = S & stk4;
9888  stk2 = T | stk3;
9889  stk1 = *D ^ stk2;
9890  *D = (stk1 & (~S)) | (*D & S);
9891}
9892
9893/* DTSDnaox source/pattern transparent. */
9894static void rop3_94_1_1 (unsigned char *D, unsigned char S, unsigned char T)
9895{
9896  unsigned char stk1;
9897  unsigned char stk2;
9898  unsigned char stk3;
9899  unsigned char stk4;
9900  stk4 = ~*D;
9901  stk3 = S & stk4;
9902  stk2 = T | stk3;
9903  stk1 = *D ^ stk2;
9904  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
9905}
9906
9907/* DTSDnaox source/pattern opaque. */
9908static unsigned xrop3_94_0_0 (unsigned char s, unsigned char t)
9909{
9910  unsigned D = 0x00ff;
9911  unsigned S = ((unsigned)s << 8) | s;
9912  unsigned T = ((unsigned)t << 8) | t;
9913  unsigned stk1;
9914  unsigned stk2;
9915  unsigned stk3;
9916  unsigned stk4;
9917  stk4 = ~D;
9918  stk3 = S & stk4;
9919  stk2 = T | stk3;
9920  stk1 = D ^ stk2;
9921  return stk1;
9922}
9923
9924/* DTSDnaox source opaque/pattern transparent. */
9925static unsigned xrop3_94_0_1 (unsigned char s, unsigned char t)
9926{
9927  unsigned D = 0x00ff;
9928  unsigned S = ((unsigned)s << 8) | s;
9929  unsigned T = ((unsigned)t << 8) | t;
9930  unsigned stk1;
9931  unsigned stk2;
9932  unsigned stk3;
9933  unsigned stk4;
9934  stk4 = ~D;
9935  stk3 = S & stk4;
9936  stk2 = T | stk3;
9937  stk1 = D ^ stk2;
9938  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
9939}
9940
9941/* DTSDnaox source transparent/pattern opaque. */
9942static unsigned xrop3_94_1_0 (unsigned char s, unsigned char t)
9943{
9944  unsigned D = 0x00ff;
9945  unsigned S = ((unsigned)s << 8) | s;
9946  unsigned T = ((unsigned)t << 8) | t;
9947  unsigned stk1;
9948  unsigned stk2;
9949  unsigned stk3;
9950  unsigned stk4;
9951  stk4 = ~D;
9952  stk3 = S & stk4;
9953  stk2 = T | stk3;
9954  stk1 = D ^ stk2;
9955  return (stk1 & (~S)) | (D & S);
9956}
9957
9958/* DTSDnaox source/pattern transparent. */
9959static unsigned xrop3_94_1_1 (unsigned char s, unsigned char t)
9960{
9961  unsigned D = 0x00ff;
9962  unsigned S = ((unsigned)s << 8) | s;
9963  unsigned T = ((unsigned)t << 8) | t;
9964  unsigned stk1;
9965  unsigned stk2;
9966  unsigned stk3;
9967  unsigned stk4;
9968  stk4 = ~D;
9969  stk3 = S & stk4;
9970  stk2 = T | stk3;
9971  stk1 = D ^ stk2;
9972  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
9973}
9974
9975/* DTan source/pattern opaque. */
9976static void rop3_95_0_0 (unsigned char *D, unsigned char S, unsigned char T)
9977{
9978  unsigned char stk1;
9979  stk1 = *D & T;
9980  stk1 = ~stk1;
9981  *D = stk1;
9982}
9983
9984/* DTan source opaque/pattern transparent. */
9985static void rop3_95_0_1 (unsigned char *D, unsigned char S, unsigned char T)
9986{
9987  unsigned char stk1;
9988  stk1 = *D & T;
9989  stk1 = ~stk1;
9990  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
9991}
9992
9993/* DTan source transparent/pattern opaque. */
9994static void rop3_95_1_0 (unsigned char *D, unsigned char S, unsigned char T)
9995{
9996  unsigned char stk1;
9997  stk1 = *D & T;
9998  stk1 = ~stk1;
9999  *D = (stk1 & (~S)) | (*D & S);
10000}
10001
10002/* DTan source/pattern transparent. */
10003static void rop3_95_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10004{
10005  unsigned char stk1;
10006  stk1 = *D & T;
10007  stk1 = ~stk1;
10008  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10009}
10010
10011/* DTan source/pattern opaque. */
10012static unsigned xrop3_95_0_0 (unsigned char s, unsigned char t)
10013{
10014  unsigned D = 0x00ff;
10015  unsigned T = ((unsigned)t << 8) | t;
10016  unsigned stk1;
10017  stk1 = D & T;
10018  stk1 = ~stk1;
10019  return stk1;
10020}
10021
10022/* DTan source opaque/pattern transparent. */
10023static unsigned xrop3_95_0_1 (unsigned char s, unsigned char t)
10024{
10025  unsigned D = 0x00ff;
10026  unsigned S = ((unsigned)s << 8) | s;
10027  unsigned T = ((unsigned)t << 8) | t;
10028  unsigned stk1;
10029  stk1 = D & T;
10030  stk1 = ~stk1;
10031  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10032}
10033
10034/* DTan source transparent/pattern opaque. */
10035static unsigned xrop3_95_1_0 (unsigned char s, unsigned char t)
10036{
10037  unsigned D = 0x00ff;
10038  unsigned S = ((unsigned)s << 8) | s;
10039  unsigned T = ((unsigned)t << 8) | t;
10040  unsigned stk1;
10041  stk1 = D & T;
10042  stk1 = ~stk1;
10043  return (stk1 & (~S)) | (D & S);
10044}
10045
10046/* DTan source/pattern transparent. */
10047static unsigned xrop3_95_1_1 (unsigned char s, unsigned char t)
10048{
10049  unsigned D = 0x00ff;
10050  unsigned S = ((unsigned)s << 8) | s;
10051  unsigned T = ((unsigned)t << 8) | t;
10052  unsigned stk1;
10053  stk1 = D & T;
10054  stk1 = ~stk1;
10055  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10056}
10057
10058/* TDSxa source/pattern opaque. */
10059static void rop3_96_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10060{
10061  unsigned char stk1;
10062  unsigned char stk2;
10063  stk2 = *D ^ S;
10064  stk1 = T & stk2;
10065  *D = stk1;
10066}
10067
10068/* TDSxa source opaque/pattern transparent. */
10069static void rop3_96_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10070{
10071  unsigned char stk1;
10072  unsigned char stk2;
10073  stk2 = *D ^ S;
10074  stk1 = T & stk2;
10075  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10076}
10077
10078/* TDSxa source transparent/pattern opaque. */
10079static void rop3_96_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10080{
10081  unsigned char stk1;
10082  unsigned char stk2;
10083  stk2 = *D ^ S;
10084  stk1 = T & stk2;
10085  *D = (stk1 & (~S)) | (*D & S);
10086}
10087
10088/* TDSxa source/pattern transparent. */
10089static void rop3_96_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10090{
10091  unsigned char stk1;
10092  unsigned char stk2;
10093  stk2 = *D ^ S;
10094  stk1 = T & stk2;
10095  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10096}
10097
10098/* TDSxa source/pattern opaque. */
10099static unsigned xrop3_96_0_0 (unsigned char s, unsigned char t)
10100{
10101  unsigned D = 0x00ff;
10102  unsigned S = ((unsigned)s << 8) | s;
10103  unsigned T = ((unsigned)t << 8) | t;
10104  unsigned stk1;
10105  unsigned stk2;
10106  stk2 = D ^ S;
10107  stk1 = T & stk2;
10108  return stk1;
10109}
10110
10111/* TDSxa source opaque/pattern transparent. */
10112static unsigned xrop3_96_0_1 (unsigned char s, unsigned char t)
10113{
10114  unsigned D = 0x00ff;
10115  unsigned S = ((unsigned)s << 8) | s;
10116  unsigned T = ((unsigned)t << 8) | t;
10117  unsigned stk1;
10118  unsigned stk2;
10119  stk2 = D ^ S;
10120  stk1 = T & stk2;
10121  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10122}
10123
10124/* TDSxa source transparent/pattern opaque. */
10125static unsigned xrop3_96_1_0 (unsigned char s, unsigned char t)
10126{
10127  unsigned D = 0x00ff;
10128  unsigned S = ((unsigned)s << 8) | s;
10129  unsigned T = ((unsigned)t << 8) | t;
10130  unsigned stk1;
10131  unsigned stk2;
10132  stk2 = D ^ S;
10133  stk1 = T & stk2;
10134  return (stk1 & (~S)) | (D & S);
10135}
10136
10137/* TDSxa source/pattern transparent. */
10138static unsigned xrop3_96_1_1 (unsigned char s, unsigned char t)
10139{
10140  unsigned D = 0x00ff;
10141  unsigned S = ((unsigned)s << 8) | s;
10142  unsigned T = ((unsigned)t << 8) | t;
10143  unsigned stk1;
10144  unsigned stk2;
10145  stk2 = D ^ S;
10146  stk1 = T & stk2;
10147  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10148}
10149
10150/* DSTDSaoxxn source/pattern opaque. */
10151static void rop3_97_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10152{
10153  unsigned char stk1;
10154  unsigned char stk2;
10155  unsigned char stk3;
10156  unsigned char stk4;
10157  stk4 = *D & S;
10158  stk3 = T | stk4;
10159  stk2 = S ^ stk3;
10160  stk1 = *D ^ stk2;
10161  stk1 = ~stk1;
10162  *D = stk1;
10163}
10164
10165/* DSTDSaoxxn source opaque/pattern transparent. */
10166static void rop3_97_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10167{
10168  unsigned char stk1;
10169  unsigned char stk2;
10170  unsigned char stk3;
10171  unsigned char stk4;
10172  stk4 = *D & S;
10173  stk3 = T | stk4;
10174  stk2 = S ^ stk3;
10175  stk1 = *D ^ stk2;
10176  stk1 = ~stk1;
10177  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10178}
10179
10180/* DSTDSaoxxn source transparent/pattern opaque. */
10181static void rop3_97_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10182{
10183  unsigned char stk1;
10184  unsigned char stk2;
10185  unsigned char stk3;
10186  unsigned char stk4;
10187  stk4 = *D & S;
10188  stk3 = T | stk4;
10189  stk2 = S ^ stk3;
10190  stk1 = *D ^ stk2;
10191  stk1 = ~stk1;
10192  *D = (stk1 & (~S)) | (*D & S);
10193}
10194
10195/* DSTDSaoxxn source/pattern transparent. */
10196static void rop3_97_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10197{
10198  unsigned char stk1;
10199  unsigned char stk2;
10200  unsigned char stk3;
10201  unsigned char stk4;
10202  stk4 = *D & S;
10203  stk3 = T | stk4;
10204  stk2 = S ^ stk3;
10205  stk1 = *D ^ stk2;
10206  stk1 = ~stk1;
10207  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10208}
10209
10210/* DSTDSaoxxn source/pattern opaque. */
10211static unsigned xrop3_97_0_0 (unsigned char s, unsigned char t)
10212{
10213  unsigned D = 0x00ff;
10214  unsigned S = ((unsigned)s << 8) | s;
10215  unsigned T = ((unsigned)t << 8) | t;
10216  unsigned stk1;
10217  unsigned stk2;
10218  unsigned stk3;
10219  unsigned stk4;
10220  stk4 = D & S;
10221  stk3 = T | stk4;
10222  stk2 = S ^ stk3;
10223  stk1 = D ^ stk2;
10224  stk1 = ~stk1;
10225  return stk1;
10226}
10227
10228/* DSTDSaoxxn source opaque/pattern transparent. */
10229static unsigned xrop3_97_0_1 (unsigned char s, unsigned char t)
10230{
10231  unsigned D = 0x00ff;
10232  unsigned S = ((unsigned)s << 8) | s;
10233  unsigned T = ((unsigned)t << 8) | t;
10234  unsigned stk1;
10235  unsigned stk2;
10236  unsigned stk3;
10237  unsigned stk4;
10238  stk4 = D & S;
10239  stk3 = T | stk4;
10240  stk2 = S ^ stk3;
10241  stk1 = D ^ stk2;
10242  stk1 = ~stk1;
10243  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10244}
10245
10246/* DSTDSaoxxn source transparent/pattern opaque. */
10247static unsigned xrop3_97_1_0 (unsigned char s, unsigned char t)
10248{
10249  unsigned D = 0x00ff;
10250  unsigned S = ((unsigned)s << 8) | s;
10251  unsigned T = ((unsigned)t << 8) | t;
10252  unsigned stk1;
10253  unsigned stk2;
10254  unsigned stk3;
10255  unsigned stk4;
10256  stk4 = D & S;
10257  stk3 = T | stk4;
10258  stk2 = S ^ stk3;
10259  stk1 = D ^ stk2;
10260  stk1 = ~stk1;
10261  return (stk1 & (~S)) | (D & S);
10262}
10263
10264/* DSTDSaoxxn source/pattern transparent. */
10265static unsigned xrop3_97_1_1 (unsigned char s, unsigned char t)
10266{
10267  unsigned D = 0x00ff;
10268  unsigned S = ((unsigned)s << 8) | s;
10269  unsigned T = ((unsigned)t << 8) | t;
10270  unsigned stk1;
10271  unsigned stk2;
10272  unsigned stk3;
10273  unsigned stk4;
10274  stk4 = D & S;
10275  stk3 = T | stk4;
10276  stk2 = S ^ stk3;
10277  stk1 = D ^ stk2;
10278  stk1 = ~stk1;
10279  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10280}
10281
10282/* DSTDoax source/pattern opaque. */
10283static void rop3_98_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10284{
10285  unsigned char stk1;
10286  unsigned char stk2;
10287  unsigned char stk3;
10288  stk3 = T | *D;
10289  stk2 = S & stk3;
10290  stk1 = *D ^ stk2;
10291  *D = stk1;
10292}
10293
10294/* DSTDoax source opaque/pattern transparent. */
10295static void rop3_98_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10296{
10297  unsigned char stk1;
10298  unsigned char stk2;
10299  unsigned char stk3;
10300  stk3 = T | *D;
10301  stk2 = S & stk3;
10302  stk1 = *D ^ stk2;
10303  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10304}
10305
10306/* DSTDoax source transparent/pattern opaque. */
10307static void rop3_98_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10308{
10309  unsigned char stk1;
10310  unsigned char stk2;
10311  unsigned char stk3;
10312  stk3 = T | *D;
10313  stk2 = S & stk3;
10314  stk1 = *D ^ stk2;
10315  *D = (stk1 & (~S)) | (*D & S);
10316}
10317
10318/* DSTDoax source/pattern transparent. */
10319static void rop3_98_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10320{
10321  unsigned char stk1;
10322  unsigned char stk2;
10323  unsigned char stk3;
10324  stk3 = T | *D;
10325  stk2 = S & stk3;
10326  stk1 = *D ^ stk2;
10327  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10328}
10329
10330/* DSTDoax source/pattern opaque. */
10331static unsigned xrop3_98_0_0 (unsigned char s, unsigned char t)
10332{
10333  unsigned D = 0x00ff;
10334  unsigned S = ((unsigned)s << 8) | s;
10335  unsigned T = ((unsigned)t << 8) | t;
10336  unsigned stk1;
10337  unsigned stk2;
10338  unsigned stk3;
10339  stk3 = T | D;
10340  stk2 = S & stk3;
10341  stk1 = D ^ stk2;
10342  return stk1;
10343}
10344
10345/* DSTDoax source opaque/pattern transparent. */
10346static unsigned xrop3_98_0_1 (unsigned char s, unsigned char t)
10347{
10348  unsigned D = 0x00ff;
10349  unsigned S = ((unsigned)s << 8) | s;
10350  unsigned T = ((unsigned)t << 8) | t;
10351  unsigned stk1;
10352  unsigned stk2;
10353  unsigned stk3;
10354  stk3 = T | D;
10355  stk2 = S & stk3;
10356  stk1 = D ^ stk2;
10357  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10358}
10359
10360/* DSTDoax source transparent/pattern opaque. */
10361static unsigned xrop3_98_1_0 (unsigned char s, unsigned char t)
10362{
10363  unsigned D = 0x00ff;
10364  unsigned S = ((unsigned)s << 8) | s;
10365  unsigned T = ((unsigned)t << 8) | t;
10366  unsigned stk1;
10367  unsigned stk2;
10368  unsigned stk3;
10369  stk3 = T | D;
10370  stk2 = S & stk3;
10371  stk1 = D ^ stk2;
10372  return (stk1 & (~S)) | (D & S);
10373}
10374
10375/* DSTDoax source/pattern transparent. */
10376static unsigned xrop3_98_1_1 (unsigned char s, unsigned char t)
10377{
10378  unsigned D = 0x00ff;
10379  unsigned S = ((unsigned)s << 8) | s;
10380  unsigned T = ((unsigned)t << 8) | t;
10381  unsigned stk1;
10382  unsigned stk2;
10383  unsigned stk3;
10384  stk3 = T | D;
10385  stk2 = S & stk3;
10386  stk1 = D ^ stk2;
10387  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10388}
10389
10390/* SDTnox source/pattern opaque. */
10391static void rop3_99_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10392{
10393  unsigned char stk1;
10394  unsigned char stk2;
10395  unsigned char stk3;
10396  stk3 = ~T;
10397  stk2 = *D | stk3;
10398  stk1 = S ^ stk2;
10399  *D = stk1;
10400}
10401
10402/* SDTnox source opaque/pattern transparent. */
10403static void rop3_99_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10404{
10405  unsigned char stk1;
10406  unsigned char stk2;
10407  unsigned char stk3;
10408  stk3 = ~T;
10409  stk2 = *D | stk3;
10410  stk1 = S ^ stk2;
10411  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10412}
10413
10414/* SDTnox source transparent/pattern opaque. */
10415static void rop3_99_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10416{
10417  unsigned char stk1;
10418  unsigned char stk2;
10419  unsigned char stk3;
10420  stk3 = ~T;
10421  stk2 = *D | stk3;
10422  stk1 = S ^ stk2;
10423  *D = (stk1 & (~S)) | (*D & S);
10424}
10425
10426/* SDTnox source/pattern transparent. */
10427static void rop3_99_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10428{
10429  unsigned char stk1;
10430  unsigned char stk2;
10431  unsigned char stk3;
10432  stk3 = ~T;
10433  stk2 = *D | stk3;
10434  stk1 = S ^ stk2;
10435  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10436}
10437
10438/* SDTnox source/pattern opaque. */
10439static unsigned xrop3_99_0_0 (unsigned char s, unsigned char t)
10440{
10441  unsigned D = 0x00ff;
10442  unsigned S = ((unsigned)s << 8) | s;
10443  unsigned T = ((unsigned)t << 8) | t;
10444  unsigned stk1;
10445  unsigned stk2;
10446  unsigned stk3;
10447  stk3 = ~T;
10448  stk2 = D | stk3;
10449  stk1 = S ^ stk2;
10450  return stk1;
10451}
10452
10453/* SDTnox source opaque/pattern transparent. */
10454static unsigned xrop3_99_0_1 (unsigned char s, unsigned char t)
10455{
10456  unsigned D = 0x00ff;
10457  unsigned S = ((unsigned)s << 8) | s;
10458  unsigned T = ((unsigned)t << 8) | t;
10459  unsigned stk1;
10460  unsigned stk2;
10461  unsigned stk3;
10462  stk3 = ~T;
10463  stk2 = D | stk3;
10464  stk1 = S ^ stk2;
10465  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10466}
10467
10468/* SDTnox source transparent/pattern opaque. */
10469static unsigned xrop3_99_1_0 (unsigned char s, unsigned char t)
10470{
10471  unsigned D = 0x00ff;
10472  unsigned S = ((unsigned)s << 8) | s;
10473  unsigned T = ((unsigned)t << 8) | t;
10474  unsigned stk1;
10475  unsigned stk2;
10476  unsigned stk3;
10477  stk3 = ~T;
10478  stk2 = D | stk3;
10479  stk1 = S ^ stk2;
10480  return (stk1 & (~S)) | (D & S);
10481}
10482
10483/* SDTnox source/pattern transparent. */
10484static unsigned xrop3_99_1_1 (unsigned char s, unsigned char t)
10485{
10486  unsigned D = 0x00ff;
10487  unsigned S = ((unsigned)s << 8) | s;
10488  unsigned T = ((unsigned)t << 8) | t;
10489  unsigned stk1;
10490  unsigned stk2;
10491  unsigned stk3;
10492  stk3 = ~T;
10493  stk2 = D | stk3;
10494  stk1 = S ^ stk2;
10495  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10496}
10497
10498/* SDTSoax source/pattern opaque. */
10499static void rop3_100_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10500{
10501  unsigned char stk1;
10502  unsigned char stk2;
10503  unsigned char stk3;
10504  stk3 = T | S;
10505  stk2 = *D & stk3;
10506  stk1 = S ^ stk2;
10507  *D = stk1;
10508}
10509
10510/* SDTSoax source opaque/pattern transparent. */
10511static void rop3_100_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10512{
10513  unsigned char stk1;
10514  unsigned char stk2;
10515  unsigned char stk3;
10516  stk3 = T | S;
10517  stk2 = *D & stk3;
10518  stk1 = S ^ stk2;
10519  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10520}
10521
10522/* SDTSoax source transparent/pattern opaque. */
10523static void rop3_100_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10524{
10525  unsigned char stk1;
10526  unsigned char stk2;
10527  unsigned char stk3;
10528  stk3 = T | S;
10529  stk2 = *D & stk3;
10530  stk1 = S ^ stk2;
10531  *D = (stk1 & (~S)) | (*D & S);
10532}
10533
10534/* SDTSoax source/pattern transparent. */
10535static void rop3_100_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10536{
10537  unsigned char stk1;
10538  unsigned char stk2;
10539  unsigned char stk3;
10540  stk3 = T | S;
10541  stk2 = *D & stk3;
10542  stk1 = S ^ stk2;
10543  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10544}
10545
10546/* SDTSoax source/pattern opaque. */
10547static unsigned xrop3_100_0_0 (unsigned char s, unsigned char t)
10548{
10549  unsigned D = 0x00ff;
10550  unsigned S = ((unsigned)s << 8) | s;
10551  unsigned T = ((unsigned)t << 8) | t;
10552  unsigned stk1;
10553  unsigned stk2;
10554  unsigned stk3;
10555  stk3 = T | S;
10556  stk2 = D & stk3;
10557  stk1 = S ^ stk2;
10558  return stk1;
10559}
10560
10561/* SDTSoax source opaque/pattern transparent. */
10562static unsigned xrop3_100_0_1 (unsigned char s, unsigned char t)
10563{
10564  unsigned D = 0x00ff;
10565  unsigned S = ((unsigned)s << 8) | s;
10566  unsigned T = ((unsigned)t << 8) | t;
10567  unsigned stk1;
10568  unsigned stk2;
10569  unsigned stk3;
10570  stk3 = T | S;
10571  stk2 = D & stk3;
10572  stk1 = S ^ stk2;
10573  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10574}
10575
10576/* SDTSoax source transparent/pattern opaque. */
10577static unsigned xrop3_100_1_0 (unsigned char s, unsigned char t)
10578{
10579  unsigned D = 0x00ff;
10580  unsigned S = ((unsigned)s << 8) | s;
10581  unsigned T = ((unsigned)t << 8) | t;
10582  unsigned stk1;
10583  unsigned stk2;
10584  unsigned stk3;
10585  stk3 = T | S;
10586  stk2 = D & stk3;
10587  stk1 = S ^ stk2;
10588  return (stk1 & (~S)) | (D & S);
10589}
10590
10591/* SDTSoax source/pattern transparent. */
10592static unsigned xrop3_100_1_1 (unsigned char s, unsigned char t)
10593{
10594  unsigned D = 0x00ff;
10595  unsigned S = ((unsigned)s << 8) | s;
10596  unsigned T = ((unsigned)t << 8) | t;
10597  unsigned stk1;
10598  unsigned stk2;
10599  unsigned stk3;
10600  stk3 = T | S;
10601  stk2 = D & stk3;
10602  stk1 = S ^ stk2;
10603  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10604}
10605
10606/* DSTnox source/pattern opaque. */
10607static void rop3_101_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10608{
10609  unsigned char stk1;
10610  unsigned char stk2;
10611  unsigned char stk3;
10612  stk3 = ~T;
10613  stk2 = S | stk3;
10614  stk1 = *D ^ stk2;
10615  *D = stk1;
10616}
10617
10618/* DSTnox source opaque/pattern transparent. */
10619static void rop3_101_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10620{
10621  unsigned char stk1;
10622  unsigned char stk2;
10623  unsigned char stk3;
10624  stk3 = ~T;
10625  stk2 = S | stk3;
10626  stk1 = *D ^ stk2;
10627  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10628}
10629
10630/* DSTnox source transparent/pattern opaque. */
10631static void rop3_101_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10632{
10633  unsigned char stk1;
10634  unsigned char stk2;
10635  unsigned char stk3;
10636  stk3 = ~T;
10637  stk2 = S | stk3;
10638  stk1 = *D ^ stk2;
10639  *D = (stk1 & (~S)) | (*D & S);
10640}
10641
10642/* DSTnox source/pattern transparent. */
10643static void rop3_101_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10644{
10645  unsigned char stk1;
10646  unsigned char stk2;
10647  unsigned char stk3;
10648  stk3 = ~T;
10649  stk2 = S | stk3;
10650  stk1 = *D ^ stk2;
10651  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10652}
10653
10654/* DSTnox source/pattern opaque. */
10655static unsigned xrop3_101_0_0 (unsigned char s, unsigned char t)
10656{
10657  unsigned D = 0x00ff;
10658  unsigned S = ((unsigned)s << 8) | s;
10659  unsigned T = ((unsigned)t << 8) | t;
10660  unsigned stk1;
10661  unsigned stk2;
10662  unsigned stk3;
10663  stk3 = ~T;
10664  stk2 = S | stk3;
10665  stk1 = D ^ stk2;
10666  return stk1;
10667}
10668
10669/* DSTnox source opaque/pattern transparent. */
10670static unsigned xrop3_101_0_1 (unsigned char s, unsigned char t)
10671{
10672  unsigned D = 0x00ff;
10673  unsigned S = ((unsigned)s << 8) | s;
10674  unsigned T = ((unsigned)t << 8) | t;
10675  unsigned stk1;
10676  unsigned stk2;
10677  unsigned stk3;
10678  stk3 = ~T;
10679  stk2 = S | stk3;
10680  stk1 = D ^ stk2;
10681  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10682}
10683
10684/* DSTnox source transparent/pattern opaque. */
10685static unsigned xrop3_101_1_0 (unsigned char s, unsigned char t)
10686{
10687  unsigned D = 0x00ff;
10688  unsigned S = ((unsigned)s << 8) | s;
10689  unsigned T = ((unsigned)t << 8) | t;
10690  unsigned stk1;
10691  unsigned stk2;
10692  unsigned stk3;
10693  stk3 = ~T;
10694  stk2 = S | stk3;
10695  stk1 = D ^ stk2;
10696  return (stk1 & (~S)) | (D & S);
10697}
10698
10699/* DSTnox source/pattern transparent. */
10700static unsigned xrop3_101_1_1 (unsigned char s, unsigned char t)
10701{
10702  unsigned D = 0x00ff;
10703  unsigned S = ((unsigned)s << 8) | s;
10704  unsigned T = ((unsigned)t << 8) | t;
10705  unsigned stk1;
10706  unsigned stk2;
10707  unsigned stk3;
10708  stk3 = ~T;
10709  stk2 = S | stk3;
10710  stk1 = D ^ stk2;
10711  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10712}
10713
10714/* DSx source/pattern opaque. */
10715static void rop3_102_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10716{
10717  unsigned char stk1;
10718  stk1 = *D ^ S;
10719  *D = stk1;
10720}
10721
10722/* DSx source opaque/pattern transparent. */
10723static void rop3_102_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10724{
10725  unsigned char stk1;
10726  stk1 = *D ^ S;
10727  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10728}
10729
10730/* DSx source transparent/pattern opaque. */
10731static void rop3_102_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10732{
10733  unsigned char stk1;
10734  stk1 = *D ^ S;
10735  *D = (stk1 & (~S)) | (*D & S);
10736}
10737
10738/* DSx source/pattern transparent. */
10739static void rop3_102_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10740{
10741  unsigned char stk1;
10742  stk1 = *D ^ S;
10743  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10744}
10745
10746/* DSx source/pattern opaque. */
10747static unsigned xrop3_102_0_0 (unsigned char s, unsigned char t)
10748{
10749  unsigned D = 0x00ff;
10750  unsigned S = ((unsigned)s << 8) | s;
10751  unsigned stk1;
10752  stk1 = D ^ S;
10753  return stk1;
10754}
10755
10756/* DSx source opaque/pattern transparent. */
10757static unsigned xrop3_102_0_1 (unsigned char s, unsigned char t)
10758{
10759  unsigned D = 0x00ff;
10760  unsigned S = ((unsigned)s << 8) | s;
10761  unsigned T = ((unsigned)t << 8) | t;
10762  unsigned stk1;
10763  stk1 = D ^ S;
10764  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10765}
10766
10767/* DSx source transparent/pattern opaque. */
10768static unsigned xrop3_102_1_0 (unsigned char s, unsigned char t)
10769{
10770  unsigned D = 0x00ff;
10771  unsigned S = ((unsigned)s << 8) | s;
10772  unsigned stk1;
10773  stk1 = D ^ S;
10774  return (stk1 & (~S)) | (D & S);
10775}
10776
10777/* DSx source/pattern transparent. */
10778static unsigned xrop3_102_1_1 (unsigned char s, unsigned char t)
10779{
10780  unsigned D = 0x00ff;
10781  unsigned S = ((unsigned)s << 8) | s;
10782  unsigned T = ((unsigned)t << 8) | t;
10783  unsigned stk1;
10784  stk1 = D ^ S;
10785  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10786}
10787
10788/* SDTSonox source/pattern opaque. */
10789static void rop3_103_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10790{
10791  unsigned char stk1;
10792  unsigned char stk2;
10793  unsigned char stk3;
10794  stk3 = T | S;
10795  stk3 = ~stk3;
10796  stk2 = *D | stk3;
10797  stk1 = S ^ stk2;
10798  *D = stk1;
10799}
10800
10801/* SDTSonox source opaque/pattern transparent. */
10802static void rop3_103_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10803{
10804  unsigned char stk1;
10805  unsigned char stk2;
10806  unsigned char stk3;
10807  stk3 = T | S;
10808  stk3 = ~stk3;
10809  stk2 = *D | stk3;
10810  stk1 = S ^ stk2;
10811  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10812}
10813
10814/* SDTSonox source transparent/pattern opaque. */
10815static void rop3_103_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10816{
10817  unsigned char stk1;
10818  unsigned char stk2;
10819  unsigned char stk3;
10820  stk3 = T | S;
10821  stk3 = ~stk3;
10822  stk2 = *D | stk3;
10823  stk1 = S ^ stk2;
10824  *D = (stk1 & (~S)) | (*D & S);
10825}
10826
10827/* SDTSonox source/pattern transparent. */
10828static void rop3_103_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10829{
10830  unsigned char stk1;
10831  unsigned char stk2;
10832  unsigned char stk3;
10833  stk3 = T | S;
10834  stk3 = ~stk3;
10835  stk2 = *D | stk3;
10836  stk1 = S ^ stk2;
10837  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10838}
10839
10840/* SDTSonox source/pattern opaque. */
10841static unsigned xrop3_103_0_0 (unsigned char s, unsigned char t)
10842{
10843  unsigned D = 0x00ff;
10844  unsigned S = ((unsigned)s << 8) | s;
10845  unsigned T = ((unsigned)t << 8) | t;
10846  unsigned stk1;
10847  unsigned stk2;
10848  unsigned stk3;
10849  stk3 = T | S;
10850  stk3 = ~stk3;
10851  stk2 = D | stk3;
10852  stk1 = S ^ stk2;
10853  return stk1;
10854}
10855
10856/* SDTSonox source opaque/pattern transparent. */
10857static unsigned xrop3_103_0_1 (unsigned char s, unsigned char t)
10858{
10859  unsigned D = 0x00ff;
10860  unsigned S = ((unsigned)s << 8) | s;
10861  unsigned T = ((unsigned)t << 8) | t;
10862  unsigned stk1;
10863  unsigned stk2;
10864  unsigned stk3;
10865  stk3 = T | S;
10866  stk3 = ~stk3;
10867  stk2 = D | stk3;
10868  stk1 = S ^ stk2;
10869  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
10870}
10871
10872/* SDTSonox source transparent/pattern opaque. */
10873static unsigned xrop3_103_1_0 (unsigned char s, unsigned char t)
10874{
10875  unsigned D = 0x00ff;
10876  unsigned S = ((unsigned)s << 8) | s;
10877  unsigned T = ((unsigned)t << 8) | t;
10878  unsigned stk1;
10879  unsigned stk2;
10880  unsigned stk3;
10881  stk3 = T | S;
10882  stk3 = ~stk3;
10883  stk2 = D | stk3;
10884  stk1 = S ^ stk2;
10885  return (stk1 & (~S)) | (D & S);
10886}
10887
10888/* SDTSonox source/pattern transparent. */
10889static unsigned xrop3_103_1_1 (unsigned char s, unsigned char t)
10890{
10891  unsigned D = 0x00ff;
10892  unsigned S = ((unsigned)s << 8) | s;
10893  unsigned T = ((unsigned)t << 8) | t;
10894  unsigned stk1;
10895  unsigned stk2;
10896  unsigned stk3;
10897  stk3 = T | S;
10898  stk3 = ~stk3;
10899  stk2 = D | stk3;
10900  stk1 = S ^ stk2;
10901  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
10902}
10903
10904/* DSTDSonoxxn source/pattern opaque. */
10905static void rop3_104_0_0 (unsigned char *D, unsigned char S, unsigned char T)
10906{
10907  unsigned char stk1;
10908  unsigned char stk2;
10909  unsigned char stk3;
10910  unsigned char stk4;
10911  stk4 = *D | S;
10912  stk4 = ~stk4;
10913  stk3 = T | stk4;
10914  stk2 = S ^ stk3;
10915  stk1 = *D ^ stk2;
10916  stk1 = ~stk1;
10917  *D = stk1;
10918}
10919
10920/* DSTDSonoxxn source opaque/pattern transparent. */
10921static void rop3_104_0_1 (unsigned char *D, unsigned char S, unsigned char T)
10922{
10923  unsigned char stk1;
10924  unsigned char stk2;
10925  unsigned char stk3;
10926  unsigned char stk4;
10927  stk4 = *D | S;
10928  stk4 = ~stk4;
10929  stk3 = T | stk4;
10930  stk2 = S ^ stk3;
10931  stk1 = *D ^ stk2;
10932  stk1 = ~stk1;
10933  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
10934}
10935
10936/* DSTDSonoxxn source transparent/pattern opaque. */
10937static void rop3_104_1_0 (unsigned char *D, unsigned char S, unsigned char T)
10938{
10939  unsigned char stk1;
10940  unsigned char stk2;
10941  unsigned char stk3;
10942  unsigned char stk4;
10943  stk4 = *D | S;
10944  stk4 = ~stk4;
10945  stk3 = T | stk4;
10946  stk2 = S ^ stk3;
10947  stk1 = *D ^ stk2;
10948  stk1 = ~stk1;
10949  *D = (stk1 & (~S)) | (*D & S);
10950}
10951
10952/* DSTDSonoxxn source/pattern transparent. */
10953static void rop3_104_1_1 (unsigned char *D, unsigned char S, unsigned char T)
10954{
10955  unsigned char stk1;
10956  unsigned char stk2;
10957  unsigned char stk3;
10958  unsigned char stk4;
10959  stk4 = *D | S;
10960  stk4 = ~stk4;
10961  stk3 = T | stk4;
10962  stk2 = S ^ stk3;
10963  stk1 = *D ^ stk2;
10964  stk1 = ~stk1;
10965  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
10966}
10967
10968/* DSTDSonoxxn source/pattern opaque. */
10969static unsigned xrop3_104_0_0 (unsigned char s, unsigned char t)
10970{
10971  unsigned D = 0x00ff;
10972  unsigned S = ((unsigned)s << 8) | s;
10973  unsigned T = ((unsigned)t << 8) | t;
10974  unsigned stk1;
10975  unsigned stk2;
10976  unsigned stk3;
10977  unsigned stk4;
10978  stk4 = D | S;
10979  stk4 = ~stk4;
10980  stk3 = T | stk4;
10981  stk2 = S ^ stk3;
10982  stk1 = D ^ stk2;
10983  stk1 = ~stk1;
10984  return stk1;
10985}
10986
10987/* DSTDSonoxxn source opaque/pattern transparent. */
10988static unsigned xrop3_104_0_1 (unsigned char s, unsigned char t)
10989{
10990  unsigned D = 0x00ff;
10991  unsigned S = ((unsigned)s << 8) | s;
10992  unsigned T = ((unsigned)t << 8) | t;
10993  unsigned stk1;
10994  unsigned stk2;
10995  unsigned stk3;
10996  unsigned stk4;
10997  stk4 = D | S;
10998  stk4 = ~stk4;
10999  stk3 = T | stk4;
11000  stk2 = S ^ stk3;
11001  stk1 = D ^ stk2;
11002  stk1 = ~stk1;
11003  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11004}
11005
11006/* DSTDSonoxxn source transparent/pattern opaque. */
11007static unsigned xrop3_104_1_0 (unsigned char s, unsigned char t)
11008{
11009  unsigned D = 0x00ff;
11010  unsigned S = ((unsigned)s << 8) | s;
11011  unsigned T = ((unsigned)t << 8) | t;
11012  unsigned stk1;
11013  unsigned stk2;
11014  unsigned stk3;
11015  unsigned stk4;
11016  stk4 = D | S;
11017  stk4 = ~stk4;
11018  stk3 = T | stk4;
11019  stk2 = S ^ stk3;
11020  stk1 = D ^ stk2;
11021  stk1 = ~stk1;
11022  return (stk1 & (~S)) | (D & S);
11023}
11024
11025/* DSTDSonoxxn source/pattern transparent. */
11026static unsigned xrop3_104_1_1 (unsigned char s, unsigned char t)
11027{
11028  unsigned D = 0x00ff;
11029  unsigned S = ((unsigned)s << 8) | s;
11030  unsigned T = ((unsigned)t << 8) | t;
11031  unsigned stk1;
11032  unsigned stk2;
11033  unsigned stk3;
11034  unsigned stk4;
11035  stk4 = D | S;
11036  stk4 = ~stk4;
11037  stk3 = T | stk4;
11038  stk2 = S ^ stk3;
11039  stk1 = D ^ stk2;
11040  stk1 = ~stk1;
11041  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11042}
11043
11044/* TDSxxn source/pattern opaque. */
11045static void rop3_105_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11046{
11047  unsigned char stk1;
11048  unsigned char stk2;
11049  stk2 = *D ^ S;
11050  stk1 = T ^ stk2;
11051  stk1 = ~stk1;
11052  *D = stk1;
11053}
11054
11055/* TDSxxn source opaque/pattern transparent. */
11056static void rop3_105_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11057{
11058  unsigned char stk1;
11059  unsigned char stk2;
11060  stk2 = *D ^ S;
11061  stk1 = T ^ stk2;
11062  stk1 = ~stk1;
11063  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11064}
11065
11066/* TDSxxn source transparent/pattern opaque. */
11067static void rop3_105_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11068{
11069  unsigned char stk1;
11070  unsigned char stk2;
11071  stk2 = *D ^ S;
11072  stk1 = T ^ stk2;
11073  stk1 = ~stk1;
11074  *D = (stk1 & (~S)) | (*D & S);
11075}
11076
11077/* TDSxxn source/pattern transparent. */
11078static void rop3_105_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11079{
11080  unsigned char stk1;
11081  unsigned char stk2;
11082  stk2 = *D ^ S;
11083  stk1 = T ^ stk2;
11084  stk1 = ~stk1;
11085  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11086}
11087
11088/* TDSxxn source/pattern opaque. */
11089static unsigned xrop3_105_0_0 (unsigned char s, unsigned char t)
11090{
11091  unsigned D = 0x00ff;
11092  unsigned S = ((unsigned)s << 8) | s;
11093  unsigned T = ((unsigned)t << 8) | t;
11094  unsigned stk1;
11095  unsigned stk2;
11096  stk2 = D ^ S;
11097  stk1 = T ^ stk2;
11098  stk1 = ~stk1;
11099  return stk1;
11100}
11101
11102/* TDSxxn source opaque/pattern transparent. */
11103static unsigned xrop3_105_0_1 (unsigned char s, unsigned char t)
11104{
11105  unsigned D = 0x00ff;
11106  unsigned S = ((unsigned)s << 8) | s;
11107  unsigned T = ((unsigned)t << 8) | t;
11108  unsigned stk1;
11109  unsigned stk2;
11110  stk2 = D ^ S;
11111  stk1 = T ^ stk2;
11112  stk1 = ~stk1;
11113  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11114}
11115
11116/* TDSxxn source transparent/pattern opaque. */
11117static unsigned xrop3_105_1_0 (unsigned char s, unsigned char t)
11118{
11119  unsigned D = 0x00ff;
11120  unsigned S = ((unsigned)s << 8) | s;
11121  unsigned T = ((unsigned)t << 8) | t;
11122  unsigned stk1;
11123  unsigned stk2;
11124  stk2 = D ^ S;
11125  stk1 = T ^ stk2;
11126  stk1 = ~stk1;
11127  return (stk1 & (~S)) | (D & S);
11128}
11129
11130/* TDSxxn source/pattern transparent. */
11131static unsigned xrop3_105_1_1 (unsigned char s, unsigned char t)
11132{
11133  unsigned D = 0x00ff;
11134  unsigned S = ((unsigned)s << 8) | s;
11135  unsigned T = ((unsigned)t << 8) | t;
11136  unsigned stk1;
11137  unsigned stk2;
11138  stk2 = D ^ S;
11139  stk1 = T ^ stk2;
11140  stk1 = ~stk1;
11141  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11142}
11143
11144/* DTSax source/pattern opaque. */
11145static void rop3_106_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11146{
11147  unsigned char stk1;
11148  unsigned char stk2;
11149  stk2 = T & S;
11150  stk1 = *D ^ stk2;
11151  *D = stk1;
11152}
11153
11154/* DTSax source opaque/pattern transparent. */
11155static void rop3_106_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11156{
11157  unsigned char stk1;
11158  unsigned char stk2;
11159  stk2 = T & S;
11160  stk1 = *D ^ stk2;
11161  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11162}
11163
11164/* DTSax source transparent/pattern opaque. */
11165static void rop3_106_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11166{
11167  unsigned char stk1;
11168  unsigned char stk2;
11169  stk2 = T & S;
11170  stk1 = *D ^ stk2;
11171  *D = (stk1 & (~S)) | (*D & S);
11172}
11173
11174/* DTSax source/pattern transparent. */
11175static void rop3_106_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11176{
11177  unsigned char stk1;
11178  unsigned char stk2;
11179  stk2 = T & S;
11180  stk1 = *D ^ stk2;
11181  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11182}
11183
11184/* DTSax source/pattern opaque. */
11185static unsigned xrop3_106_0_0 (unsigned char s, unsigned char t)
11186{
11187  unsigned D = 0x00ff;
11188  unsigned S = ((unsigned)s << 8) | s;
11189  unsigned T = ((unsigned)t << 8) | t;
11190  unsigned stk1;
11191  unsigned stk2;
11192  stk2 = T & S;
11193  stk1 = D ^ stk2;
11194  return stk1;
11195}
11196
11197/* DTSax source opaque/pattern transparent. */
11198static unsigned xrop3_106_0_1 (unsigned char s, unsigned char t)
11199{
11200  unsigned D = 0x00ff;
11201  unsigned S = ((unsigned)s << 8) | s;
11202  unsigned T = ((unsigned)t << 8) | t;
11203  unsigned stk1;
11204  unsigned stk2;
11205  stk2 = T & S;
11206  stk1 = D ^ stk2;
11207  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11208}
11209
11210/* DTSax source transparent/pattern opaque. */
11211static unsigned xrop3_106_1_0 (unsigned char s, unsigned char t)
11212{
11213  unsigned D = 0x00ff;
11214  unsigned S = ((unsigned)s << 8) | s;
11215  unsigned T = ((unsigned)t << 8) | t;
11216  unsigned stk1;
11217  unsigned stk2;
11218  stk2 = T & S;
11219  stk1 = D ^ stk2;
11220  return (stk1 & (~S)) | (D & S);
11221}
11222
11223/* DTSax source/pattern transparent. */
11224static unsigned xrop3_106_1_1 (unsigned char s, unsigned char t)
11225{
11226  unsigned D = 0x00ff;
11227  unsigned S = ((unsigned)s << 8) | s;
11228  unsigned T = ((unsigned)t << 8) | t;
11229  unsigned stk1;
11230  unsigned stk2;
11231  stk2 = T & S;
11232  stk1 = D ^ stk2;
11233  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11234}
11235
11236/* TSDTSoaxxn source/pattern opaque. */
11237static void rop3_107_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11238{
11239  unsigned char stk1;
11240  unsigned char stk2;
11241  unsigned char stk3;
11242  unsigned char stk4;
11243  stk4 = T | S;
11244  stk3 = *D & stk4;
11245  stk2 = S ^ stk3;
11246  stk1 = T ^ stk2;
11247  stk1 = ~stk1;
11248  *D = stk1;
11249}
11250
11251/* TSDTSoaxxn source opaque/pattern transparent. */
11252static void rop3_107_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11253{
11254  unsigned char stk1;
11255  unsigned char stk2;
11256  unsigned char stk3;
11257  unsigned char stk4;
11258  stk4 = T | S;
11259  stk3 = *D & stk4;
11260  stk2 = S ^ stk3;
11261  stk1 = T ^ stk2;
11262  stk1 = ~stk1;
11263  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11264}
11265
11266/* TSDTSoaxxn source transparent/pattern opaque. */
11267static void rop3_107_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11268{
11269  unsigned char stk1;
11270  unsigned char stk2;
11271  unsigned char stk3;
11272  unsigned char stk4;
11273  stk4 = T | S;
11274  stk3 = *D & stk4;
11275  stk2 = S ^ stk3;
11276  stk1 = T ^ stk2;
11277  stk1 = ~stk1;
11278  *D = (stk1 & (~S)) | (*D & S);
11279}
11280
11281/* TSDTSoaxxn source/pattern transparent. */
11282static void rop3_107_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11283{
11284  unsigned char stk1;
11285  unsigned char stk2;
11286  unsigned char stk3;
11287  unsigned char stk4;
11288  stk4 = T | S;
11289  stk3 = *D & stk4;
11290  stk2 = S ^ stk3;
11291  stk1 = T ^ stk2;
11292  stk1 = ~stk1;
11293  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11294}
11295
11296/* TSDTSoaxxn source/pattern opaque. */
11297static unsigned xrop3_107_0_0 (unsigned char s, unsigned char t)
11298{
11299  unsigned D = 0x00ff;
11300  unsigned S = ((unsigned)s << 8) | s;
11301  unsigned T = ((unsigned)t << 8) | t;
11302  unsigned stk1;
11303  unsigned stk2;
11304  unsigned stk3;
11305  unsigned stk4;
11306  stk4 = T | S;
11307  stk3 = D & stk4;
11308  stk2 = S ^ stk3;
11309  stk1 = T ^ stk2;
11310  stk1 = ~stk1;
11311  return stk1;
11312}
11313
11314/* TSDTSoaxxn source opaque/pattern transparent. */
11315static unsigned xrop3_107_0_1 (unsigned char s, unsigned char t)
11316{
11317  unsigned D = 0x00ff;
11318  unsigned S = ((unsigned)s << 8) | s;
11319  unsigned T = ((unsigned)t << 8) | t;
11320  unsigned stk1;
11321  unsigned stk2;
11322  unsigned stk3;
11323  unsigned stk4;
11324  stk4 = T | S;
11325  stk3 = D & stk4;
11326  stk2 = S ^ stk3;
11327  stk1 = T ^ stk2;
11328  stk1 = ~stk1;
11329  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11330}
11331
11332/* TSDTSoaxxn source transparent/pattern opaque. */
11333static unsigned xrop3_107_1_0 (unsigned char s, unsigned char t)
11334{
11335  unsigned D = 0x00ff;
11336  unsigned S = ((unsigned)s << 8) | s;
11337  unsigned T = ((unsigned)t << 8) | t;
11338  unsigned stk1;
11339  unsigned stk2;
11340  unsigned stk3;
11341  unsigned stk4;
11342  stk4 = T | S;
11343  stk3 = D & stk4;
11344  stk2 = S ^ stk3;
11345  stk1 = T ^ stk2;
11346  stk1 = ~stk1;
11347  return (stk1 & (~S)) | (D & S);
11348}
11349
11350/* TSDTSoaxxn source/pattern transparent. */
11351static unsigned xrop3_107_1_1 (unsigned char s, unsigned char t)
11352{
11353  unsigned D = 0x00ff;
11354  unsigned S = ((unsigned)s << 8) | s;
11355  unsigned T = ((unsigned)t << 8) | t;
11356  unsigned stk1;
11357  unsigned stk2;
11358  unsigned stk3;
11359  unsigned stk4;
11360  stk4 = T | S;
11361  stk3 = D & stk4;
11362  stk2 = S ^ stk3;
11363  stk1 = T ^ stk2;
11364  stk1 = ~stk1;
11365  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11366}
11367
11368/* SDTax source/pattern opaque. */
11369static void rop3_108_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11370{
11371  unsigned char stk1;
11372  unsigned char stk2;
11373  stk2 = *D & T;
11374  stk1 = S ^ stk2;
11375  *D = stk1;
11376}
11377
11378/* SDTax source opaque/pattern transparent. */
11379static void rop3_108_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11380{
11381  unsigned char stk1;
11382  unsigned char stk2;
11383  stk2 = *D & T;
11384  stk1 = S ^ stk2;
11385  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11386}
11387
11388/* SDTax source transparent/pattern opaque. */
11389static void rop3_108_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11390{
11391  unsigned char stk1;
11392  unsigned char stk2;
11393  stk2 = *D & T;
11394  stk1 = S ^ stk2;
11395  *D = (stk1 & (~S)) | (*D & S);
11396}
11397
11398/* SDTax source/pattern transparent. */
11399static void rop3_108_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11400{
11401  unsigned char stk1;
11402  unsigned char stk2;
11403  stk2 = *D & T;
11404  stk1 = S ^ stk2;
11405  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11406}
11407
11408/* SDTax source/pattern opaque. */
11409static unsigned xrop3_108_0_0 (unsigned char s, unsigned char t)
11410{
11411  unsigned D = 0x00ff;
11412  unsigned S = ((unsigned)s << 8) | s;
11413  unsigned T = ((unsigned)t << 8) | t;
11414  unsigned stk1;
11415  unsigned stk2;
11416  stk2 = D & T;
11417  stk1 = S ^ stk2;
11418  return stk1;
11419}
11420
11421/* SDTax source opaque/pattern transparent. */
11422static unsigned xrop3_108_0_1 (unsigned char s, unsigned char t)
11423{
11424  unsigned D = 0x00ff;
11425  unsigned S = ((unsigned)s << 8) | s;
11426  unsigned T = ((unsigned)t << 8) | t;
11427  unsigned stk1;
11428  unsigned stk2;
11429  stk2 = D & T;
11430  stk1 = S ^ stk2;
11431  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11432}
11433
11434/* SDTax source transparent/pattern opaque. */
11435static unsigned xrop3_108_1_0 (unsigned char s, unsigned char t)
11436{
11437  unsigned D = 0x00ff;
11438  unsigned S = ((unsigned)s << 8) | s;
11439  unsigned T = ((unsigned)t << 8) | t;
11440  unsigned stk1;
11441  unsigned stk2;
11442  stk2 = D & T;
11443  stk1 = S ^ stk2;
11444  return (stk1 & (~S)) | (D & S);
11445}
11446
11447/* SDTax source/pattern transparent. */
11448static unsigned xrop3_108_1_1 (unsigned char s, unsigned char t)
11449{
11450  unsigned D = 0x00ff;
11451  unsigned S = ((unsigned)s << 8) | s;
11452  unsigned T = ((unsigned)t << 8) | t;
11453  unsigned stk1;
11454  unsigned stk2;
11455  stk2 = D & T;
11456  stk1 = S ^ stk2;
11457  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11458}
11459
11460/* TDSTDoaxxn source/pattern opaque. */
11461static void rop3_109_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11462{
11463  unsigned char stk1;
11464  unsigned char stk2;
11465  unsigned char stk3;
11466  unsigned char stk4;
11467  stk4 = T | *D;
11468  stk3 = S & stk4;
11469  stk2 = *D ^ stk3;
11470  stk1 = T ^ stk2;
11471  stk1 = ~stk1;
11472  *D = stk1;
11473}
11474
11475/* TDSTDoaxxn source opaque/pattern transparent. */
11476static void rop3_109_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11477{
11478  unsigned char stk1;
11479  unsigned char stk2;
11480  unsigned char stk3;
11481  unsigned char stk4;
11482  stk4 = T | *D;
11483  stk3 = S & stk4;
11484  stk2 = *D ^ stk3;
11485  stk1 = T ^ stk2;
11486  stk1 = ~stk1;
11487  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11488}
11489
11490/* TDSTDoaxxn source transparent/pattern opaque. */
11491static void rop3_109_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11492{
11493  unsigned char stk1;
11494  unsigned char stk2;
11495  unsigned char stk3;
11496  unsigned char stk4;
11497  stk4 = T | *D;
11498  stk3 = S & stk4;
11499  stk2 = *D ^ stk3;
11500  stk1 = T ^ stk2;
11501  stk1 = ~stk1;
11502  *D = (stk1 & (~S)) | (*D & S);
11503}
11504
11505/* TDSTDoaxxn source/pattern transparent. */
11506static void rop3_109_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11507{
11508  unsigned char stk1;
11509  unsigned char stk2;
11510  unsigned char stk3;
11511  unsigned char stk4;
11512  stk4 = T | *D;
11513  stk3 = S & stk4;
11514  stk2 = *D ^ stk3;
11515  stk1 = T ^ stk2;
11516  stk1 = ~stk1;
11517  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11518}
11519
11520/* TDSTDoaxxn source/pattern opaque. */
11521static unsigned xrop3_109_0_0 (unsigned char s, unsigned char t)
11522{
11523  unsigned D = 0x00ff;
11524  unsigned S = ((unsigned)s << 8) | s;
11525  unsigned T = ((unsigned)t << 8) | t;
11526  unsigned stk1;
11527  unsigned stk2;
11528  unsigned stk3;
11529  unsigned stk4;
11530  stk4 = T | D;
11531  stk3 = S & stk4;
11532  stk2 = D ^ stk3;
11533  stk1 = T ^ stk2;
11534  stk1 = ~stk1;
11535  return stk1;
11536}
11537
11538/* TDSTDoaxxn source opaque/pattern transparent. */
11539static unsigned xrop3_109_0_1 (unsigned char s, unsigned char t)
11540{
11541  unsigned D = 0x00ff;
11542  unsigned S = ((unsigned)s << 8) | s;
11543  unsigned T = ((unsigned)t << 8) | t;
11544  unsigned stk1;
11545  unsigned stk2;
11546  unsigned stk3;
11547  unsigned stk4;
11548  stk4 = T | D;
11549  stk3 = S & stk4;
11550  stk2 = D ^ stk3;
11551  stk1 = T ^ stk2;
11552  stk1 = ~stk1;
11553  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11554}
11555
11556/* TDSTDoaxxn source transparent/pattern opaque. */
11557static unsigned xrop3_109_1_0 (unsigned char s, unsigned char t)
11558{
11559  unsigned D = 0x00ff;
11560  unsigned S = ((unsigned)s << 8) | s;
11561  unsigned T = ((unsigned)t << 8) | t;
11562  unsigned stk1;
11563  unsigned stk2;
11564  unsigned stk3;
11565  unsigned stk4;
11566  stk4 = T | D;
11567  stk3 = S & stk4;
11568  stk2 = D ^ stk3;
11569  stk1 = T ^ stk2;
11570  stk1 = ~stk1;
11571  return (stk1 & (~S)) | (D & S);
11572}
11573
11574/* TDSTDoaxxn source/pattern transparent. */
11575static unsigned xrop3_109_1_1 (unsigned char s, unsigned char t)
11576{
11577  unsigned D = 0x00ff;
11578  unsigned S = ((unsigned)s << 8) | s;
11579  unsigned T = ((unsigned)t << 8) | t;
11580  unsigned stk1;
11581  unsigned stk2;
11582  unsigned stk3;
11583  unsigned stk4;
11584  stk4 = T | D;
11585  stk3 = S & stk4;
11586  stk2 = D ^ stk3;
11587  stk1 = T ^ stk2;
11588  stk1 = ~stk1;
11589  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11590}
11591
11592/* SDTSnoax source/pattern opaque. */
11593static void rop3_110_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11594{
11595  unsigned char stk1;
11596  unsigned char stk2;
11597  unsigned char stk3;
11598  unsigned char stk4;
11599  stk4 = ~S;
11600  stk3 = T | stk4;
11601  stk2 = *D & stk3;
11602  stk1 = S ^ stk2;
11603  *D = stk1;
11604}
11605
11606/* SDTSnoax source opaque/pattern transparent. */
11607static void rop3_110_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11608{
11609  unsigned char stk1;
11610  unsigned char stk2;
11611  unsigned char stk3;
11612  unsigned char stk4;
11613  stk4 = ~S;
11614  stk3 = T | stk4;
11615  stk2 = *D & stk3;
11616  stk1 = S ^ stk2;
11617  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11618}
11619
11620/* SDTSnoax source transparent/pattern opaque. */
11621static void rop3_110_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11622{
11623  unsigned char stk1;
11624  unsigned char stk2;
11625  unsigned char stk3;
11626  unsigned char stk4;
11627  stk4 = ~S;
11628  stk3 = T | stk4;
11629  stk2 = *D & stk3;
11630  stk1 = S ^ stk2;
11631  *D = (stk1 & (~S)) | (*D & S);
11632}
11633
11634/* SDTSnoax source/pattern transparent. */
11635static void rop3_110_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11636{
11637  unsigned char stk1;
11638  unsigned char stk2;
11639  unsigned char stk3;
11640  unsigned char stk4;
11641  stk4 = ~S;
11642  stk3 = T | stk4;
11643  stk2 = *D & stk3;
11644  stk1 = S ^ stk2;
11645  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11646}
11647
11648/* SDTSnoax source/pattern opaque. */
11649static unsigned xrop3_110_0_0 (unsigned char s, unsigned char t)
11650{
11651  unsigned D = 0x00ff;
11652  unsigned S = ((unsigned)s << 8) | s;
11653  unsigned T = ((unsigned)t << 8) | t;
11654  unsigned stk1;
11655  unsigned stk2;
11656  unsigned stk3;
11657  unsigned stk4;
11658  stk4 = ~S;
11659  stk3 = T | stk4;
11660  stk2 = D & stk3;
11661  stk1 = S ^ stk2;
11662  return stk1;
11663}
11664
11665/* SDTSnoax source opaque/pattern transparent. */
11666static unsigned xrop3_110_0_1 (unsigned char s, unsigned char t)
11667{
11668  unsigned D = 0x00ff;
11669  unsigned S = ((unsigned)s << 8) | s;
11670  unsigned T = ((unsigned)t << 8) | t;
11671  unsigned stk1;
11672  unsigned stk2;
11673  unsigned stk3;
11674  unsigned stk4;
11675  stk4 = ~S;
11676  stk3 = T | stk4;
11677  stk2 = D & stk3;
11678  stk1 = S ^ stk2;
11679  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11680}
11681
11682/* SDTSnoax source transparent/pattern opaque. */
11683static unsigned xrop3_110_1_0 (unsigned char s, unsigned char t)
11684{
11685  unsigned D = 0x00ff;
11686  unsigned S = ((unsigned)s << 8) | s;
11687  unsigned T = ((unsigned)t << 8) | t;
11688  unsigned stk1;
11689  unsigned stk2;
11690  unsigned stk3;
11691  unsigned stk4;
11692  stk4 = ~S;
11693  stk3 = T | stk4;
11694  stk2 = D & stk3;
11695  stk1 = S ^ stk2;
11696  return (stk1 & (~S)) | (D & S);
11697}
11698
11699/* SDTSnoax source/pattern transparent. */
11700static unsigned xrop3_110_1_1 (unsigned char s, unsigned char t)
11701{
11702  unsigned D = 0x00ff;
11703  unsigned S = ((unsigned)s << 8) | s;
11704  unsigned T = ((unsigned)t << 8) | t;
11705  unsigned stk1;
11706  unsigned stk2;
11707  unsigned stk3;
11708  unsigned stk4;
11709  stk4 = ~S;
11710  stk3 = T | stk4;
11711  stk2 = D & stk3;
11712  stk1 = S ^ stk2;
11713  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11714}
11715
11716/* TDSxnan source/pattern opaque. */
11717static void rop3_111_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11718{
11719  unsigned char stk1;
11720  unsigned char stk2;
11721  stk2 = *D ^ S;
11722  stk2 = ~stk2;
11723  stk1 = T & stk2;
11724  stk1 = ~stk1;
11725  *D = stk1;
11726}
11727
11728/* TDSxnan source opaque/pattern transparent. */
11729static void rop3_111_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11730{
11731  unsigned char stk1;
11732  unsigned char stk2;
11733  stk2 = *D ^ S;
11734  stk2 = ~stk2;
11735  stk1 = T & stk2;
11736  stk1 = ~stk1;
11737  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11738}
11739
11740/* TDSxnan source transparent/pattern opaque. */
11741static void rop3_111_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11742{
11743  unsigned char stk1;
11744  unsigned char stk2;
11745  stk2 = *D ^ S;
11746  stk2 = ~stk2;
11747  stk1 = T & stk2;
11748  stk1 = ~stk1;
11749  *D = (stk1 & (~S)) | (*D & S);
11750}
11751
11752/* TDSxnan source/pattern transparent. */
11753static void rop3_111_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11754{
11755  unsigned char stk1;
11756  unsigned char stk2;
11757  stk2 = *D ^ S;
11758  stk2 = ~stk2;
11759  stk1 = T & stk2;
11760  stk1 = ~stk1;
11761  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11762}
11763
11764/* TDSxnan source/pattern opaque. */
11765static unsigned xrop3_111_0_0 (unsigned char s, unsigned char t)
11766{
11767  unsigned D = 0x00ff;
11768  unsigned S = ((unsigned)s << 8) | s;
11769  unsigned T = ((unsigned)t << 8) | t;
11770  unsigned stk1;
11771  unsigned stk2;
11772  stk2 = D ^ S;
11773  stk2 = ~stk2;
11774  stk1 = T & stk2;
11775  stk1 = ~stk1;
11776  return stk1;
11777}
11778
11779/* TDSxnan source opaque/pattern transparent. */
11780static unsigned xrop3_111_0_1 (unsigned char s, unsigned char t)
11781{
11782  unsigned D = 0x00ff;
11783  unsigned S = ((unsigned)s << 8) | s;
11784  unsigned T = ((unsigned)t << 8) | t;
11785  unsigned stk1;
11786  unsigned stk2;
11787  stk2 = D ^ S;
11788  stk2 = ~stk2;
11789  stk1 = T & stk2;
11790  stk1 = ~stk1;
11791  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11792}
11793
11794/* TDSxnan source transparent/pattern opaque. */
11795static unsigned xrop3_111_1_0 (unsigned char s, unsigned char t)
11796{
11797  unsigned D = 0x00ff;
11798  unsigned S = ((unsigned)s << 8) | s;
11799  unsigned T = ((unsigned)t << 8) | t;
11800  unsigned stk1;
11801  unsigned stk2;
11802  stk2 = D ^ S;
11803  stk2 = ~stk2;
11804  stk1 = T & stk2;
11805  stk1 = ~stk1;
11806  return (stk1 & (~S)) | (D & S);
11807}
11808
11809/* TDSxnan source/pattern transparent. */
11810static unsigned xrop3_111_1_1 (unsigned char s, unsigned char t)
11811{
11812  unsigned D = 0x00ff;
11813  unsigned S = ((unsigned)s << 8) | s;
11814  unsigned T = ((unsigned)t << 8) | t;
11815  unsigned stk1;
11816  unsigned stk2;
11817  stk2 = D ^ S;
11818  stk2 = ~stk2;
11819  stk1 = T & stk2;
11820  stk1 = ~stk1;
11821  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11822}
11823
11824/* TDSana source/pattern opaque. */
11825static void rop3_112_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11826{
11827  unsigned char stk1;
11828  unsigned char stk2;
11829  stk2 = *D & S;
11830  stk2 = ~stk2;
11831  stk1 = T & stk2;
11832  *D = stk1;
11833}
11834
11835/* TDSana source opaque/pattern transparent. */
11836static void rop3_112_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11837{
11838  unsigned char stk1;
11839  unsigned char stk2;
11840  stk2 = *D & S;
11841  stk2 = ~stk2;
11842  stk1 = T & stk2;
11843  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11844}
11845
11846/* TDSana source transparent/pattern opaque. */
11847static void rop3_112_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11848{
11849  unsigned char stk1;
11850  unsigned char stk2;
11851  stk2 = *D & S;
11852  stk2 = ~stk2;
11853  stk1 = T & stk2;
11854  *D = (stk1 & (~S)) | (*D & S);
11855}
11856
11857/* TDSana source/pattern transparent. */
11858static void rop3_112_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11859{
11860  unsigned char stk1;
11861  unsigned char stk2;
11862  stk2 = *D & S;
11863  stk2 = ~stk2;
11864  stk1 = T & stk2;
11865  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11866}
11867
11868/* TDSana source/pattern opaque. */
11869static unsigned xrop3_112_0_0 (unsigned char s, unsigned char t)
11870{
11871  unsigned D = 0x00ff;
11872  unsigned S = ((unsigned)s << 8) | s;
11873  unsigned T = ((unsigned)t << 8) | t;
11874  unsigned stk1;
11875  unsigned stk2;
11876  stk2 = D & S;
11877  stk2 = ~stk2;
11878  stk1 = T & stk2;
11879  return stk1;
11880}
11881
11882/* TDSana source opaque/pattern transparent. */
11883static unsigned xrop3_112_0_1 (unsigned char s, unsigned char t)
11884{
11885  unsigned D = 0x00ff;
11886  unsigned S = ((unsigned)s << 8) | s;
11887  unsigned T = ((unsigned)t << 8) | t;
11888  unsigned stk1;
11889  unsigned stk2;
11890  stk2 = D & S;
11891  stk2 = ~stk2;
11892  stk1 = T & stk2;
11893  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
11894}
11895
11896/* TDSana source transparent/pattern opaque. */
11897static unsigned xrop3_112_1_0 (unsigned char s, unsigned char t)
11898{
11899  unsigned D = 0x00ff;
11900  unsigned S = ((unsigned)s << 8) | s;
11901  unsigned T = ((unsigned)t << 8) | t;
11902  unsigned stk1;
11903  unsigned stk2;
11904  stk2 = D & S;
11905  stk2 = ~stk2;
11906  stk1 = T & stk2;
11907  return (stk1 & (~S)) | (D & S);
11908}
11909
11910/* TDSana source/pattern transparent. */
11911static unsigned xrop3_112_1_1 (unsigned char s, unsigned char t)
11912{
11913  unsigned D = 0x00ff;
11914  unsigned S = ((unsigned)s << 8) | s;
11915  unsigned T = ((unsigned)t << 8) | t;
11916  unsigned stk1;
11917  unsigned stk2;
11918  stk2 = D & S;
11919  stk2 = ~stk2;
11920  stk1 = T & stk2;
11921  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
11922}
11923
11924/* SSDxTDxaxn source/pattern opaque. */
11925static void rop3_113_0_0 (unsigned char *D, unsigned char S, unsigned char T)
11926{
11927  unsigned char stk1;
11928  unsigned char stk2;
11929  unsigned char stk3;
11930  stk2 = S ^ *D;
11931  stk3 = T ^ *D;
11932  stk2 = stk2 & stk3;
11933  stk1 = S ^ stk2;
11934  stk1 = ~stk1;
11935  *D = stk1;
11936}
11937
11938/* SSDxTDxaxn source opaque/pattern transparent. */
11939static void rop3_113_0_1 (unsigned char *D, unsigned char S, unsigned char T)
11940{
11941  unsigned char stk1;
11942  unsigned char stk2;
11943  unsigned char stk3;
11944  stk2 = S ^ *D;
11945  stk3 = T ^ *D;
11946  stk2 = stk2 & stk3;
11947  stk1 = S ^ stk2;
11948  stk1 = ~stk1;
11949  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
11950}
11951
11952/* SSDxTDxaxn source transparent/pattern opaque. */
11953static void rop3_113_1_0 (unsigned char *D, unsigned char S, unsigned char T)
11954{
11955  unsigned char stk1;
11956  unsigned char stk2;
11957  unsigned char stk3;
11958  stk2 = S ^ *D;
11959  stk3 = T ^ *D;
11960  stk2 = stk2 & stk3;
11961  stk1 = S ^ stk2;
11962  stk1 = ~stk1;
11963  *D = (stk1 & (~S)) | (*D & S);
11964}
11965
11966/* SSDxTDxaxn source/pattern transparent. */
11967static void rop3_113_1_1 (unsigned char *D, unsigned char S, unsigned char T)
11968{
11969  unsigned char stk1;
11970  unsigned char stk2;
11971  unsigned char stk3;
11972  stk2 = S ^ *D;
11973  stk3 = T ^ *D;
11974  stk2 = stk2 & stk3;
11975  stk1 = S ^ stk2;
11976  stk1 = ~stk1;
11977  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
11978}
11979
11980/* SSDxTDxaxn source/pattern opaque. */
11981static unsigned xrop3_113_0_0 (unsigned char s, unsigned char t)
11982{
11983  unsigned D = 0x00ff;
11984  unsigned S = ((unsigned)s << 8) | s;
11985  unsigned T = ((unsigned)t << 8) | t;
11986  unsigned stk1;
11987  unsigned stk2;
11988  unsigned stk3;
11989  stk2 = S ^ D;
11990  stk3 = T ^ D;
11991  stk2 = stk2 & stk3;
11992  stk1 = S ^ stk2;
11993  stk1 = ~stk1;
11994  return stk1;
11995}
11996
11997/* SSDxTDxaxn source opaque/pattern transparent. */
11998static unsigned xrop3_113_0_1 (unsigned char s, unsigned char t)
11999{
12000  unsigned D = 0x00ff;
12001  unsigned S = ((unsigned)s << 8) | s;
12002  unsigned T = ((unsigned)t << 8) | t;
12003  unsigned stk1;
12004  unsigned stk2;
12005  unsigned stk3;
12006  stk2 = S ^ D;
12007  stk3 = T ^ D;
12008  stk2 = stk2 & stk3;
12009  stk1 = S ^ stk2;
12010  stk1 = ~stk1;
12011  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12012}
12013
12014/* SSDxTDxaxn source transparent/pattern opaque. */
12015static unsigned xrop3_113_1_0 (unsigned char s, unsigned char t)
12016{
12017  unsigned D = 0x00ff;
12018  unsigned S = ((unsigned)s << 8) | s;
12019  unsigned T = ((unsigned)t << 8) | t;
12020  unsigned stk1;
12021  unsigned stk2;
12022  unsigned stk3;
12023  stk2 = S ^ D;
12024  stk3 = T ^ D;
12025  stk2 = stk2 & stk3;
12026  stk1 = S ^ stk2;
12027  stk1 = ~stk1;
12028  return (stk1 & (~S)) | (D & S);
12029}
12030
12031/* SSDxTDxaxn source/pattern transparent. */
12032static unsigned xrop3_113_1_1 (unsigned char s, unsigned char t)
12033{
12034  unsigned D = 0x00ff;
12035  unsigned S = ((unsigned)s << 8) | s;
12036  unsigned T = ((unsigned)t << 8) | t;
12037  unsigned stk1;
12038  unsigned stk2;
12039  unsigned stk3;
12040  stk2 = S ^ D;
12041  stk3 = T ^ D;
12042  stk2 = stk2 & stk3;
12043  stk1 = S ^ stk2;
12044  stk1 = ~stk1;
12045  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12046}
12047
12048/* SDTSxox source/pattern opaque. */
12049static void rop3_114_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12050{
12051  unsigned char stk1;
12052  unsigned char stk2;
12053  unsigned char stk3;
12054  stk3 = T ^ S;
12055  stk2 = *D | stk3;
12056  stk1 = S ^ stk2;
12057  *D = stk1;
12058}
12059
12060/* SDTSxox source opaque/pattern transparent. */
12061static void rop3_114_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12062{
12063  unsigned char stk1;
12064  unsigned char stk2;
12065  unsigned char stk3;
12066  stk3 = T ^ S;
12067  stk2 = *D | stk3;
12068  stk1 = S ^ stk2;
12069  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12070}
12071
12072/* SDTSxox source transparent/pattern opaque. */
12073static void rop3_114_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12074{
12075  unsigned char stk1;
12076  unsigned char stk2;
12077  unsigned char stk3;
12078  stk3 = T ^ S;
12079  stk2 = *D | stk3;
12080  stk1 = S ^ stk2;
12081  *D = (stk1 & (~S)) | (*D & S);
12082}
12083
12084/* SDTSxox source/pattern transparent. */
12085static void rop3_114_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12086{
12087  unsigned char stk1;
12088  unsigned char stk2;
12089  unsigned char stk3;
12090  stk3 = T ^ S;
12091  stk2 = *D | stk3;
12092  stk1 = S ^ stk2;
12093  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12094}
12095
12096/* SDTSxox source/pattern opaque. */
12097static unsigned xrop3_114_0_0 (unsigned char s, unsigned char t)
12098{
12099  unsigned D = 0x00ff;
12100  unsigned S = ((unsigned)s << 8) | s;
12101  unsigned T = ((unsigned)t << 8) | t;
12102  unsigned stk1;
12103  unsigned stk2;
12104  unsigned stk3;
12105  stk3 = T ^ S;
12106  stk2 = D | stk3;
12107  stk1 = S ^ stk2;
12108  return stk1;
12109}
12110
12111/* SDTSxox source opaque/pattern transparent. */
12112static unsigned xrop3_114_0_1 (unsigned char s, unsigned char t)
12113{
12114  unsigned D = 0x00ff;
12115  unsigned S = ((unsigned)s << 8) | s;
12116  unsigned T = ((unsigned)t << 8) | t;
12117  unsigned stk1;
12118  unsigned stk2;
12119  unsigned stk3;
12120  stk3 = T ^ S;
12121  stk2 = D | stk3;
12122  stk1 = S ^ stk2;
12123  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12124}
12125
12126/* SDTSxox source transparent/pattern opaque. */
12127static unsigned xrop3_114_1_0 (unsigned char s, unsigned char t)
12128{
12129  unsigned D = 0x00ff;
12130  unsigned S = ((unsigned)s << 8) | s;
12131  unsigned T = ((unsigned)t << 8) | t;
12132  unsigned stk1;
12133  unsigned stk2;
12134  unsigned stk3;
12135  stk3 = T ^ S;
12136  stk2 = D | stk3;
12137  stk1 = S ^ stk2;
12138  return (stk1 & (~S)) | (D & S);
12139}
12140
12141/* SDTSxox source/pattern transparent. */
12142static unsigned xrop3_114_1_1 (unsigned char s, unsigned char t)
12143{
12144  unsigned D = 0x00ff;
12145  unsigned S = ((unsigned)s << 8) | s;
12146  unsigned T = ((unsigned)t << 8) | t;
12147  unsigned stk1;
12148  unsigned stk2;
12149  unsigned stk3;
12150  stk3 = T ^ S;
12151  stk2 = D | stk3;
12152  stk1 = S ^ stk2;
12153  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12154}
12155
12156/* SDTnoan source/pattern opaque. */
12157static void rop3_115_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12158{
12159  unsigned char stk1;
12160  unsigned char stk2;
12161  unsigned char stk3;
12162  stk3 = ~T;
12163  stk2 = *D | stk3;
12164  stk1 = S & stk2;
12165  stk1 = ~stk1;
12166  *D = stk1;
12167}
12168
12169/* SDTnoan source opaque/pattern transparent. */
12170static void rop3_115_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12171{
12172  unsigned char stk1;
12173  unsigned char stk2;
12174  unsigned char stk3;
12175  stk3 = ~T;
12176  stk2 = *D | stk3;
12177  stk1 = S & stk2;
12178  stk1 = ~stk1;
12179  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12180}
12181
12182/* SDTnoan source transparent/pattern opaque. */
12183static void rop3_115_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12184{
12185  unsigned char stk1;
12186  unsigned char stk2;
12187  unsigned char stk3;
12188  stk3 = ~T;
12189  stk2 = *D | stk3;
12190  stk1 = S & stk2;
12191  stk1 = ~stk1;
12192  *D = (stk1 & (~S)) | (*D & S);
12193}
12194
12195/* SDTnoan source/pattern transparent. */
12196static void rop3_115_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12197{
12198  unsigned char stk1;
12199  unsigned char stk2;
12200  unsigned char stk3;
12201  stk3 = ~T;
12202  stk2 = *D | stk3;
12203  stk1 = S & stk2;
12204  stk1 = ~stk1;
12205  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12206}
12207
12208/* SDTnoan source/pattern opaque. */
12209static unsigned xrop3_115_0_0 (unsigned char s, unsigned char t)
12210{
12211  unsigned D = 0x00ff;
12212  unsigned S = ((unsigned)s << 8) | s;
12213  unsigned T = ((unsigned)t << 8) | t;
12214  unsigned stk1;
12215  unsigned stk2;
12216  unsigned stk3;
12217  stk3 = ~T;
12218  stk2 = D | stk3;
12219  stk1 = S & stk2;
12220  stk1 = ~stk1;
12221  return stk1;
12222}
12223
12224/* SDTnoan source opaque/pattern transparent. */
12225static unsigned xrop3_115_0_1 (unsigned char s, unsigned char t)
12226{
12227  unsigned D = 0x00ff;
12228  unsigned S = ((unsigned)s << 8) | s;
12229  unsigned T = ((unsigned)t << 8) | t;
12230  unsigned stk1;
12231  unsigned stk2;
12232  unsigned stk3;
12233  stk3 = ~T;
12234  stk2 = D | stk3;
12235  stk1 = S & stk2;
12236  stk1 = ~stk1;
12237  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12238}
12239
12240/* SDTnoan source transparent/pattern opaque. */
12241static unsigned xrop3_115_1_0 (unsigned char s, unsigned char t)
12242{
12243  unsigned D = 0x00ff;
12244  unsigned S = ((unsigned)s << 8) | s;
12245  unsigned T = ((unsigned)t << 8) | t;
12246  unsigned stk1;
12247  unsigned stk2;
12248  unsigned stk3;
12249  stk3 = ~T;
12250  stk2 = D | stk3;
12251  stk1 = S & stk2;
12252  stk1 = ~stk1;
12253  return (stk1 & (~S)) | (D & S);
12254}
12255
12256/* SDTnoan source/pattern transparent. */
12257static unsigned xrop3_115_1_1 (unsigned char s, unsigned char t)
12258{
12259  unsigned D = 0x00ff;
12260  unsigned S = ((unsigned)s << 8) | s;
12261  unsigned T = ((unsigned)t << 8) | t;
12262  unsigned stk1;
12263  unsigned stk2;
12264  unsigned stk3;
12265  stk3 = ~T;
12266  stk2 = D | stk3;
12267  stk1 = S & stk2;
12268  stk1 = ~stk1;
12269  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12270}
12271
12272/* DSTDxox source/pattern opaque. */
12273static void rop3_116_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12274{
12275  unsigned char stk1;
12276  unsigned char stk2;
12277  unsigned char stk3;
12278  stk3 = T ^ *D;
12279  stk2 = S | stk3;
12280  stk1 = *D ^ stk2;
12281  *D = stk1;
12282}
12283
12284/* DSTDxox source opaque/pattern transparent. */
12285static void rop3_116_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12286{
12287  unsigned char stk1;
12288  unsigned char stk2;
12289  unsigned char stk3;
12290  stk3 = T ^ *D;
12291  stk2 = S | stk3;
12292  stk1 = *D ^ stk2;
12293  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12294}
12295
12296/* DSTDxox source transparent/pattern opaque. */
12297static void rop3_116_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12298{
12299  unsigned char stk1;
12300  unsigned char stk2;
12301  unsigned char stk3;
12302  stk3 = T ^ *D;
12303  stk2 = S | stk3;
12304  stk1 = *D ^ stk2;
12305  *D = (stk1 & (~S)) | (*D & S);
12306}
12307
12308/* DSTDxox source/pattern transparent. */
12309static void rop3_116_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12310{
12311  unsigned char stk1;
12312  unsigned char stk2;
12313  unsigned char stk3;
12314  stk3 = T ^ *D;
12315  stk2 = S | stk3;
12316  stk1 = *D ^ stk2;
12317  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12318}
12319
12320/* DSTDxox source/pattern opaque. */
12321static unsigned xrop3_116_0_0 (unsigned char s, unsigned char t)
12322{
12323  unsigned D = 0x00ff;
12324  unsigned S = ((unsigned)s << 8) | s;
12325  unsigned T = ((unsigned)t << 8) | t;
12326  unsigned stk1;
12327  unsigned stk2;
12328  unsigned stk3;
12329  stk3 = T ^ D;
12330  stk2 = S | stk3;
12331  stk1 = D ^ stk2;
12332  return stk1;
12333}
12334
12335/* DSTDxox source opaque/pattern transparent. */
12336static unsigned xrop3_116_0_1 (unsigned char s, unsigned char t)
12337{
12338  unsigned D = 0x00ff;
12339  unsigned S = ((unsigned)s << 8) | s;
12340  unsigned T = ((unsigned)t << 8) | t;
12341  unsigned stk1;
12342  unsigned stk2;
12343  unsigned stk3;
12344  stk3 = T ^ D;
12345  stk2 = S | stk3;
12346  stk1 = D ^ stk2;
12347  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12348}
12349
12350/* DSTDxox source transparent/pattern opaque. */
12351static unsigned xrop3_116_1_0 (unsigned char s, unsigned char t)
12352{
12353  unsigned D = 0x00ff;
12354  unsigned S = ((unsigned)s << 8) | s;
12355  unsigned T = ((unsigned)t << 8) | t;
12356  unsigned stk1;
12357  unsigned stk2;
12358  unsigned stk3;
12359  stk3 = T ^ D;
12360  stk2 = S | stk3;
12361  stk1 = D ^ stk2;
12362  return (stk1 & (~S)) | (D & S);
12363}
12364
12365/* DSTDxox source/pattern transparent. */
12366static unsigned xrop3_116_1_1 (unsigned char s, unsigned char t)
12367{
12368  unsigned D = 0x00ff;
12369  unsigned S = ((unsigned)s << 8) | s;
12370  unsigned T = ((unsigned)t << 8) | t;
12371  unsigned stk1;
12372  unsigned stk2;
12373  unsigned stk3;
12374  stk3 = T ^ D;
12375  stk2 = S | stk3;
12376  stk1 = D ^ stk2;
12377  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12378}
12379
12380/* DSTnoan source/pattern opaque. */
12381static void rop3_117_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12382{
12383  unsigned char stk1;
12384  unsigned char stk2;
12385  unsigned char stk3;
12386  stk3 = ~T;
12387  stk2 = S | stk3;
12388  stk1 = *D & stk2;
12389  stk1 = ~stk1;
12390  *D = stk1;
12391}
12392
12393/* DSTnoan source opaque/pattern transparent. */
12394static void rop3_117_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12395{
12396  unsigned char stk1;
12397  unsigned char stk2;
12398  unsigned char stk3;
12399  stk3 = ~T;
12400  stk2 = S | stk3;
12401  stk1 = *D & stk2;
12402  stk1 = ~stk1;
12403  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12404}
12405
12406/* DSTnoan source transparent/pattern opaque. */
12407static void rop3_117_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12408{
12409  unsigned char stk1;
12410  unsigned char stk2;
12411  unsigned char stk3;
12412  stk3 = ~T;
12413  stk2 = S | stk3;
12414  stk1 = *D & stk2;
12415  stk1 = ~stk1;
12416  *D = (stk1 & (~S)) | (*D & S);
12417}
12418
12419/* DSTnoan source/pattern transparent. */
12420static void rop3_117_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12421{
12422  unsigned char stk1;
12423  unsigned char stk2;
12424  unsigned char stk3;
12425  stk3 = ~T;
12426  stk2 = S | stk3;
12427  stk1 = *D & stk2;
12428  stk1 = ~stk1;
12429  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12430}
12431
12432/* DSTnoan source/pattern opaque. */
12433static unsigned xrop3_117_0_0 (unsigned char s, unsigned char t)
12434{
12435  unsigned D = 0x00ff;
12436  unsigned S = ((unsigned)s << 8) | s;
12437  unsigned T = ((unsigned)t << 8) | t;
12438  unsigned stk1;
12439  unsigned stk2;
12440  unsigned stk3;
12441  stk3 = ~T;
12442  stk2 = S | stk3;
12443  stk1 = D & stk2;
12444  stk1 = ~stk1;
12445  return stk1;
12446}
12447
12448/* DSTnoan source opaque/pattern transparent. */
12449static unsigned xrop3_117_0_1 (unsigned char s, unsigned char t)
12450{
12451  unsigned D = 0x00ff;
12452  unsigned S = ((unsigned)s << 8) | s;
12453  unsigned T = ((unsigned)t << 8) | t;
12454  unsigned stk1;
12455  unsigned stk2;
12456  unsigned stk3;
12457  stk3 = ~T;
12458  stk2 = S | stk3;
12459  stk1 = D & stk2;
12460  stk1 = ~stk1;
12461  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12462}
12463
12464/* DSTnoan source transparent/pattern opaque. */
12465static unsigned xrop3_117_1_0 (unsigned char s, unsigned char t)
12466{
12467  unsigned D = 0x00ff;
12468  unsigned S = ((unsigned)s << 8) | s;
12469  unsigned T = ((unsigned)t << 8) | t;
12470  unsigned stk1;
12471  unsigned stk2;
12472  unsigned stk3;
12473  stk3 = ~T;
12474  stk2 = S | stk3;
12475  stk1 = D & stk2;
12476  stk1 = ~stk1;
12477  return (stk1 & (~S)) | (D & S);
12478}
12479
12480/* DSTnoan source/pattern transparent. */
12481static unsigned xrop3_117_1_1 (unsigned char s, unsigned char t)
12482{
12483  unsigned D = 0x00ff;
12484  unsigned S = ((unsigned)s << 8) | s;
12485  unsigned T = ((unsigned)t << 8) | t;
12486  unsigned stk1;
12487  unsigned stk2;
12488  unsigned stk3;
12489  stk3 = ~T;
12490  stk2 = S | stk3;
12491  stk1 = D & stk2;
12492  stk1 = ~stk1;
12493  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12494}
12495
12496/* SDTSnaox source/pattern opaque. */
12497static void rop3_118_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12498{
12499  unsigned char stk1;
12500  unsigned char stk2;
12501  unsigned char stk3;
12502  unsigned char stk4;
12503  stk4 = ~S;
12504  stk3 = T & stk4;
12505  stk2 = *D | stk3;
12506  stk1 = S ^ stk2;
12507  *D = stk1;
12508}
12509
12510/* SDTSnaox source opaque/pattern transparent. */
12511static void rop3_118_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12512{
12513  unsigned char stk1;
12514  unsigned char stk2;
12515  unsigned char stk3;
12516  unsigned char stk4;
12517  stk4 = ~S;
12518  stk3 = T & stk4;
12519  stk2 = *D | stk3;
12520  stk1 = S ^ stk2;
12521  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12522}
12523
12524/* SDTSnaox source transparent/pattern opaque. */
12525static void rop3_118_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12526{
12527  unsigned char stk1;
12528  unsigned char stk2;
12529  unsigned char stk3;
12530  unsigned char stk4;
12531  stk4 = ~S;
12532  stk3 = T & stk4;
12533  stk2 = *D | stk3;
12534  stk1 = S ^ stk2;
12535  *D = (stk1 & (~S)) | (*D & S);
12536}
12537
12538/* SDTSnaox source/pattern transparent. */
12539static void rop3_118_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12540{
12541  unsigned char stk1;
12542  unsigned char stk2;
12543  unsigned char stk3;
12544  unsigned char stk4;
12545  stk4 = ~S;
12546  stk3 = T & stk4;
12547  stk2 = *D | stk3;
12548  stk1 = S ^ stk2;
12549  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12550}
12551
12552/* SDTSnaox source/pattern opaque. */
12553static unsigned xrop3_118_0_0 (unsigned char s, unsigned char t)
12554{
12555  unsigned D = 0x00ff;
12556  unsigned S = ((unsigned)s << 8) | s;
12557  unsigned T = ((unsigned)t << 8) | t;
12558  unsigned stk1;
12559  unsigned stk2;
12560  unsigned stk3;
12561  unsigned stk4;
12562  stk4 = ~S;
12563  stk3 = T & stk4;
12564  stk2 = D | stk3;
12565  stk1 = S ^ stk2;
12566  return stk1;
12567}
12568
12569/* SDTSnaox source opaque/pattern transparent. */
12570static unsigned xrop3_118_0_1 (unsigned char s, unsigned char t)
12571{
12572  unsigned D = 0x00ff;
12573  unsigned S = ((unsigned)s << 8) | s;
12574  unsigned T = ((unsigned)t << 8) | t;
12575  unsigned stk1;
12576  unsigned stk2;
12577  unsigned stk3;
12578  unsigned stk4;
12579  stk4 = ~S;
12580  stk3 = T & stk4;
12581  stk2 = D | stk3;
12582  stk1 = S ^ stk2;
12583  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12584}
12585
12586/* SDTSnaox source transparent/pattern opaque. */
12587static unsigned xrop3_118_1_0 (unsigned char s, unsigned char t)
12588{
12589  unsigned D = 0x00ff;
12590  unsigned S = ((unsigned)s << 8) | s;
12591  unsigned T = ((unsigned)t << 8) | t;
12592  unsigned stk1;
12593  unsigned stk2;
12594  unsigned stk3;
12595  unsigned stk4;
12596  stk4 = ~S;
12597  stk3 = T & stk4;
12598  stk2 = D | stk3;
12599  stk1 = S ^ stk2;
12600  return (stk1 & (~S)) | (D & S);
12601}
12602
12603/* SDTSnaox source/pattern transparent. */
12604static unsigned xrop3_118_1_1 (unsigned char s, unsigned char t)
12605{
12606  unsigned D = 0x00ff;
12607  unsigned S = ((unsigned)s << 8) | s;
12608  unsigned T = ((unsigned)t << 8) | t;
12609  unsigned stk1;
12610  unsigned stk2;
12611  unsigned stk3;
12612  unsigned stk4;
12613  stk4 = ~S;
12614  stk3 = T & stk4;
12615  stk2 = D | stk3;
12616  stk1 = S ^ stk2;
12617  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12618}
12619
12620/* DSan source/pattern opaque. */
12621static void rop3_119_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12622{
12623  unsigned char stk1;
12624  stk1 = *D & S;
12625  stk1 = ~stk1;
12626  *D = stk1;
12627}
12628
12629/* DSan source opaque/pattern transparent. */
12630static void rop3_119_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12631{
12632  unsigned char stk1;
12633  stk1 = *D & S;
12634  stk1 = ~stk1;
12635  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12636}
12637
12638/* DSan source transparent/pattern opaque. */
12639static void rop3_119_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12640{
12641  unsigned char stk1;
12642  stk1 = *D & S;
12643  stk1 = ~stk1;
12644  *D = (stk1 & (~S)) | (*D & S);
12645}
12646
12647/* DSan source/pattern transparent. */
12648static void rop3_119_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12649{
12650  unsigned char stk1;
12651  stk1 = *D & S;
12652  stk1 = ~stk1;
12653  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12654}
12655
12656/* DSan source/pattern opaque. */
12657static unsigned xrop3_119_0_0 (unsigned char s, unsigned char t)
12658{
12659  unsigned D = 0x00ff;
12660  unsigned S = ((unsigned)s << 8) | s;
12661  unsigned stk1;
12662  stk1 = D & S;
12663  stk1 = ~stk1;
12664  return stk1;
12665}
12666
12667/* DSan source opaque/pattern transparent. */
12668static unsigned xrop3_119_0_1 (unsigned char s, unsigned char t)
12669{
12670  unsigned D = 0x00ff;
12671  unsigned S = ((unsigned)s << 8) | s;
12672  unsigned T = ((unsigned)t << 8) | t;
12673  unsigned stk1;
12674  stk1 = D & S;
12675  stk1 = ~stk1;
12676  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12677}
12678
12679/* DSan source transparent/pattern opaque. */
12680static unsigned xrop3_119_1_0 (unsigned char s, unsigned char t)
12681{
12682  unsigned D = 0x00ff;
12683  unsigned S = ((unsigned)s << 8) | s;
12684  unsigned stk1;
12685  stk1 = D & S;
12686  stk1 = ~stk1;
12687  return (stk1 & (~S)) | (D & S);
12688}
12689
12690/* DSan source/pattern transparent. */
12691static unsigned xrop3_119_1_1 (unsigned char s, unsigned char t)
12692{
12693  unsigned D = 0x00ff;
12694  unsigned S = ((unsigned)s << 8) | s;
12695  unsigned T = ((unsigned)t << 8) | t;
12696  unsigned stk1;
12697  stk1 = D & S;
12698  stk1 = ~stk1;
12699  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12700}
12701
12702/* TDSax source/pattern opaque. */
12703static void rop3_120_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12704{
12705  unsigned char stk1;
12706  unsigned char stk2;
12707  stk2 = *D & S;
12708  stk1 = T ^ stk2;
12709  *D = stk1;
12710}
12711
12712/* TDSax source opaque/pattern transparent. */
12713static void rop3_120_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12714{
12715  unsigned char stk1;
12716  unsigned char stk2;
12717  stk2 = *D & S;
12718  stk1 = T ^ stk2;
12719  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12720}
12721
12722/* TDSax source transparent/pattern opaque. */
12723static void rop3_120_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12724{
12725  unsigned char stk1;
12726  unsigned char stk2;
12727  stk2 = *D & S;
12728  stk1 = T ^ stk2;
12729  *D = (stk1 & (~S)) | (*D & S);
12730}
12731
12732/* TDSax source/pattern transparent. */
12733static void rop3_120_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12734{
12735  unsigned char stk1;
12736  unsigned char stk2;
12737  stk2 = *D & S;
12738  stk1 = T ^ stk2;
12739  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12740}
12741
12742/* TDSax source/pattern opaque. */
12743static unsigned xrop3_120_0_0 (unsigned char s, unsigned char t)
12744{
12745  unsigned D = 0x00ff;
12746  unsigned S = ((unsigned)s << 8) | s;
12747  unsigned T = ((unsigned)t << 8) | t;
12748  unsigned stk1;
12749  unsigned stk2;
12750  stk2 = D & S;
12751  stk1 = T ^ stk2;
12752  return stk1;
12753}
12754
12755/* TDSax source opaque/pattern transparent. */
12756static unsigned xrop3_120_0_1 (unsigned char s, unsigned char t)
12757{
12758  unsigned D = 0x00ff;
12759  unsigned S = ((unsigned)s << 8) | s;
12760  unsigned T = ((unsigned)t << 8) | t;
12761  unsigned stk1;
12762  unsigned stk2;
12763  stk2 = D & S;
12764  stk1 = T ^ stk2;
12765  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12766}
12767
12768/* TDSax source transparent/pattern opaque. */
12769static unsigned xrop3_120_1_0 (unsigned char s, unsigned char t)
12770{
12771  unsigned D = 0x00ff;
12772  unsigned S = ((unsigned)s << 8) | s;
12773  unsigned T = ((unsigned)t << 8) | t;
12774  unsigned stk1;
12775  unsigned stk2;
12776  stk2 = D & S;
12777  stk1 = T ^ stk2;
12778  return (stk1 & (~S)) | (D & S);
12779}
12780
12781/* TDSax source/pattern transparent. */
12782static unsigned xrop3_120_1_1 (unsigned char s, unsigned char t)
12783{
12784  unsigned D = 0x00ff;
12785  unsigned S = ((unsigned)s << 8) | s;
12786  unsigned T = ((unsigned)t << 8) | t;
12787  unsigned stk1;
12788  unsigned stk2;
12789  stk2 = D & S;
12790  stk1 = T ^ stk2;
12791  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12792}
12793
12794/* DSTDSoaxxn source/pattern opaque. */
12795static void rop3_121_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12796{
12797  unsigned char stk1;
12798  unsigned char stk2;
12799  unsigned char stk3;
12800  unsigned char stk4;
12801  stk4 = *D | S;
12802  stk3 = T & stk4;
12803  stk2 = S ^ stk3;
12804  stk1 = *D ^ stk2;
12805  stk1 = ~stk1;
12806  *D = stk1;
12807}
12808
12809/* DSTDSoaxxn source opaque/pattern transparent. */
12810static void rop3_121_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12811{
12812  unsigned char stk1;
12813  unsigned char stk2;
12814  unsigned char stk3;
12815  unsigned char stk4;
12816  stk4 = *D | S;
12817  stk3 = T & stk4;
12818  stk2 = S ^ stk3;
12819  stk1 = *D ^ stk2;
12820  stk1 = ~stk1;
12821  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12822}
12823
12824/* DSTDSoaxxn source transparent/pattern opaque. */
12825static void rop3_121_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12826{
12827  unsigned char stk1;
12828  unsigned char stk2;
12829  unsigned char stk3;
12830  unsigned char stk4;
12831  stk4 = *D | S;
12832  stk3 = T & stk4;
12833  stk2 = S ^ stk3;
12834  stk1 = *D ^ stk2;
12835  stk1 = ~stk1;
12836  *D = (stk1 & (~S)) | (*D & S);
12837}
12838
12839/* DSTDSoaxxn source/pattern transparent. */
12840static void rop3_121_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12841{
12842  unsigned char stk1;
12843  unsigned char stk2;
12844  unsigned char stk3;
12845  unsigned char stk4;
12846  stk4 = *D | S;
12847  stk3 = T & stk4;
12848  stk2 = S ^ stk3;
12849  stk1 = *D ^ stk2;
12850  stk1 = ~stk1;
12851  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12852}
12853
12854/* DSTDSoaxxn source/pattern opaque. */
12855static unsigned xrop3_121_0_0 (unsigned char s, unsigned char t)
12856{
12857  unsigned D = 0x00ff;
12858  unsigned S = ((unsigned)s << 8) | s;
12859  unsigned T = ((unsigned)t << 8) | t;
12860  unsigned stk1;
12861  unsigned stk2;
12862  unsigned stk3;
12863  unsigned stk4;
12864  stk4 = D | S;
12865  stk3 = T & stk4;
12866  stk2 = S ^ stk3;
12867  stk1 = D ^ stk2;
12868  stk1 = ~stk1;
12869  return stk1;
12870}
12871
12872/* DSTDSoaxxn source opaque/pattern transparent. */
12873static unsigned xrop3_121_0_1 (unsigned char s, unsigned char t)
12874{
12875  unsigned D = 0x00ff;
12876  unsigned S = ((unsigned)s << 8) | s;
12877  unsigned T = ((unsigned)t << 8) | t;
12878  unsigned stk1;
12879  unsigned stk2;
12880  unsigned stk3;
12881  unsigned stk4;
12882  stk4 = D | S;
12883  stk3 = T & stk4;
12884  stk2 = S ^ stk3;
12885  stk1 = D ^ stk2;
12886  stk1 = ~stk1;
12887  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
12888}
12889
12890/* DSTDSoaxxn source transparent/pattern opaque. */
12891static unsigned xrop3_121_1_0 (unsigned char s, unsigned char t)
12892{
12893  unsigned D = 0x00ff;
12894  unsigned S = ((unsigned)s << 8) | s;
12895  unsigned T = ((unsigned)t << 8) | t;
12896  unsigned stk1;
12897  unsigned stk2;
12898  unsigned stk3;
12899  unsigned stk4;
12900  stk4 = D | S;
12901  stk3 = T & stk4;
12902  stk2 = S ^ stk3;
12903  stk1 = D ^ stk2;
12904  stk1 = ~stk1;
12905  return (stk1 & (~S)) | (D & S);
12906}
12907
12908/* DSTDSoaxxn source/pattern transparent. */
12909static unsigned xrop3_121_1_1 (unsigned char s, unsigned char t)
12910{
12911  unsigned D = 0x00ff;
12912  unsigned S = ((unsigned)s << 8) | s;
12913  unsigned T = ((unsigned)t << 8) | t;
12914  unsigned stk1;
12915  unsigned stk2;
12916  unsigned stk3;
12917  unsigned stk4;
12918  stk4 = D | S;
12919  stk3 = T & stk4;
12920  stk2 = S ^ stk3;
12921  stk1 = D ^ stk2;
12922  stk1 = ~stk1;
12923  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
12924}
12925
12926/* DTSDnoax source/pattern opaque. */
12927static void rop3_122_0_0 (unsigned char *D, unsigned char S, unsigned char T)
12928{
12929  unsigned char stk1;
12930  unsigned char stk2;
12931  unsigned char stk3;
12932  unsigned char stk4;
12933  stk4 = ~*D;
12934  stk3 = S | stk4;
12935  stk2 = T & stk3;
12936  stk1 = *D ^ stk2;
12937  *D = stk1;
12938}
12939
12940/* DTSDnoax source opaque/pattern transparent. */
12941static void rop3_122_0_1 (unsigned char *D, unsigned char S, unsigned char T)
12942{
12943  unsigned char stk1;
12944  unsigned char stk2;
12945  unsigned char stk3;
12946  unsigned char stk4;
12947  stk4 = ~*D;
12948  stk3 = S | stk4;
12949  stk2 = T & stk3;
12950  stk1 = *D ^ stk2;
12951  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
12952}
12953
12954/* DTSDnoax source transparent/pattern opaque. */
12955static void rop3_122_1_0 (unsigned char *D, unsigned char S, unsigned char T)
12956{
12957  unsigned char stk1;
12958  unsigned char stk2;
12959  unsigned char stk3;
12960  unsigned char stk4;
12961  stk4 = ~*D;
12962  stk3 = S | stk4;
12963  stk2 = T & stk3;
12964  stk1 = *D ^ stk2;
12965  *D = (stk1 & (~S)) | (*D & S);
12966}
12967
12968/* DTSDnoax source/pattern transparent. */
12969static void rop3_122_1_1 (unsigned char *D, unsigned char S, unsigned char T)
12970{
12971  unsigned char stk1;
12972  unsigned char stk2;
12973  unsigned char stk3;
12974  unsigned char stk4;
12975  stk4 = ~*D;
12976  stk3 = S | stk4;
12977  stk2 = T & stk3;
12978  stk1 = *D ^ stk2;
12979  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
12980}
12981
12982/* DTSDnoax source/pattern opaque. */
12983static unsigned xrop3_122_0_0 (unsigned char s, unsigned char t)
12984{
12985  unsigned D = 0x00ff;
12986  unsigned S = ((unsigned)s << 8) | s;
12987  unsigned T = ((unsigned)t << 8) | t;
12988  unsigned stk1;
12989  unsigned stk2;
12990  unsigned stk3;
12991  unsigned stk4;
12992  stk4 = ~D;
12993  stk3 = S | stk4;
12994  stk2 = T & stk3;
12995  stk1 = D ^ stk2;
12996  return stk1;
12997}
12998
12999/* DTSDnoax source opaque/pattern transparent. */
13000static unsigned xrop3_122_0_1 (unsigned char s, unsigned char t)
13001{
13002  unsigned D = 0x00ff;
13003  unsigned S = ((unsigned)s << 8) | s;
13004  unsigned T = ((unsigned)t << 8) | t;
13005  unsigned stk1;
13006  unsigned stk2;
13007  unsigned stk3;
13008  unsigned stk4;
13009  stk4 = ~D;
13010  stk3 = S | stk4;
13011  stk2 = T & stk3;
13012  stk1 = D ^ stk2;
13013  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13014}
13015
13016/* DTSDnoax source transparent/pattern opaque. */
13017static unsigned xrop3_122_1_0 (unsigned char s, unsigned char t)
13018{
13019  unsigned D = 0x00ff;
13020  unsigned S = ((unsigned)s << 8) | s;
13021  unsigned T = ((unsigned)t << 8) | t;
13022  unsigned stk1;
13023  unsigned stk2;
13024  unsigned stk3;
13025  unsigned stk4;
13026  stk4 = ~D;
13027  stk3 = S | stk4;
13028  stk2 = T & stk3;
13029  stk1 = D ^ stk2;
13030  return (stk1 & (~S)) | (D & S);
13031}
13032
13033/* DTSDnoax source/pattern transparent. */
13034static unsigned xrop3_122_1_1 (unsigned char s, unsigned char t)
13035{
13036  unsigned D = 0x00ff;
13037  unsigned S = ((unsigned)s << 8) | s;
13038  unsigned T = ((unsigned)t << 8) | t;
13039  unsigned stk1;
13040  unsigned stk2;
13041  unsigned stk3;
13042  unsigned stk4;
13043  stk4 = ~D;
13044  stk3 = S | stk4;
13045  stk2 = T & stk3;
13046  stk1 = D ^ stk2;
13047  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13048}
13049
13050/* SDTxnan source/pattern opaque. */
13051static void rop3_123_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13052{
13053  unsigned char stk1;
13054  unsigned char stk2;
13055  stk2 = *D ^ T;
13056  stk2 = ~stk2;
13057  stk1 = S & stk2;
13058  stk1 = ~stk1;
13059  *D = stk1;
13060}
13061
13062/* SDTxnan source opaque/pattern transparent. */
13063static void rop3_123_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13064{
13065  unsigned char stk1;
13066  unsigned char stk2;
13067  stk2 = *D ^ T;
13068  stk2 = ~stk2;
13069  stk1 = S & stk2;
13070  stk1 = ~stk1;
13071  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13072}
13073
13074/* SDTxnan source transparent/pattern opaque. */
13075static void rop3_123_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13076{
13077  unsigned char stk1;
13078  unsigned char stk2;
13079  stk2 = *D ^ T;
13080  stk2 = ~stk2;
13081  stk1 = S & stk2;
13082  stk1 = ~stk1;
13083  *D = (stk1 & (~S)) | (*D & S);
13084}
13085
13086/* SDTxnan source/pattern transparent. */
13087static void rop3_123_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13088{
13089  unsigned char stk1;
13090  unsigned char stk2;
13091  stk2 = *D ^ T;
13092  stk2 = ~stk2;
13093  stk1 = S & stk2;
13094  stk1 = ~stk1;
13095  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13096}
13097
13098/* SDTxnan source/pattern opaque. */
13099static unsigned xrop3_123_0_0 (unsigned char s, unsigned char t)
13100{
13101  unsigned D = 0x00ff;
13102  unsigned S = ((unsigned)s << 8) | s;
13103  unsigned T = ((unsigned)t << 8) | t;
13104  unsigned stk1;
13105  unsigned stk2;
13106  stk2 = D ^ T;
13107  stk2 = ~stk2;
13108  stk1 = S & stk2;
13109  stk1 = ~stk1;
13110  return stk1;
13111}
13112
13113/* SDTxnan source opaque/pattern transparent. */
13114static unsigned xrop3_123_0_1 (unsigned char s, unsigned char t)
13115{
13116  unsigned D = 0x00ff;
13117  unsigned S = ((unsigned)s << 8) | s;
13118  unsigned T = ((unsigned)t << 8) | t;
13119  unsigned stk1;
13120  unsigned stk2;
13121  stk2 = D ^ T;
13122  stk2 = ~stk2;
13123  stk1 = S & stk2;
13124  stk1 = ~stk1;
13125  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13126}
13127
13128/* SDTxnan source transparent/pattern opaque. */
13129static unsigned xrop3_123_1_0 (unsigned char s, unsigned char t)
13130{
13131  unsigned D = 0x00ff;
13132  unsigned S = ((unsigned)s << 8) | s;
13133  unsigned T = ((unsigned)t << 8) | t;
13134  unsigned stk1;
13135  unsigned stk2;
13136  stk2 = D ^ T;
13137  stk2 = ~stk2;
13138  stk1 = S & stk2;
13139  stk1 = ~stk1;
13140  return (stk1 & (~S)) | (D & S);
13141}
13142
13143/* SDTxnan source/pattern transparent. */
13144static unsigned xrop3_123_1_1 (unsigned char s, unsigned char t)
13145{
13146  unsigned D = 0x00ff;
13147  unsigned S = ((unsigned)s << 8) | s;
13148  unsigned T = ((unsigned)t << 8) | t;
13149  unsigned stk1;
13150  unsigned stk2;
13151  stk2 = D ^ T;
13152  stk2 = ~stk2;
13153  stk1 = S & stk2;
13154  stk1 = ~stk1;
13155  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13156}
13157
13158/* STDSnoax source/pattern opaque. */
13159static void rop3_124_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13160{
13161  unsigned char stk1;
13162  unsigned char stk2;
13163  unsigned char stk3;
13164  unsigned char stk4;
13165  stk4 = ~S;
13166  stk3 = *D | stk4;
13167  stk2 = T & stk3;
13168  stk1 = S ^ stk2;
13169  *D = stk1;
13170}
13171
13172/* STDSnoax source opaque/pattern transparent. */
13173static void rop3_124_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13174{
13175  unsigned char stk1;
13176  unsigned char stk2;
13177  unsigned char stk3;
13178  unsigned char stk4;
13179  stk4 = ~S;
13180  stk3 = *D | stk4;
13181  stk2 = T & stk3;
13182  stk1 = S ^ stk2;
13183  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13184}
13185
13186/* STDSnoax source transparent/pattern opaque. */
13187static void rop3_124_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13188{
13189  unsigned char stk1;
13190  unsigned char stk2;
13191  unsigned char stk3;
13192  unsigned char stk4;
13193  stk4 = ~S;
13194  stk3 = *D | stk4;
13195  stk2 = T & stk3;
13196  stk1 = S ^ stk2;
13197  *D = (stk1 & (~S)) | (*D & S);
13198}
13199
13200/* STDSnoax source/pattern transparent. */
13201static void rop3_124_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13202{
13203  unsigned char stk1;
13204  unsigned char stk2;
13205  unsigned char stk3;
13206  unsigned char stk4;
13207  stk4 = ~S;
13208  stk3 = *D | stk4;
13209  stk2 = T & stk3;
13210  stk1 = S ^ stk2;
13211  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13212}
13213
13214/* STDSnoax source/pattern opaque. */
13215static unsigned xrop3_124_0_0 (unsigned char s, unsigned char t)
13216{
13217  unsigned D = 0x00ff;
13218  unsigned S = ((unsigned)s << 8) | s;
13219  unsigned T = ((unsigned)t << 8) | t;
13220  unsigned stk1;
13221  unsigned stk2;
13222  unsigned stk3;
13223  unsigned stk4;
13224  stk4 = ~S;
13225  stk3 = D | stk4;
13226  stk2 = T & stk3;
13227  stk1 = S ^ stk2;
13228  return stk1;
13229}
13230
13231/* STDSnoax source opaque/pattern transparent. */
13232static unsigned xrop3_124_0_1 (unsigned char s, unsigned char t)
13233{
13234  unsigned D = 0x00ff;
13235  unsigned S = ((unsigned)s << 8) | s;
13236  unsigned T = ((unsigned)t << 8) | t;
13237  unsigned stk1;
13238  unsigned stk2;
13239  unsigned stk3;
13240  unsigned stk4;
13241  stk4 = ~S;
13242  stk3 = D | stk4;
13243  stk2 = T & stk3;
13244  stk1 = S ^ stk2;
13245  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13246}
13247
13248/* STDSnoax source transparent/pattern opaque. */
13249static unsigned xrop3_124_1_0 (unsigned char s, unsigned char t)
13250{
13251  unsigned D = 0x00ff;
13252  unsigned S = ((unsigned)s << 8) | s;
13253  unsigned T = ((unsigned)t << 8) | t;
13254  unsigned stk1;
13255  unsigned stk2;
13256  unsigned stk3;
13257  unsigned stk4;
13258  stk4 = ~S;
13259  stk3 = D | stk4;
13260  stk2 = T & stk3;
13261  stk1 = S ^ stk2;
13262  return (stk1 & (~S)) | (D & S);
13263}
13264
13265/* STDSnoax source/pattern transparent. */
13266static unsigned xrop3_124_1_1 (unsigned char s, unsigned char t)
13267{
13268  unsigned D = 0x00ff;
13269  unsigned S = ((unsigned)s << 8) | s;
13270  unsigned T = ((unsigned)t << 8) | t;
13271  unsigned stk1;
13272  unsigned stk2;
13273  unsigned stk3;
13274  unsigned stk4;
13275  stk4 = ~S;
13276  stk3 = D | stk4;
13277  stk2 = T & stk3;
13278  stk1 = S ^ stk2;
13279  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13280}
13281
13282/* DTSxnan source/pattern opaque. */
13283static void rop3_125_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13284{
13285  unsigned char stk1;
13286  unsigned char stk2;
13287  stk2 = T ^ S;
13288  stk2 = ~stk2;
13289  stk1 = *D & stk2;
13290  stk1 = ~stk1;
13291  *D = stk1;
13292}
13293
13294/* DTSxnan source opaque/pattern transparent. */
13295static void rop3_125_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13296{
13297  unsigned char stk1;
13298  unsigned char stk2;
13299  stk2 = T ^ S;
13300  stk2 = ~stk2;
13301  stk1 = *D & stk2;
13302  stk1 = ~stk1;
13303  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13304}
13305
13306/* DTSxnan source transparent/pattern opaque. */
13307static void rop3_125_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13308{
13309  unsigned char stk1;
13310  unsigned char stk2;
13311  stk2 = T ^ S;
13312  stk2 = ~stk2;
13313  stk1 = *D & stk2;
13314  stk1 = ~stk1;
13315  *D = (stk1 & (~S)) | (*D & S);
13316}
13317
13318/* DTSxnan source/pattern transparent. */
13319static void rop3_125_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13320{
13321  unsigned char stk1;
13322  unsigned char stk2;
13323  stk2 = T ^ S;
13324  stk2 = ~stk2;
13325  stk1 = *D & stk2;
13326  stk1 = ~stk1;
13327  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13328}
13329
13330/* DTSxnan source/pattern opaque. */
13331static unsigned xrop3_125_0_0 (unsigned char s, unsigned char t)
13332{
13333  unsigned D = 0x00ff;
13334  unsigned S = ((unsigned)s << 8) | s;
13335  unsigned T = ((unsigned)t << 8) | t;
13336  unsigned stk1;
13337  unsigned stk2;
13338  stk2 = T ^ S;
13339  stk2 = ~stk2;
13340  stk1 = D & stk2;
13341  stk1 = ~stk1;
13342  return stk1;
13343}
13344
13345/* DTSxnan source opaque/pattern transparent. */
13346static unsigned xrop3_125_0_1 (unsigned char s, unsigned char t)
13347{
13348  unsigned D = 0x00ff;
13349  unsigned S = ((unsigned)s << 8) | s;
13350  unsigned T = ((unsigned)t << 8) | t;
13351  unsigned stk1;
13352  unsigned stk2;
13353  stk2 = T ^ S;
13354  stk2 = ~stk2;
13355  stk1 = D & stk2;
13356  stk1 = ~stk1;
13357  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13358}
13359
13360/* DTSxnan source transparent/pattern opaque. */
13361static unsigned xrop3_125_1_0 (unsigned char s, unsigned char t)
13362{
13363  unsigned D = 0x00ff;
13364  unsigned S = ((unsigned)s << 8) | s;
13365  unsigned T = ((unsigned)t << 8) | t;
13366  unsigned stk1;
13367  unsigned stk2;
13368  stk2 = T ^ S;
13369  stk2 = ~stk2;
13370  stk1 = D & stk2;
13371  stk1 = ~stk1;
13372  return (stk1 & (~S)) | (D & S);
13373}
13374
13375/* DTSxnan source/pattern transparent. */
13376static unsigned xrop3_125_1_1 (unsigned char s, unsigned char t)
13377{
13378  unsigned D = 0x00ff;
13379  unsigned S = ((unsigned)s << 8) | s;
13380  unsigned T = ((unsigned)t << 8) | t;
13381  unsigned stk1;
13382  unsigned stk2;
13383  stk2 = T ^ S;
13384  stk2 = ~stk2;
13385  stk1 = D & stk2;
13386  stk1 = ~stk1;
13387  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13388}
13389
13390/* STxDSxo source/pattern opaque. */
13391static void rop3_126_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13392{
13393  unsigned char stk1;
13394  unsigned char stk2;
13395  stk1 = S ^ T;
13396  stk2 = *D ^ S;
13397  stk1 = stk1 | stk2;
13398  *D = stk1;
13399}
13400
13401/* STxDSxo source opaque/pattern transparent. */
13402static void rop3_126_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13403{
13404  unsigned char stk1;
13405  unsigned char stk2;
13406  stk1 = S ^ T;
13407  stk2 = *D ^ S;
13408  stk1 = stk1 | stk2;
13409  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13410}
13411
13412/* STxDSxo source transparent/pattern opaque. */
13413static void rop3_126_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13414{
13415  unsigned char stk1;
13416  unsigned char stk2;
13417  stk1 = S ^ T;
13418  stk2 = *D ^ S;
13419  stk1 = stk1 | stk2;
13420  *D = (stk1 & (~S)) | (*D & S);
13421}
13422
13423/* STxDSxo source/pattern transparent. */
13424static void rop3_126_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13425{
13426  unsigned char stk1;
13427  unsigned char stk2;
13428  stk1 = S ^ T;
13429  stk2 = *D ^ S;
13430  stk1 = stk1 | stk2;
13431  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13432}
13433
13434/* STxDSxo source/pattern opaque. */
13435static unsigned xrop3_126_0_0 (unsigned char s, unsigned char t)
13436{
13437  unsigned D = 0x00ff;
13438  unsigned S = ((unsigned)s << 8) | s;
13439  unsigned T = ((unsigned)t << 8) | t;
13440  unsigned stk1;
13441  unsigned stk2;
13442  stk1 = S ^ T;
13443  stk2 = D ^ S;
13444  stk1 = stk1 | stk2;
13445  return stk1;
13446}
13447
13448/* STxDSxo source opaque/pattern transparent. */
13449static unsigned xrop3_126_0_1 (unsigned char s, unsigned char t)
13450{
13451  unsigned D = 0x00ff;
13452  unsigned S = ((unsigned)s << 8) | s;
13453  unsigned T = ((unsigned)t << 8) | t;
13454  unsigned stk1;
13455  unsigned stk2;
13456  stk1 = S ^ T;
13457  stk2 = D ^ S;
13458  stk1 = stk1 | stk2;
13459  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13460}
13461
13462/* STxDSxo source transparent/pattern opaque. */
13463static unsigned xrop3_126_1_0 (unsigned char s, unsigned char t)
13464{
13465  unsigned D = 0x00ff;
13466  unsigned S = ((unsigned)s << 8) | s;
13467  unsigned T = ((unsigned)t << 8) | t;
13468  unsigned stk1;
13469  unsigned stk2;
13470  stk1 = S ^ T;
13471  stk2 = D ^ S;
13472  stk1 = stk1 | stk2;
13473  return (stk1 & (~S)) | (D & S);
13474}
13475
13476/* STxDSxo source/pattern transparent. */
13477static unsigned xrop3_126_1_1 (unsigned char s, unsigned char t)
13478{
13479  unsigned D = 0x00ff;
13480  unsigned S = ((unsigned)s << 8) | s;
13481  unsigned T = ((unsigned)t << 8) | t;
13482  unsigned stk1;
13483  unsigned stk2;
13484  stk1 = S ^ T;
13485  stk2 = D ^ S;
13486  stk1 = stk1 | stk2;
13487  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13488}
13489
13490/* DTSaan source/pattern opaque. */
13491static void rop3_127_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13492{
13493  unsigned char stk1;
13494  unsigned char stk2;
13495  stk2 = T & S;
13496  stk1 = *D & stk2;
13497  stk1 = ~stk1;
13498  *D = stk1;
13499}
13500
13501/* DTSaan source opaque/pattern transparent. */
13502static void rop3_127_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13503{
13504  unsigned char stk1;
13505  unsigned char stk2;
13506  stk2 = T & S;
13507  stk1 = *D & stk2;
13508  stk1 = ~stk1;
13509  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13510}
13511
13512/* DTSaan source transparent/pattern opaque. */
13513static void rop3_127_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13514{
13515  unsigned char stk1;
13516  unsigned char stk2;
13517  stk2 = T & S;
13518  stk1 = *D & stk2;
13519  stk1 = ~stk1;
13520  *D = (stk1 & (~S)) | (*D & S);
13521}
13522
13523/* DTSaan source/pattern transparent. */
13524static void rop3_127_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13525{
13526  unsigned char stk1;
13527  unsigned char stk2;
13528  stk2 = T & S;
13529  stk1 = *D & stk2;
13530  stk1 = ~stk1;
13531  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13532}
13533
13534/* DTSaan source/pattern opaque. */
13535static unsigned xrop3_127_0_0 (unsigned char s, unsigned char t)
13536{
13537  unsigned D = 0x00ff;
13538  unsigned S = ((unsigned)s << 8) | s;
13539  unsigned T = ((unsigned)t << 8) | t;
13540  unsigned stk1;
13541  unsigned stk2;
13542  stk2 = T & S;
13543  stk1 = D & stk2;
13544  stk1 = ~stk1;
13545  return stk1;
13546}
13547
13548/* DTSaan source opaque/pattern transparent. */
13549static unsigned xrop3_127_0_1 (unsigned char s, unsigned char t)
13550{
13551  unsigned D = 0x00ff;
13552  unsigned S = ((unsigned)s << 8) | s;
13553  unsigned T = ((unsigned)t << 8) | t;
13554  unsigned stk1;
13555  unsigned stk2;
13556  stk2 = T & S;
13557  stk1 = D & stk2;
13558  stk1 = ~stk1;
13559  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13560}
13561
13562/* DTSaan source transparent/pattern opaque. */
13563static unsigned xrop3_127_1_0 (unsigned char s, unsigned char t)
13564{
13565  unsigned D = 0x00ff;
13566  unsigned S = ((unsigned)s << 8) | s;
13567  unsigned T = ((unsigned)t << 8) | t;
13568  unsigned stk1;
13569  unsigned stk2;
13570  stk2 = T & S;
13571  stk1 = D & stk2;
13572  stk1 = ~stk1;
13573  return (stk1 & (~S)) | (D & S);
13574}
13575
13576/* DTSaan source/pattern transparent. */
13577static unsigned xrop3_127_1_1 (unsigned char s, unsigned char t)
13578{
13579  unsigned D = 0x00ff;
13580  unsigned S = ((unsigned)s << 8) | s;
13581  unsigned T = ((unsigned)t << 8) | t;
13582  unsigned stk1;
13583  unsigned stk2;
13584  stk2 = T & S;
13585  stk1 = D & stk2;
13586  stk1 = ~stk1;
13587  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13588}
13589
13590/* DTSaa source/pattern opaque. */
13591static void rop3_128_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13592{
13593  unsigned char stk1;
13594  unsigned char stk2;
13595  stk2 = T & S;
13596  stk1 = *D & stk2;
13597  *D = stk1;
13598}
13599
13600/* DTSaa source opaque/pattern transparent. */
13601static void rop3_128_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13602{
13603  unsigned char stk1;
13604  unsigned char stk2;
13605  stk2 = T & S;
13606  stk1 = *D & stk2;
13607  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13608}
13609
13610/* DTSaa source transparent/pattern opaque. */
13611static void rop3_128_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13612{
13613  unsigned char stk1;
13614  unsigned char stk2;
13615  stk2 = T & S;
13616  stk1 = *D & stk2;
13617  *D = (stk1 & (~S)) | (*D & S);
13618}
13619
13620/* DTSaa source/pattern transparent. */
13621static void rop3_128_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13622{
13623  unsigned char stk1;
13624  unsigned char stk2;
13625  stk2 = T & S;
13626  stk1 = *D & stk2;
13627  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13628}
13629
13630/* DTSaa source/pattern opaque. */
13631static unsigned xrop3_128_0_0 (unsigned char s, unsigned char t)
13632{
13633  unsigned D = 0x00ff;
13634  unsigned S = ((unsigned)s << 8) | s;
13635  unsigned T = ((unsigned)t << 8) | t;
13636  unsigned stk1;
13637  unsigned stk2;
13638  stk2 = T & S;
13639  stk1 = D & stk2;
13640  return stk1;
13641}
13642
13643/* DTSaa source opaque/pattern transparent. */
13644static unsigned xrop3_128_0_1 (unsigned char s, unsigned char t)
13645{
13646  unsigned D = 0x00ff;
13647  unsigned S = ((unsigned)s << 8) | s;
13648  unsigned T = ((unsigned)t << 8) | t;
13649  unsigned stk1;
13650  unsigned stk2;
13651  stk2 = T & S;
13652  stk1 = D & stk2;
13653  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13654}
13655
13656/* DTSaa source transparent/pattern opaque. */
13657static unsigned xrop3_128_1_0 (unsigned char s, unsigned char t)
13658{
13659  unsigned D = 0x00ff;
13660  unsigned S = ((unsigned)s << 8) | s;
13661  unsigned T = ((unsigned)t << 8) | t;
13662  unsigned stk1;
13663  unsigned stk2;
13664  stk2 = T & S;
13665  stk1 = D & stk2;
13666  return (stk1 & (~S)) | (D & S);
13667}
13668
13669/* DTSaa source/pattern transparent. */
13670static unsigned xrop3_128_1_1 (unsigned char s, unsigned char t)
13671{
13672  unsigned D = 0x00ff;
13673  unsigned S = ((unsigned)s << 8) | s;
13674  unsigned T = ((unsigned)t << 8) | t;
13675  unsigned stk1;
13676  unsigned stk2;
13677  stk2 = T & S;
13678  stk1 = D & stk2;
13679  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13680}
13681
13682/* STxDSxon source/pattern opaque. */
13683static void rop3_129_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13684{
13685  unsigned char stk1;
13686  unsigned char stk2;
13687  stk1 = S ^ T;
13688  stk2 = *D ^ S;
13689  stk1 = stk1 | stk2;
13690  stk1 = ~stk1;
13691  *D = stk1;
13692}
13693
13694/* STxDSxon source opaque/pattern transparent. */
13695static void rop3_129_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13696{
13697  unsigned char stk1;
13698  unsigned char stk2;
13699  stk1 = S ^ T;
13700  stk2 = *D ^ S;
13701  stk1 = stk1 | stk2;
13702  stk1 = ~stk1;
13703  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13704}
13705
13706/* STxDSxon source transparent/pattern opaque. */
13707static void rop3_129_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13708{
13709  unsigned char stk1;
13710  unsigned char stk2;
13711  stk1 = S ^ T;
13712  stk2 = *D ^ S;
13713  stk1 = stk1 | stk2;
13714  stk1 = ~stk1;
13715  *D = (stk1 & (~S)) | (*D & S);
13716}
13717
13718/* STxDSxon source/pattern transparent. */
13719static void rop3_129_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13720{
13721  unsigned char stk1;
13722  unsigned char stk2;
13723  stk1 = S ^ T;
13724  stk2 = *D ^ S;
13725  stk1 = stk1 | stk2;
13726  stk1 = ~stk1;
13727  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13728}
13729
13730/* STxDSxon source/pattern opaque. */
13731static unsigned xrop3_129_0_0 (unsigned char s, unsigned char t)
13732{
13733  unsigned D = 0x00ff;
13734  unsigned S = ((unsigned)s << 8) | s;
13735  unsigned T = ((unsigned)t << 8) | t;
13736  unsigned stk1;
13737  unsigned stk2;
13738  stk1 = S ^ T;
13739  stk2 = D ^ S;
13740  stk1 = stk1 | stk2;
13741  stk1 = ~stk1;
13742  return stk1;
13743}
13744
13745/* STxDSxon source opaque/pattern transparent. */
13746static unsigned xrop3_129_0_1 (unsigned char s, unsigned char t)
13747{
13748  unsigned D = 0x00ff;
13749  unsigned S = ((unsigned)s << 8) | s;
13750  unsigned T = ((unsigned)t << 8) | t;
13751  unsigned stk1;
13752  unsigned stk2;
13753  stk1 = S ^ T;
13754  stk2 = D ^ S;
13755  stk1 = stk1 | stk2;
13756  stk1 = ~stk1;
13757  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13758}
13759
13760/* STxDSxon source transparent/pattern opaque. */
13761static unsigned xrop3_129_1_0 (unsigned char s, unsigned char t)
13762{
13763  unsigned D = 0x00ff;
13764  unsigned S = ((unsigned)s << 8) | s;
13765  unsigned T = ((unsigned)t << 8) | t;
13766  unsigned stk1;
13767  unsigned stk2;
13768  stk1 = S ^ T;
13769  stk2 = D ^ S;
13770  stk1 = stk1 | stk2;
13771  stk1 = ~stk1;
13772  return (stk1 & (~S)) | (D & S);
13773}
13774
13775/* STxDSxon source/pattern transparent. */
13776static unsigned xrop3_129_1_1 (unsigned char s, unsigned char t)
13777{
13778  unsigned D = 0x00ff;
13779  unsigned S = ((unsigned)s << 8) | s;
13780  unsigned T = ((unsigned)t << 8) | t;
13781  unsigned stk1;
13782  unsigned stk2;
13783  stk1 = S ^ T;
13784  stk2 = D ^ S;
13785  stk1 = stk1 | stk2;
13786  stk1 = ~stk1;
13787  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13788}
13789
13790/* DTSxna source/pattern opaque. */
13791static void rop3_130_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13792{
13793  unsigned char stk1;
13794  unsigned char stk2;
13795  stk2 = T ^ S;
13796  stk2 = ~stk2;
13797  stk1 = *D & stk2;
13798  *D = stk1;
13799}
13800
13801/* DTSxna source opaque/pattern transparent. */
13802static void rop3_130_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13803{
13804  unsigned char stk1;
13805  unsigned char stk2;
13806  stk2 = T ^ S;
13807  stk2 = ~stk2;
13808  stk1 = *D & stk2;
13809  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13810}
13811
13812/* DTSxna source transparent/pattern opaque. */
13813static void rop3_130_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13814{
13815  unsigned char stk1;
13816  unsigned char stk2;
13817  stk2 = T ^ S;
13818  stk2 = ~stk2;
13819  stk1 = *D & stk2;
13820  *D = (stk1 & (~S)) | (*D & S);
13821}
13822
13823/* DTSxna source/pattern transparent. */
13824static void rop3_130_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13825{
13826  unsigned char stk1;
13827  unsigned char stk2;
13828  stk2 = T ^ S;
13829  stk2 = ~stk2;
13830  stk1 = *D & stk2;
13831  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13832}
13833
13834/* DTSxna source/pattern opaque. */
13835static unsigned xrop3_130_0_0 (unsigned char s, unsigned char t)
13836{
13837  unsigned D = 0x00ff;
13838  unsigned S = ((unsigned)s << 8) | s;
13839  unsigned T = ((unsigned)t << 8) | t;
13840  unsigned stk1;
13841  unsigned stk2;
13842  stk2 = T ^ S;
13843  stk2 = ~stk2;
13844  stk1 = D & stk2;
13845  return stk1;
13846}
13847
13848/* DTSxna source opaque/pattern transparent. */
13849static unsigned xrop3_130_0_1 (unsigned char s, unsigned char t)
13850{
13851  unsigned D = 0x00ff;
13852  unsigned S = ((unsigned)s << 8) | s;
13853  unsigned T = ((unsigned)t << 8) | t;
13854  unsigned stk1;
13855  unsigned stk2;
13856  stk2 = T ^ S;
13857  stk2 = ~stk2;
13858  stk1 = D & stk2;
13859  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13860}
13861
13862/* DTSxna source transparent/pattern opaque. */
13863static unsigned xrop3_130_1_0 (unsigned char s, unsigned char t)
13864{
13865  unsigned D = 0x00ff;
13866  unsigned S = ((unsigned)s << 8) | s;
13867  unsigned T = ((unsigned)t << 8) | t;
13868  unsigned stk1;
13869  unsigned stk2;
13870  stk2 = T ^ S;
13871  stk2 = ~stk2;
13872  stk1 = D & stk2;
13873  return (stk1 & (~S)) | (D & S);
13874}
13875
13876/* DTSxna source/pattern transparent. */
13877static unsigned xrop3_130_1_1 (unsigned char s, unsigned char t)
13878{
13879  unsigned D = 0x00ff;
13880  unsigned S = ((unsigned)s << 8) | s;
13881  unsigned T = ((unsigned)t << 8) | t;
13882  unsigned stk1;
13883  unsigned stk2;
13884  stk2 = T ^ S;
13885  stk2 = ~stk2;
13886  stk1 = D & stk2;
13887  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
13888}
13889
13890/* STDSnoaxn source/pattern opaque. */
13891static void rop3_131_0_0 (unsigned char *D, unsigned char S, unsigned char T)
13892{
13893  unsigned char stk1;
13894  unsigned char stk2;
13895  unsigned char stk3;
13896  unsigned char stk4;
13897  stk4 = ~S;
13898  stk3 = *D | stk4;
13899  stk2 = T & stk3;
13900  stk1 = S ^ stk2;
13901  stk1 = ~stk1;
13902  *D = stk1;
13903}
13904
13905/* STDSnoaxn source opaque/pattern transparent. */
13906static void rop3_131_0_1 (unsigned char *D, unsigned char S, unsigned char T)
13907{
13908  unsigned char stk1;
13909  unsigned char stk2;
13910  unsigned char stk3;
13911  unsigned char stk4;
13912  stk4 = ~S;
13913  stk3 = *D | stk4;
13914  stk2 = T & stk3;
13915  stk1 = S ^ stk2;
13916  stk1 = ~stk1;
13917  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
13918}
13919
13920/* STDSnoaxn source transparent/pattern opaque. */
13921static void rop3_131_1_0 (unsigned char *D, unsigned char S, unsigned char T)
13922{
13923  unsigned char stk1;
13924  unsigned char stk2;
13925  unsigned char stk3;
13926  unsigned char stk4;
13927  stk4 = ~S;
13928  stk3 = *D | stk4;
13929  stk2 = T & stk3;
13930  stk1 = S ^ stk2;
13931  stk1 = ~stk1;
13932  *D = (stk1 & (~S)) | (*D & S);
13933}
13934
13935/* STDSnoaxn source/pattern transparent. */
13936static void rop3_131_1_1 (unsigned char *D, unsigned char S, unsigned char T)
13937{
13938  unsigned char stk1;
13939  unsigned char stk2;
13940  unsigned char stk3;
13941  unsigned char stk4;
13942  stk4 = ~S;
13943  stk3 = *D | stk4;
13944  stk2 = T & stk3;
13945  stk1 = S ^ stk2;
13946  stk1 = ~stk1;
13947  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
13948}
13949
13950/* STDSnoaxn source/pattern opaque. */
13951static unsigned xrop3_131_0_0 (unsigned char s, unsigned char t)
13952{
13953  unsigned D = 0x00ff;
13954  unsigned S = ((unsigned)s << 8) | s;
13955  unsigned T = ((unsigned)t << 8) | t;
13956  unsigned stk1;
13957  unsigned stk2;
13958  unsigned stk3;
13959  unsigned stk4;
13960  stk4 = ~S;
13961  stk3 = D | stk4;
13962  stk2 = T & stk3;
13963  stk1 = S ^ stk2;
13964  stk1 = ~stk1;
13965  return stk1;
13966}
13967
13968/* STDSnoaxn source opaque/pattern transparent. */
13969static unsigned xrop3_131_0_1 (unsigned char s, unsigned char t)
13970{
13971  unsigned D = 0x00ff;
13972  unsigned S = ((unsigned)s << 8) | s;
13973  unsigned T = ((unsigned)t << 8) | t;
13974  unsigned stk1;
13975  unsigned stk2;
13976  unsigned stk3;
13977  unsigned stk4;
13978  stk4 = ~S;
13979  stk3 = D | stk4;
13980  stk2 = T & stk3;
13981  stk1 = S ^ stk2;
13982  stk1 = ~stk1;
13983  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
13984}
13985
13986/* STDSnoaxn source transparent/pattern opaque. */
13987static unsigned xrop3_131_1_0 (unsigned char s, unsigned char t)
13988{
13989  unsigned D = 0x00ff;
13990  unsigned S = ((unsigned)s << 8) | s;
13991  unsigned T = ((unsigned)t << 8) | t;
13992  unsigned stk1;
13993  unsigned stk2;
13994  unsigned stk3;
13995  unsigned stk4;
13996  stk4 = ~S;
13997  stk3 = D | stk4;
13998  stk2 = T & stk3;
13999  stk1 = S ^ stk2;
14000  stk1 = ~stk1;
14001  return (stk1 & (~S)) | (D & S);
14002}
14003
14004/* STDSnoaxn source/pattern transparent. */
14005static unsigned xrop3_131_1_1 (unsigned char s, unsigned char t)
14006{
14007  unsigned D = 0x00ff;
14008  unsigned S = ((unsigned)s << 8) | s;
14009  unsigned T = ((unsigned)t << 8) | t;
14010  unsigned stk1;
14011  unsigned stk2;
14012  unsigned stk3;
14013  unsigned stk4;
14014  stk4 = ~S;
14015  stk3 = D | stk4;
14016  stk2 = T & stk3;
14017  stk1 = S ^ stk2;
14018  stk1 = ~stk1;
14019  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14020}
14021
14022/* SDTxna source/pattern opaque. */
14023static void rop3_132_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14024{
14025  unsigned char stk1;
14026  unsigned char stk2;
14027  stk2 = *D ^ T;
14028  stk2 = ~stk2;
14029  stk1 = S & stk2;
14030  *D = stk1;
14031}
14032
14033/* SDTxna source opaque/pattern transparent. */
14034static void rop3_132_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14035{
14036  unsigned char stk1;
14037  unsigned char stk2;
14038  stk2 = *D ^ T;
14039  stk2 = ~stk2;
14040  stk1 = S & stk2;
14041  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14042}
14043
14044/* SDTxna source transparent/pattern opaque. */
14045static void rop3_132_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14046{
14047  unsigned char stk1;
14048  unsigned char stk2;
14049  stk2 = *D ^ T;
14050  stk2 = ~stk2;
14051  stk1 = S & stk2;
14052  *D = (stk1 & (~S)) | (*D & S);
14053}
14054
14055/* SDTxna source/pattern transparent. */
14056static void rop3_132_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14057{
14058  unsigned char stk1;
14059  unsigned char stk2;
14060  stk2 = *D ^ T;
14061  stk2 = ~stk2;
14062  stk1 = S & stk2;
14063  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14064}
14065
14066/* SDTxna source/pattern opaque. */
14067static unsigned xrop3_132_0_0 (unsigned char s, unsigned char t)
14068{
14069  unsigned D = 0x00ff;
14070  unsigned S = ((unsigned)s << 8) | s;
14071  unsigned T = ((unsigned)t << 8) | t;
14072  unsigned stk1;
14073  unsigned stk2;
14074  stk2 = D ^ T;
14075  stk2 = ~stk2;
14076  stk1 = S & stk2;
14077  return stk1;
14078}
14079
14080/* SDTxna source opaque/pattern transparent. */
14081static unsigned xrop3_132_0_1 (unsigned char s, unsigned char t)
14082{
14083  unsigned D = 0x00ff;
14084  unsigned S = ((unsigned)s << 8) | s;
14085  unsigned T = ((unsigned)t << 8) | t;
14086  unsigned stk1;
14087  unsigned stk2;
14088  stk2 = D ^ T;
14089  stk2 = ~stk2;
14090  stk1 = S & stk2;
14091  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14092}
14093
14094/* SDTxna source transparent/pattern opaque. */
14095static unsigned xrop3_132_1_0 (unsigned char s, unsigned char t)
14096{
14097  unsigned D = 0x00ff;
14098  unsigned S = ((unsigned)s << 8) | s;
14099  unsigned T = ((unsigned)t << 8) | t;
14100  unsigned stk1;
14101  unsigned stk2;
14102  stk2 = D ^ T;
14103  stk2 = ~stk2;
14104  stk1 = S & stk2;
14105  return (stk1 & (~S)) | (D & S);
14106}
14107
14108/* SDTxna source/pattern transparent. */
14109static unsigned xrop3_132_1_1 (unsigned char s, unsigned char t)
14110{
14111  unsigned D = 0x00ff;
14112  unsigned S = ((unsigned)s << 8) | s;
14113  unsigned T = ((unsigned)t << 8) | t;
14114  unsigned stk1;
14115  unsigned stk2;
14116  stk2 = D ^ T;
14117  stk2 = ~stk2;
14118  stk1 = S & stk2;
14119  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14120}
14121
14122/* TDSTnoaxn source/pattern opaque. */
14123static void rop3_133_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14124{
14125  unsigned char stk1;
14126  unsigned char stk2;
14127  unsigned char stk3;
14128  unsigned char stk4;
14129  stk4 = ~T;
14130  stk3 = S | stk4;
14131  stk2 = *D & stk3;
14132  stk1 = T ^ stk2;
14133  stk1 = ~stk1;
14134  *D = stk1;
14135}
14136
14137/* TDSTnoaxn source opaque/pattern transparent. */
14138static void rop3_133_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14139{
14140  unsigned char stk1;
14141  unsigned char stk2;
14142  unsigned char stk3;
14143  unsigned char stk4;
14144  stk4 = ~T;
14145  stk3 = S | stk4;
14146  stk2 = *D & stk3;
14147  stk1 = T ^ stk2;
14148  stk1 = ~stk1;
14149  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14150}
14151
14152/* TDSTnoaxn source transparent/pattern opaque. */
14153static void rop3_133_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14154{
14155  unsigned char stk1;
14156  unsigned char stk2;
14157  unsigned char stk3;
14158  unsigned char stk4;
14159  stk4 = ~T;
14160  stk3 = S | stk4;
14161  stk2 = *D & stk3;
14162  stk1 = T ^ stk2;
14163  stk1 = ~stk1;
14164  *D = (stk1 & (~S)) | (*D & S);
14165}
14166
14167/* TDSTnoaxn source/pattern transparent. */
14168static void rop3_133_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14169{
14170  unsigned char stk1;
14171  unsigned char stk2;
14172  unsigned char stk3;
14173  unsigned char stk4;
14174  stk4 = ~T;
14175  stk3 = S | stk4;
14176  stk2 = *D & stk3;
14177  stk1 = T ^ stk2;
14178  stk1 = ~stk1;
14179  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14180}
14181
14182/* TDSTnoaxn source/pattern opaque. */
14183static unsigned xrop3_133_0_0 (unsigned char s, unsigned char t)
14184{
14185  unsigned D = 0x00ff;
14186  unsigned S = ((unsigned)s << 8) | s;
14187  unsigned T = ((unsigned)t << 8) | t;
14188  unsigned stk1;
14189  unsigned stk2;
14190  unsigned stk3;
14191  unsigned stk4;
14192  stk4 = ~T;
14193  stk3 = S | stk4;
14194  stk2 = D & stk3;
14195  stk1 = T ^ stk2;
14196  stk1 = ~stk1;
14197  return stk1;
14198}
14199
14200/* TDSTnoaxn source opaque/pattern transparent. */
14201static unsigned xrop3_133_0_1 (unsigned char s, unsigned char t)
14202{
14203  unsigned D = 0x00ff;
14204  unsigned S = ((unsigned)s << 8) | s;
14205  unsigned T = ((unsigned)t << 8) | t;
14206  unsigned stk1;
14207  unsigned stk2;
14208  unsigned stk3;
14209  unsigned stk4;
14210  stk4 = ~T;
14211  stk3 = S | stk4;
14212  stk2 = D & stk3;
14213  stk1 = T ^ stk2;
14214  stk1 = ~stk1;
14215  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14216}
14217
14218/* TDSTnoaxn source transparent/pattern opaque. */
14219static unsigned xrop3_133_1_0 (unsigned char s, unsigned char t)
14220{
14221  unsigned D = 0x00ff;
14222  unsigned S = ((unsigned)s << 8) | s;
14223  unsigned T = ((unsigned)t << 8) | t;
14224  unsigned stk1;
14225  unsigned stk2;
14226  unsigned stk3;
14227  unsigned stk4;
14228  stk4 = ~T;
14229  stk3 = S | stk4;
14230  stk2 = D & stk3;
14231  stk1 = T ^ stk2;
14232  stk1 = ~stk1;
14233  return (stk1 & (~S)) | (D & S);
14234}
14235
14236/* TDSTnoaxn source/pattern transparent. */
14237static unsigned xrop3_133_1_1 (unsigned char s, unsigned char t)
14238{
14239  unsigned D = 0x00ff;
14240  unsigned S = ((unsigned)s << 8) | s;
14241  unsigned T = ((unsigned)t << 8) | t;
14242  unsigned stk1;
14243  unsigned stk2;
14244  unsigned stk3;
14245  unsigned stk4;
14246  stk4 = ~T;
14247  stk3 = S | stk4;
14248  stk2 = D & stk3;
14249  stk1 = T ^ stk2;
14250  stk1 = ~stk1;
14251  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14252}
14253
14254/* DSTDSoaxx source/pattern opaque. */
14255static void rop3_134_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14256{
14257  unsigned char stk1;
14258  unsigned char stk2;
14259  unsigned char stk3;
14260  unsigned char stk4;
14261  stk4 = *D | S;
14262  stk3 = T & stk4;
14263  stk2 = S ^ stk3;
14264  stk1 = *D ^ stk2;
14265  *D = stk1;
14266}
14267
14268/* DSTDSoaxx source opaque/pattern transparent. */
14269static void rop3_134_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14270{
14271  unsigned char stk1;
14272  unsigned char stk2;
14273  unsigned char stk3;
14274  unsigned char stk4;
14275  stk4 = *D | S;
14276  stk3 = T & stk4;
14277  stk2 = S ^ stk3;
14278  stk1 = *D ^ stk2;
14279  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14280}
14281
14282/* DSTDSoaxx source transparent/pattern opaque. */
14283static void rop3_134_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14284{
14285  unsigned char stk1;
14286  unsigned char stk2;
14287  unsigned char stk3;
14288  unsigned char stk4;
14289  stk4 = *D | S;
14290  stk3 = T & stk4;
14291  stk2 = S ^ stk3;
14292  stk1 = *D ^ stk2;
14293  *D = (stk1 & (~S)) | (*D & S);
14294}
14295
14296/* DSTDSoaxx source/pattern transparent. */
14297static void rop3_134_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14298{
14299  unsigned char stk1;
14300  unsigned char stk2;
14301  unsigned char stk3;
14302  unsigned char stk4;
14303  stk4 = *D | S;
14304  stk3 = T & stk4;
14305  stk2 = S ^ stk3;
14306  stk1 = *D ^ stk2;
14307  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14308}
14309
14310/* DSTDSoaxx source/pattern opaque. */
14311static unsigned xrop3_134_0_0 (unsigned char s, unsigned char t)
14312{
14313  unsigned D = 0x00ff;
14314  unsigned S = ((unsigned)s << 8) | s;
14315  unsigned T = ((unsigned)t << 8) | t;
14316  unsigned stk1;
14317  unsigned stk2;
14318  unsigned stk3;
14319  unsigned stk4;
14320  stk4 = D | S;
14321  stk3 = T & stk4;
14322  stk2 = S ^ stk3;
14323  stk1 = D ^ stk2;
14324  return stk1;
14325}
14326
14327/* DSTDSoaxx source opaque/pattern transparent. */
14328static unsigned xrop3_134_0_1 (unsigned char s, unsigned char t)
14329{
14330  unsigned D = 0x00ff;
14331  unsigned S = ((unsigned)s << 8) | s;
14332  unsigned T = ((unsigned)t << 8) | t;
14333  unsigned stk1;
14334  unsigned stk2;
14335  unsigned stk3;
14336  unsigned stk4;
14337  stk4 = D | S;
14338  stk3 = T & stk4;
14339  stk2 = S ^ stk3;
14340  stk1 = D ^ stk2;
14341  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14342}
14343
14344/* DSTDSoaxx source transparent/pattern opaque. */
14345static unsigned xrop3_134_1_0 (unsigned char s, unsigned char t)
14346{
14347  unsigned D = 0x00ff;
14348  unsigned S = ((unsigned)s << 8) | s;
14349  unsigned T = ((unsigned)t << 8) | t;
14350  unsigned stk1;
14351  unsigned stk2;
14352  unsigned stk3;
14353  unsigned stk4;
14354  stk4 = D | S;
14355  stk3 = T & stk4;
14356  stk2 = S ^ stk3;
14357  stk1 = D ^ stk2;
14358  return (stk1 & (~S)) | (D & S);
14359}
14360
14361/* DSTDSoaxx source/pattern transparent. */
14362static unsigned xrop3_134_1_1 (unsigned char s, unsigned char t)
14363{
14364  unsigned D = 0x00ff;
14365  unsigned S = ((unsigned)s << 8) | s;
14366  unsigned T = ((unsigned)t << 8) | t;
14367  unsigned stk1;
14368  unsigned stk2;
14369  unsigned stk3;
14370  unsigned stk4;
14371  stk4 = D | S;
14372  stk3 = T & stk4;
14373  stk2 = S ^ stk3;
14374  stk1 = D ^ stk2;
14375  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14376}
14377
14378/* TDSaxn source/pattern opaque. */
14379static void rop3_135_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14380{
14381  unsigned char stk1;
14382  unsigned char stk2;
14383  stk2 = *D & S;
14384  stk1 = T ^ stk2;
14385  stk1 = ~stk1;
14386  *D = stk1;
14387}
14388
14389/* TDSaxn source opaque/pattern transparent. */
14390static void rop3_135_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14391{
14392  unsigned char stk1;
14393  unsigned char stk2;
14394  stk2 = *D & S;
14395  stk1 = T ^ stk2;
14396  stk1 = ~stk1;
14397  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14398}
14399
14400/* TDSaxn source transparent/pattern opaque. */
14401static void rop3_135_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14402{
14403  unsigned char stk1;
14404  unsigned char stk2;
14405  stk2 = *D & S;
14406  stk1 = T ^ stk2;
14407  stk1 = ~stk1;
14408  *D = (stk1 & (~S)) | (*D & S);
14409}
14410
14411/* TDSaxn source/pattern transparent. */
14412static void rop3_135_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14413{
14414  unsigned char stk1;
14415  unsigned char stk2;
14416  stk2 = *D & S;
14417  stk1 = T ^ stk2;
14418  stk1 = ~stk1;
14419  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14420}
14421
14422/* TDSaxn source/pattern opaque. */
14423static unsigned xrop3_135_0_0 (unsigned char s, unsigned char t)
14424{
14425  unsigned D = 0x00ff;
14426  unsigned S = ((unsigned)s << 8) | s;
14427  unsigned T = ((unsigned)t << 8) | t;
14428  unsigned stk1;
14429  unsigned stk2;
14430  stk2 = D & S;
14431  stk1 = T ^ stk2;
14432  stk1 = ~stk1;
14433  return stk1;
14434}
14435
14436/* TDSaxn source opaque/pattern transparent. */
14437static unsigned xrop3_135_0_1 (unsigned char s, unsigned char t)
14438{
14439  unsigned D = 0x00ff;
14440  unsigned S = ((unsigned)s << 8) | s;
14441  unsigned T = ((unsigned)t << 8) | t;
14442  unsigned stk1;
14443  unsigned stk2;
14444  stk2 = D & S;
14445  stk1 = T ^ stk2;
14446  stk1 = ~stk1;
14447  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14448}
14449
14450/* TDSaxn source transparent/pattern opaque. */
14451static unsigned xrop3_135_1_0 (unsigned char s, unsigned char t)
14452{
14453  unsigned D = 0x00ff;
14454  unsigned S = ((unsigned)s << 8) | s;
14455  unsigned T = ((unsigned)t << 8) | t;
14456  unsigned stk1;
14457  unsigned stk2;
14458  stk2 = D & S;
14459  stk1 = T ^ stk2;
14460  stk1 = ~stk1;
14461  return (stk1 & (~S)) | (D & S);
14462}
14463
14464/* TDSaxn source/pattern transparent. */
14465static unsigned xrop3_135_1_1 (unsigned char s, unsigned char t)
14466{
14467  unsigned D = 0x00ff;
14468  unsigned S = ((unsigned)s << 8) | s;
14469  unsigned T = ((unsigned)t << 8) | t;
14470  unsigned stk1;
14471  unsigned stk2;
14472  stk2 = D & S;
14473  stk1 = T ^ stk2;
14474  stk1 = ~stk1;
14475  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14476}
14477
14478/* DSa source/pattern opaque. */
14479static void rop3_136_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14480{
14481  unsigned char stk1;
14482  stk1 = *D & S;
14483  *D = stk1;
14484}
14485
14486/* DSa source opaque/pattern transparent. */
14487static void rop3_136_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14488{
14489  unsigned char stk1;
14490  stk1 = *D & S;
14491  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14492}
14493
14494/* DSa source transparent/pattern opaque. */
14495static void rop3_136_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14496{
14497  unsigned char stk1;
14498  stk1 = *D & S;
14499  *D = (stk1 & (~S)) | (*D & S);
14500}
14501
14502/* DSa source/pattern transparent. */
14503static void rop3_136_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14504{
14505  unsigned char stk1;
14506  stk1 = *D & S;
14507  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14508}
14509
14510/* DSa source/pattern opaque. */
14511static unsigned xrop3_136_0_0 (unsigned char s, unsigned char t)
14512{
14513  unsigned D = 0x00ff;
14514  unsigned S = ((unsigned)s << 8) | s;
14515  unsigned stk1;
14516  stk1 = D & S;
14517  return stk1;
14518}
14519
14520/* DSa source opaque/pattern transparent. */
14521static unsigned xrop3_136_0_1 (unsigned char s, unsigned char t)
14522{
14523  unsigned D = 0x00ff;
14524  unsigned S = ((unsigned)s << 8) | s;
14525  unsigned T = ((unsigned)t << 8) | t;
14526  unsigned stk1;
14527  stk1 = D & S;
14528  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14529}
14530
14531/* DSa source transparent/pattern opaque. */
14532static unsigned xrop3_136_1_0 (unsigned char s, unsigned char t)
14533{
14534  unsigned D = 0x00ff;
14535  unsigned S = ((unsigned)s << 8) | s;
14536  unsigned stk1;
14537  stk1 = D & S;
14538  return (stk1 & (~S)) | (D & S);
14539}
14540
14541/* DSa source/pattern transparent. */
14542static unsigned xrop3_136_1_1 (unsigned char s, unsigned char t)
14543{
14544  unsigned D = 0x00ff;
14545  unsigned S = ((unsigned)s << 8) | s;
14546  unsigned T = ((unsigned)t << 8) | t;
14547  unsigned stk1;
14548  stk1 = D & S;
14549  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14550}
14551
14552/* SDTSnaoxn source/pattern opaque. */
14553static void rop3_137_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14554{
14555  unsigned char stk1;
14556  unsigned char stk2;
14557  unsigned char stk3;
14558  unsigned char stk4;
14559  stk4 = ~S;
14560  stk3 = T & stk4;
14561  stk2 = *D | stk3;
14562  stk1 = S ^ stk2;
14563  stk1 = ~stk1;
14564  *D = stk1;
14565}
14566
14567/* SDTSnaoxn source opaque/pattern transparent. */
14568static void rop3_137_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14569{
14570  unsigned char stk1;
14571  unsigned char stk2;
14572  unsigned char stk3;
14573  unsigned char stk4;
14574  stk4 = ~S;
14575  stk3 = T & stk4;
14576  stk2 = *D | stk3;
14577  stk1 = S ^ stk2;
14578  stk1 = ~stk1;
14579  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14580}
14581
14582/* SDTSnaoxn source transparent/pattern opaque. */
14583static void rop3_137_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14584{
14585  unsigned char stk1;
14586  unsigned char stk2;
14587  unsigned char stk3;
14588  unsigned char stk4;
14589  stk4 = ~S;
14590  stk3 = T & stk4;
14591  stk2 = *D | stk3;
14592  stk1 = S ^ stk2;
14593  stk1 = ~stk1;
14594  *D = (stk1 & (~S)) | (*D & S);
14595}
14596
14597/* SDTSnaoxn source/pattern transparent. */
14598static void rop3_137_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14599{
14600  unsigned char stk1;
14601  unsigned char stk2;
14602  unsigned char stk3;
14603  unsigned char stk4;
14604  stk4 = ~S;
14605  stk3 = T & stk4;
14606  stk2 = *D | stk3;
14607  stk1 = S ^ stk2;
14608  stk1 = ~stk1;
14609  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14610}
14611
14612/* SDTSnaoxn source/pattern opaque. */
14613static unsigned xrop3_137_0_0 (unsigned char s, unsigned char t)
14614{
14615  unsigned D = 0x00ff;
14616  unsigned S = ((unsigned)s << 8) | s;
14617  unsigned T = ((unsigned)t << 8) | t;
14618  unsigned stk1;
14619  unsigned stk2;
14620  unsigned stk3;
14621  unsigned stk4;
14622  stk4 = ~S;
14623  stk3 = T & stk4;
14624  stk2 = D | stk3;
14625  stk1 = S ^ stk2;
14626  stk1 = ~stk1;
14627  return stk1;
14628}
14629
14630/* SDTSnaoxn source opaque/pattern transparent. */
14631static unsigned xrop3_137_0_1 (unsigned char s, unsigned char t)
14632{
14633  unsigned D = 0x00ff;
14634  unsigned S = ((unsigned)s << 8) | s;
14635  unsigned T = ((unsigned)t << 8) | t;
14636  unsigned stk1;
14637  unsigned stk2;
14638  unsigned stk3;
14639  unsigned stk4;
14640  stk4 = ~S;
14641  stk3 = T & stk4;
14642  stk2 = D | stk3;
14643  stk1 = S ^ stk2;
14644  stk1 = ~stk1;
14645  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14646}
14647
14648/* SDTSnaoxn source transparent/pattern opaque. */
14649static unsigned xrop3_137_1_0 (unsigned char s, unsigned char t)
14650{
14651  unsigned D = 0x00ff;
14652  unsigned S = ((unsigned)s << 8) | s;
14653  unsigned T = ((unsigned)t << 8) | t;
14654  unsigned stk1;
14655  unsigned stk2;
14656  unsigned stk3;
14657  unsigned stk4;
14658  stk4 = ~S;
14659  stk3 = T & stk4;
14660  stk2 = D | stk3;
14661  stk1 = S ^ stk2;
14662  stk1 = ~stk1;
14663  return (stk1 & (~S)) | (D & S);
14664}
14665
14666/* SDTSnaoxn source/pattern transparent. */
14667static unsigned xrop3_137_1_1 (unsigned char s, unsigned char t)
14668{
14669  unsigned D = 0x00ff;
14670  unsigned S = ((unsigned)s << 8) | s;
14671  unsigned T = ((unsigned)t << 8) | t;
14672  unsigned stk1;
14673  unsigned stk2;
14674  unsigned stk3;
14675  unsigned stk4;
14676  stk4 = ~S;
14677  stk3 = T & stk4;
14678  stk2 = D | stk3;
14679  stk1 = S ^ stk2;
14680  stk1 = ~stk1;
14681  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14682}
14683
14684/* DSTnoa source/pattern opaque. */
14685static void rop3_138_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14686{
14687  unsigned char stk1;
14688  unsigned char stk2;
14689  unsigned char stk3;
14690  stk3 = ~T;
14691  stk2 = S | stk3;
14692  stk1 = *D & stk2;
14693  *D = stk1;
14694}
14695
14696/* DSTnoa source opaque/pattern transparent. */
14697static void rop3_138_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14698{
14699  unsigned char stk1;
14700  unsigned char stk2;
14701  unsigned char stk3;
14702  stk3 = ~T;
14703  stk2 = S | stk3;
14704  stk1 = *D & stk2;
14705  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14706}
14707
14708/* DSTnoa source transparent/pattern opaque. */
14709static void rop3_138_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14710{
14711  unsigned char stk1;
14712  unsigned char stk2;
14713  unsigned char stk3;
14714  stk3 = ~T;
14715  stk2 = S | stk3;
14716  stk1 = *D & stk2;
14717  *D = (stk1 & (~S)) | (*D & S);
14718}
14719
14720/* DSTnoa source/pattern transparent. */
14721static void rop3_138_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14722{
14723  unsigned char stk1;
14724  unsigned char stk2;
14725  unsigned char stk3;
14726  stk3 = ~T;
14727  stk2 = S | stk3;
14728  stk1 = *D & stk2;
14729  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14730}
14731
14732/* DSTnoa source/pattern opaque. */
14733static unsigned xrop3_138_0_0 (unsigned char s, unsigned char t)
14734{
14735  unsigned D = 0x00ff;
14736  unsigned S = ((unsigned)s << 8) | s;
14737  unsigned T = ((unsigned)t << 8) | t;
14738  unsigned stk1;
14739  unsigned stk2;
14740  unsigned stk3;
14741  stk3 = ~T;
14742  stk2 = S | stk3;
14743  stk1 = D & stk2;
14744  return stk1;
14745}
14746
14747/* DSTnoa source opaque/pattern transparent. */
14748static unsigned xrop3_138_0_1 (unsigned char s, unsigned char t)
14749{
14750  unsigned D = 0x00ff;
14751  unsigned S = ((unsigned)s << 8) | s;
14752  unsigned T = ((unsigned)t << 8) | t;
14753  unsigned stk1;
14754  unsigned stk2;
14755  unsigned stk3;
14756  stk3 = ~T;
14757  stk2 = S | stk3;
14758  stk1 = D & stk2;
14759  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14760}
14761
14762/* DSTnoa source transparent/pattern opaque. */
14763static unsigned xrop3_138_1_0 (unsigned char s, unsigned char t)
14764{
14765  unsigned D = 0x00ff;
14766  unsigned S = ((unsigned)s << 8) | s;
14767  unsigned T = ((unsigned)t << 8) | t;
14768  unsigned stk1;
14769  unsigned stk2;
14770  unsigned stk3;
14771  stk3 = ~T;
14772  stk2 = S | stk3;
14773  stk1 = D & stk2;
14774  return (stk1 & (~S)) | (D & S);
14775}
14776
14777/* DSTnoa source/pattern transparent. */
14778static unsigned xrop3_138_1_1 (unsigned char s, unsigned char t)
14779{
14780  unsigned D = 0x00ff;
14781  unsigned S = ((unsigned)s << 8) | s;
14782  unsigned T = ((unsigned)t << 8) | t;
14783  unsigned stk1;
14784  unsigned stk2;
14785  unsigned stk3;
14786  stk3 = ~T;
14787  stk2 = S | stk3;
14788  stk1 = D & stk2;
14789  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14790}
14791
14792/* DSTDxoxn source/pattern opaque. */
14793static void rop3_139_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14794{
14795  unsigned char stk1;
14796  unsigned char stk2;
14797  unsigned char stk3;
14798  stk3 = T ^ *D;
14799  stk2 = S | stk3;
14800  stk1 = *D ^ stk2;
14801  stk1 = ~stk1;
14802  *D = stk1;
14803}
14804
14805/* DSTDxoxn source opaque/pattern transparent. */
14806static void rop3_139_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14807{
14808  unsigned char stk1;
14809  unsigned char stk2;
14810  unsigned char stk3;
14811  stk3 = T ^ *D;
14812  stk2 = S | stk3;
14813  stk1 = *D ^ stk2;
14814  stk1 = ~stk1;
14815  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14816}
14817
14818/* DSTDxoxn source transparent/pattern opaque. */
14819static void rop3_139_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14820{
14821  unsigned char stk1;
14822  unsigned char stk2;
14823  unsigned char stk3;
14824  stk3 = T ^ *D;
14825  stk2 = S | stk3;
14826  stk1 = *D ^ stk2;
14827  stk1 = ~stk1;
14828  *D = (stk1 & (~S)) | (*D & S);
14829}
14830
14831/* DSTDxoxn source/pattern transparent. */
14832static void rop3_139_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14833{
14834  unsigned char stk1;
14835  unsigned char stk2;
14836  unsigned char stk3;
14837  stk3 = T ^ *D;
14838  stk2 = S | stk3;
14839  stk1 = *D ^ stk2;
14840  stk1 = ~stk1;
14841  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14842}
14843
14844/* DSTDxoxn source/pattern opaque. */
14845static unsigned xrop3_139_0_0 (unsigned char s, unsigned char t)
14846{
14847  unsigned D = 0x00ff;
14848  unsigned S = ((unsigned)s << 8) | s;
14849  unsigned T = ((unsigned)t << 8) | t;
14850  unsigned stk1;
14851  unsigned stk2;
14852  unsigned stk3;
14853  stk3 = T ^ D;
14854  stk2 = S | stk3;
14855  stk1 = D ^ stk2;
14856  stk1 = ~stk1;
14857  return stk1;
14858}
14859
14860/* DSTDxoxn source opaque/pattern transparent. */
14861static unsigned xrop3_139_0_1 (unsigned char s, unsigned char t)
14862{
14863  unsigned D = 0x00ff;
14864  unsigned S = ((unsigned)s << 8) | s;
14865  unsigned T = ((unsigned)t << 8) | t;
14866  unsigned stk1;
14867  unsigned stk2;
14868  unsigned stk3;
14869  stk3 = T ^ D;
14870  stk2 = S | stk3;
14871  stk1 = D ^ stk2;
14872  stk1 = ~stk1;
14873  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14874}
14875
14876/* DSTDxoxn source transparent/pattern opaque. */
14877static unsigned xrop3_139_1_0 (unsigned char s, unsigned char t)
14878{
14879  unsigned D = 0x00ff;
14880  unsigned S = ((unsigned)s << 8) | s;
14881  unsigned T = ((unsigned)t << 8) | t;
14882  unsigned stk1;
14883  unsigned stk2;
14884  unsigned stk3;
14885  stk3 = T ^ D;
14886  stk2 = S | stk3;
14887  stk1 = D ^ stk2;
14888  stk1 = ~stk1;
14889  return (stk1 & (~S)) | (D & S);
14890}
14891
14892/* DSTDxoxn source/pattern transparent. */
14893static unsigned xrop3_139_1_1 (unsigned char s, unsigned char t)
14894{
14895  unsigned D = 0x00ff;
14896  unsigned S = ((unsigned)s << 8) | s;
14897  unsigned T = ((unsigned)t << 8) | t;
14898  unsigned stk1;
14899  unsigned stk2;
14900  unsigned stk3;
14901  stk3 = T ^ D;
14902  stk2 = S | stk3;
14903  stk1 = D ^ stk2;
14904  stk1 = ~stk1;
14905  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
14906}
14907
14908/* SDTnoa source/pattern opaque. */
14909static void rop3_140_0_0 (unsigned char *D, unsigned char S, unsigned char T)
14910{
14911  unsigned char stk1;
14912  unsigned char stk2;
14913  unsigned char stk3;
14914  stk3 = ~T;
14915  stk2 = *D | stk3;
14916  stk1 = S & stk2;
14917  *D = stk1;
14918}
14919
14920/* SDTnoa source opaque/pattern transparent. */
14921static void rop3_140_0_1 (unsigned char *D, unsigned char S, unsigned char T)
14922{
14923  unsigned char stk1;
14924  unsigned char stk2;
14925  unsigned char stk3;
14926  stk3 = ~T;
14927  stk2 = *D | stk3;
14928  stk1 = S & stk2;
14929  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
14930}
14931
14932/* SDTnoa source transparent/pattern opaque. */
14933static void rop3_140_1_0 (unsigned char *D, unsigned char S, unsigned char T)
14934{
14935  unsigned char stk1;
14936  unsigned char stk2;
14937  unsigned char stk3;
14938  stk3 = ~T;
14939  stk2 = *D | stk3;
14940  stk1 = S & stk2;
14941  *D = (stk1 & (~S)) | (*D & S);
14942}
14943
14944/* SDTnoa source/pattern transparent. */
14945static void rop3_140_1_1 (unsigned char *D, unsigned char S, unsigned char T)
14946{
14947  unsigned char stk1;
14948  unsigned char stk2;
14949  unsigned char stk3;
14950  stk3 = ~T;
14951  stk2 = *D | stk3;
14952  stk1 = S & stk2;
14953  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
14954}
14955
14956/* SDTnoa source/pattern opaque. */
14957static unsigned xrop3_140_0_0 (unsigned char s, unsigned char t)
14958{
14959  unsigned D = 0x00ff;
14960  unsigned S = ((unsigned)s << 8) | s;
14961  unsigned T = ((unsigned)t << 8) | t;
14962  unsigned stk1;
14963  unsigned stk2;
14964  unsigned stk3;
14965  stk3 = ~T;
14966  stk2 = D | stk3;
14967  stk1 = S & stk2;
14968  return stk1;
14969}
14970
14971/* SDTnoa source opaque/pattern transparent. */
14972static unsigned xrop3_140_0_1 (unsigned char s, unsigned char t)
14973{
14974  unsigned D = 0x00ff;
14975  unsigned S = ((unsigned)s << 8) | s;
14976  unsigned T = ((unsigned)t << 8) | t;
14977  unsigned stk1;
14978  unsigned stk2;
14979  unsigned stk3;
14980  stk3 = ~T;
14981  stk2 = D | stk3;
14982  stk1 = S & stk2;
14983  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
14984}
14985
14986/* SDTnoa source transparent/pattern opaque. */
14987static unsigned xrop3_140_1_0 (unsigned char s, unsigned char t)
14988{
14989  unsigned D = 0x00ff;
14990  unsigned S = ((unsigned)s << 8) | s;
14991  unsigned T = ((unsigned)t << 8) | t;
14992  unsigned stk1;
14993  unsigned stk2;
14994  unsigned stk3;
14995  stk3 = ~T;
14996  stk2 = D | stk3;
14997  stk1 = S & stk2;
14998  return (stk1 & (~S)) | (D & S);
14999}
15000
15001/* SDTnoa source/pattern transparent. */
15002static unsigned xrop3_140_1_1 (unsigned char s, unsigned char t)
15003{
15004  unsigned D = 0x00ff;
15005  unsigned S = ((unsigned)s << 8) | s;
15006  unsigned T = ((unsigned)t << 8) | t;
15007  unsigned stk1;
15008  unsigned stk2;
15009  unsigned stk3;
15010  stk3 = ~T;
15011  stk2 = D | stk3;
15012  stk1 = S & stk2;
15013  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15014}
15015
15016/* SDTSxoxn source/pattern opaque. */
15017static void rop3_141_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15018{
15019  unsigned char stk1;
15020  unsigned char stk2;
15021  unsigned char stk3;
15022  stk3 = T ^ S;
15023  stk2 = *D | stk3;
15024  stk1 = S ^ stk2;
15025  stk1 = ~stk1;
15026  *D = stk1;
15027}
15028
15029/* SDTSxoxn source opaque/pattern transparent. */
15030static void rop3_141_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15031{
15032  unsigned char stk1;
15033  unsigned char stk2;
15034  unsigned char stk3;
15035  stk3 = T ^ S;
15036  stk2 = *D | stk3;
15037  stk1 = S ^ stk2;
15038  stk1 = ~stk1;
15039  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15040}
15041
15042/* SDTSxoxn source transparent/pattern opaque. */
15043static void rop3_141_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15044{
15045  unsigned char stk1;
15046  unsigned char stk2;
15047  unsigned char stk3;
15048  stk3 = T ^ S;
15049  stk2 = *D | stk3;
15050  stk1 = S ^ stk2;
15051  stk1 = ~stk1;
15052  *D = (stk1 & (~S)) | (*D & S);
15053}
15054
15055/* SDTSxoxn source/pattern transparent. */
15056static void rop3_141_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15057{
15058  unsigned char stk1;
15059  unsigned char stk2;
15060  unsigned char stk3;
15061  stk3 = T ^ S;
15062  stk2 = *D | stk3;
15063  stk1 = S ^ stk2;
15064  stk1 = ~stk1;
15065  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15066}
15067
15068/* SDTSxoxn source/pattern opaque. */
15069static unsigned xrop3_141_0_0 (unsigned char s, unsigned char t)
15070{
15071  unsigned D = 0x00ff;
15072  unsigned S = ((unsigned)s << 8) | s;
15073  unsigned T = ((unsigned)t << 8) | t;
15074  unsigned stk1;
15075  unsigned stk2;
15076  unsigned stk3;
15077  stk3 = T ^ S;
15078  stk2 = D | stk3;
15079  stk1 = S ^ stk2;
15080  stk1 = ~stk1;
15081  return stk1;
15082}
15083
15084/* SDTSxoxn source opaque/pattern transparent. */
15085static unsigned xrop3_141_0_1 (unsigned char s, unsigned char t)
15086{
15087  unsigned D = 0x00ff;
15088  unsigned S = ((unsigned)s << 8) | s;
15089  unsigned T = ((unsigned)t << 8) | t;
15090  unsigned stk1;
15091  unsigned stk2;
15092  unsigned stk3;
15093  stk3 = T ^ S;
15094  stk2 = D | stk3;
15095  stk1 = S ^ stk2;
15096  stk1 = ~stk1;
15097  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15098}
15099
15100/* SDTSxoxn source transparent/pattern opaque. */
15101static unsigned xrop3_141_1_0 (unsigned char s, unsigned char t)
15102{
15103  unsigned D = 0x00ff;
15104  unsigned S = ((unsigned)s << 8) | s;
15105  unsigned T = ((unsigned)t << 8) | t;
15106  unsigned stk1;
15107  unsigned stk2;
15108  unsigned stk3;
15109  stk3 = T ^ S;
15110  stk2 = D | stk3;
15111  stk1 = S ^ stk2;
15112  stk1 = ~stk1;
15113  return (stk1 & (~S)) | (D & S);
15114}
15115
15116/* SDTSxoxn source/pattern transparent. */
15117static unsigned xrop3_141_1_1 (unsigned char s, unsigned char t)
15118{
15119  unsigned D = 0x00ff;
15120  unsigned S = ((unsigned)s << 8) | s;
15121  unsigned T = ((unsigned)t << 8) | t;
15122  unsigned stk1;
15123  unsigned stk2;
15124  unsigned stk3;
15125  stk3 = T ^ S;
15126  stk2 = D | stk3;
15127  stk1 = S ^ stk2;
15128  stk1 = ~stk1;
15129  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15130}
15131
15132/* SSDxTDxax source/pattern opaque. */
15133static void rop3_142_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15134{
15135  unsigned char stk1;
15136  unsigned char stk2;
15137  unsigned char stk3;
15138  stk2 = S ^ *D;
15139  stk3 = T ^ *D;
15140  stk2 = stk2 & stk3;
15141  stk1 = S ^ stk2;
15142  *D = stk1;
15143}
15144
15145/* SSDxTDxax source opaque/pattern transparent. */
15146static void rop3_142_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15147{
15148  unsigned char stk1;
15149  unsigned char stk2;
15150  unsigned char stk3;
15151  stk2 = S ^ *D;
15152  stk3 = T ^ *D;
15153  stk2 = stk2 & stk3;
15154  stk1 = S ^ stk2;
15155  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15156}
15157
15158/* SSDxTDxax source transparent/pattern opaque. */
15159static void rop3_142_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15160{
15161  unsigned char stk1;
15162  unsigned char stk2;
15163  unsigned char stk3;
15164  stk2 = S ^ *D;
15165  stk3 = T ^ *D;
15166  stk2 = stk2 & stk3;
15167  stk1 = S ^ stk2;
15168  *D = (stk1 & (~S)) | (*D & S);
15169}
15170
15171/* SSDxTDxax source/pattern transparent. */
15172static void rop3_142_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15173{
15174  unsigned char stk1;
15175  unsigned char stk2;
15176  unsigned char stk3;
15177  stk2 = S ^ *D;
15178  stk3 = T ^ *D;
15179  stk2 = stk2 & stk3;
15180  stk1 = S ^ stk2;
15181  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15182}
15183
15184/* SSDxTDxax source/pattern opaque. */
15185static unsigned xrop3_142_0_0 (unsigned char s, unsigned char t)
15186{
15187  unsigned D = 0x00ff;
15188  unsigned S = ((unsigned)s << 8) | s;
15189  unsigned T = ((unsigned)t << 8) | t;
15190  unsigned stk1;
15191  unsigned stk2;
15192  unsigned stk3;
15193  stk2 = S ^ D;
15194  stk3 = T ^ D;
15195  stk2 = stk2 & stk3;
15196  stk1 = S ^ stk2;
15197  return stk1;
15198}
15199
15200/* SSDxTDxax source opaque/pattern transparent. */
15201static unsigned xrop3_142_0_1 (unsigned char s, unsigned char t)
15202{
15203  unsigned D = 0x00ff;
15204  unsigned S = ((unsigned)s << 8) | s;
15205  unsigned T = ((unsigned)t << 8) | t;
15206  unsigned stk1;
15207  unsigned stk2;
15208  unsigned stk3;
15209  stk2 = S ^ D;
15210  stk3 = T ^ D;
15211  stk2 = stk2 & stk3;
15212  stk1 = S ^ stk2;
15213  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15214}
15215
15216/* SSDxTDxax source transparent/pattern opaque. */
15217static unsigned xrop3_142_1_0 (unsigned char s, unsigned char t)
15218{
15219  unsigned D = 0x00ff;
15220  unsigned S = ((unsigned)s << 8) | s;
15221  unsigned T = ((unsigned)t << 8) | t;
15222  unsigned stk1;
15223  unsigned stk2;
15224  unsigned stk3;
15225  stk2 = S ^ D;
15226  stk3 = T ^ D;
15227  stk2 = stk2 & stk3;
15228  stk1 = S ^ stk2;
15229  return (stk1 & (~S)) | (D & S);
15230}
15231
15232/* SSDxTDxax source/pattern transparent. */
15233static unsigned xrop3_142_1_1 (unsigned char s, unsigned char t)
15234{
15235  unsigned D = 0x00ff;
15236  unsigned S = ((unsigned)s << 8) | s;
15237  unsigned T = ((unsigned)t << 8) | t;
15238  unsigned stk1;
15239  unsigned stk2;
15240  unsigned stk3;
15241  stk2 = S ^ D;
15242  stk3 = T ^ D;
15243  stk2 = stk2 & stk3;
15244  stk1 = S ^ stk2;
15245  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15246}
15247
15248/* TDSanan source/pattern opaque. */
15249static void rop3_143_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15250{
15251  unsigned char stk1;
15252  unsigned char stk2;
15253  stk2 = *D & S;
15254  stk2 = ~stk2;
15255  stk1 = T & stk2;
15256  stk1 = ~stk1;
15257  *D = stk1;
15258}
15259
15260/* TDSanan source opaque/pattern transparent. */
15261static void rop3_143_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15262{
15263  unsigned char stk1;
15264  unsigned char stk2;
15265  stk2 = *D & S;
15266  stk2 = ~stk2;
15267  stk1 = T & stk2;
15268  stk1 = ~stk1;
15269  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15270}
15271
15272/* TDSanan source transparent/pattern opaque. */
15273static void rop3_143_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15274{
15275  unsigned char stk1;
15276  unsigned char stk2;
15277  stk2 = *D & S;
15278  stk2 = ~stk2;
15279  stk1 = T & stk2;
15280  stk1 = ~stk1;
15281  *D = (stk1 & (~S)) | (*D & S);
15282}
15283
15284/* TDSanan source/pattern transparent. */
15285static void rop3_143_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15286{
15287  unsigned char stk1;
15288  unsigned char stk2;
15289  stk2 = *D & S;
15290  stk2 = ~stk2;
15291  stk1 = T & stk2;
15292  stk1 = ~stk1;
15293  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15294}
15295
15296/* TDSanan source/pattern opaque. */
15297static unsigned xrop3_143_0_0 (unsigned char s, unsigned char t)
15298{
15299  unsigned D = 0x00ff;
15300  unsigned S = ((unsigned)s << 8) | s;
15301  unsigned T = ((unsigned)t << 8) | t;
15302  unsigned stk1;
15303  unsigned stk2;
15304  stk2 = D & S;
15305  stk2 = ~stk2;
15306  stk1 = T & stk2;
15307  stk1 = ~stk1;
15308  return stk1;
15309}
15310
15311/* TDSanan source opaque/pattern transparent. */
15312static unsigned xrop3_143_0_1 (unsigned char s, unsigned char t)
15313{
15314  unsigned D = 0x00ff;
15315  unsigned S = ((unsigned)s << 8) | s;
15316  unsigned T = ((unsigned)t << 8) | t;
15317  unsigned stk1;
15318  unsigned stk2;
15319  stk2 = D & S;
15320  stk2 = ~stk2;
15321  stk1 = T & stk2;
15322  stk1 = ~stk1;
15323  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15324}
15325
15326/* TDSanan source transparent/pattern opaque. */
15327static unsigned xrop3_143_1_0 (unsigned char s, unsigned char t)
15328{
15329  unsigned D = 0x00ff;
15330  unsigned S = ((unsigned)s << 8) | s;
15331  unsigned T = ((unsigned)t << 8) | t;
15332  unsigned stk1;
15333  unsigned stk2;
15334  stk2 = D & S;
15335  stk2 = ~stk2;
15336  stk1 = T & stk2;
15337  stk1 = ~stk1;
15338  return (stk1 & (~S)) | (D & S);
15339}
15340
15341/* TDSanan source/pattern transparent. */
15342static unsigned xrop3_143_1_1 (unsigned char s, unsigned char t)
15343{
15344  unsigned D = 0x00ff;
15345  unsigned S = ((unsigned)s << 8) | s;
15346  unsigned T = ((unsigned)t << 8) | t;
15347  unsigned stk1;
15348  unsigned stk2;
15349  stk2 = D & S;
15350  stk2 = ~stk2;
15351  stk1 = T & stk2;
15352  stk1 = ~stk1;
15353  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15354}
15355
15356/* TDSxna source/pattern opaque. */
15357static void rop3_144_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15358{
15359  unsigned char stk1;
15360  unsigned char stk2;
15361  stk2 = *D ^ S;
15362  stk2 = ~stk2;
15363  stk1 = T & stk2;
15364  *D = stk1;
15365}
15366
15367/* TDSxna source opaque/pattern transparent. */
15368static void rop3_144_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15369{
15370  unsigned char stk1;
15371  unsigned char stk2;
15372  stk2 = *D ^ S;
15373  stk2 = ~stk2;
15374  stk1 = T & stk2;
15375  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15376}
15377
15378/* TDSxna source transparent/pattern opaque. */
15379static void rop3_144_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15380{
15381  unsigned char stk1;
15382  unsigned char stk2;
15383  stk2 = *D ^ S;
15384  stk2 = ~stk2;
15385  stk1 = T & stk2;
15386  *D = (stk1 & (~S)) | (*D & S);
15387}
15388
15389/* TDSxna source/pattern transparent. */
15390static void rop3_144_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15391{
15392  unsigned char stk1;
15393  unsigned char stk2;
15394  stk2 = *D ^ S;
15395  stk2 = ~stk2;
15396  stk1 = T & stk2;
15397  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15398}
15399
15400/* TDSxna source/pattern opaque. */
15401static unsigned xrop3_144_0_0 (unsigned char s, unsigned char t)
15402{
15403  unsigned D = 0x00ff;
15404  unsigned S = ((unsigned)s << 8) | s;
15405  unsigned T = ((unsigned)t << 8) | t;
15406  unsigned stk1;
15407  unsigned stk2;
15408  stk2 = D ^ S;
15409  stk2 = ~stk2;
15410  stk1 = T & stk2;
15411  return stk1;
15412}
15413
15414/* TDSxna source opaque/pattern transparent. */
15415static unsigned xrop3_144_0_1 (unsigned char s, unsigned char t)
15416{
15417  unsigned D = 0x00ff;
15418  unsigned S = ((unsigned)s << 8) | s;
15419  unsigned T = ((unsigned)t << 8) | t;
15420  unsigned stk1;
15421  unsigned stk2;
15422  stk2 = D ^ S;
15423  stk2 = ~stk2;
15424  stk1 = T & stk2;
15425  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15426}
15427
15428/* TDSxna source transparent/pattern opaque. */
15429static unsigned xrop3_144_1_0 (unsigned char s, unsigned char t)
15430{
15431  unsigned D = 0x00ff;
15432  unsigned S = ((unsigned)s << 8) | s;
15433  unsigned T = ((unsigned)t << 8) | t;
15434  unsigned stk1;
15435  unsigned stk2;
15436  stk2 = D ^ S;
15437  stk2 = ~stk2;
15438  stk1 = T & stk2;
15439  return (stk1 & (~S)) | (D & S);
15440}
15441
15442/* TDSxna source/pattern transparent. */
15443static unsigned xrop3_144_1_1 (unsigned char s, unsigned char t)
15444{
15445  unsigned D = 0x00ff;
15446  unsigned S = ((unsigned)s << 8) | s;
15447  unsigned T = ((unsigned)t << 8) | t;
15448  unsigned stk1;
15449  unsigned stk2;
15450  stk2 = D ^ S;
15451  stk2 = ~stk2;
15452  stk1 = T & stk2;
15453  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15454}
15455
15456/* SDTSnoaxn source/pattern opaque. */
15457static void rop3_145_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15458{
15459  unsigned char stk1;
15460  unsigned char stk2;
15461  unsigned char stk3;
15462  unsigned char stk4;
15463  stk4 = ~S;
15464  stk3 = T | stk4;
15465  stk2 = *D & stk3;
15466  stk1 = S ^ stk2;
15467  stk1 = ~stk1;
15468  *D = stk1;
15469}
15470
15471/* SDTSnoaxn source opaque/pattern transparent. */
15472static void rop3_145_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15473{
15474  unsigned char stk1;
15475  unsigned char stk2;
15476  unsigned char stk3;
15477  unsigned char stk4;
15478  stk4 = ~S;
15479  stk3 = T | stk4;
15480  stk2 = *D & stk3;
15481  stk1 = S ^ stk2;
15482  stk1 = ~stk1;
15483  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15484}
15485
15486/* SDTSnoaxn source transparent/pattern opaque. */
15487static void rop3_145_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15488{
15489  unsigned char stk1;
15490  unsigned char stk2;
15491  unsigned char stk3;
15492  unsigned char stk4;
15493  stk4 = ~S;
15494  stk3 = T | stk4;
15495  stk2 = *D & stk3;
15496  stk1 = S ^ stk2;
15497  stk1 = ~stk1;
15498  *D = (stk1 & (~S)) | (*D & S);
15499}
15500
15501/* SDTSnoaxn source/pattern transparent. */
15502static void rop3_145_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15503{
15504  unsigned char stk1;
15505  unsigned char stk2;
15506  unsigned char stk3;
15507  unsigned char stk4;
15508  stk4 = ~S;
15509  stk3 = T | stk4;
15510  stk2 = *D & stk3;
15511  stk1 = S ^ stk2;
15512  stk1 = ~stk1;
15513  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15514}
15515
15516/* SDTSnoaxn source/pattern opaque. */
15517static unsigned xrop3_145_0_0 (unsigned char s, unsigned char t)
15518{
15519  unsigned D = 0x00ff;
15520  unsigned S = ((unsigned)s << 8) | s;
15521  unsigned T = ((unsigned)t << 8) | t;
15522  unsigned stk1;
15523  unsigned stk2;
15524  unsigned stk3;
15525  unsigned stk4;
15526  stk4 = ~S;
15527  stk3 = T | stk4;
15528  stk2 = D & stk3;
15529  stk1 = S ^ stk2;
15530  stk1 = ~stk1;
15531  return stk1;
15532}
15533
15534/* SDTSnoaxn source opaque/pattern transparent. */
15535static unsigned xrop3_145_0_1 (unsigned char s, unsigned char t)
15536{
15537  unsigned D = 0x00ff;
15538  unsigned S = ((unsigned)s << 8) | s;
15539  unsigned T = ((unsigned)t << 8) | t;
15540  unsigned stk1;
15541  unsigned stk2;
15542  unsigned stk3;
15543  unsigned stk4;
15544  stk4 = ~S;
15545  stk3 = T | stk4;
15546  stk2 = D & stk3;
15547  stk1 = S ^ stk2;
15548  stk1 = ~stk1;
15549  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15550}
15551
15552/* SDTSnoaxn source transparent/pattern opaque. */
15553static unsigned xrop3_145_1_0 (unsigned char s, unsigned char t)
15554{
15555  unsigned D = 0x00ff;
15556  unsigned S = ((unsigned)s << 8) | s;
15557  unsigned T = ((unsigned)t << 8) | t;
15558  unsigned stk1;
15559  unsigned stk2;
15560  unsigned stk3;
15561  unsigned stk4;
15562  stk4 = ~S;
15563  stk3 = T | stk4;
15564  stk2 = D & stk3;
15565  stk1 = S ^ stk2;
15566  stk1 = ~stk1;
15567  return (stk1 & (~S)) | (D & S);
15568}
15569
15570/* SDTSnoaxn source/pattern transparent. */
15571static unsigned xrop3_145_1_1 (unsigned char s, unsigned char t)
15572{
15573  unsigned D = 0x00ff;
15574  unsigned S = ((unsigned)s << 8) | s;
15575  unsigned T = ((unsigned)t << 8) | t;
15576  unsigned stk1;
15577  unsigned stk2;
15578  unsigned stk3;
15579  unsigned stk4;
15580  stk4 = ~S;
15581  stk3 = T | stk4;
15582  stk2 = D & stk3;
15583  stk1 = S ^ stk2;
15584  stk1 = ~stk1;
15585  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15586}
15587
15588/* DTSDToaxx source/pattern opaque. */
15589static void rop3_146_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15590{
15591  unsigned char stk1;
15592  unsigned char stk2;
15593  unsigned char stk3;
15594  unsigned char stk4;
15595  stk4 = *D | T;
15596  stk3 = S & stk4;
15597  stk2 = T ^ stk3;
15598  stk1 = *D ^ stk2;
15599  *D = stk1;
15600}
15601
15602/* DTSDToaxx source opaque/pattern transparent. */
15603static void rop3_146_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15604{
15605  unsigned char stk1;
15606  unsigned char stk2;
15607  unsigned char stk3;
15608  unsigned char stk4;
15609  stk4 = *D | T;
15610  stk3 = S & stk4;
15611  stk2 = T ^ stk3;
15612  stk1 = *D ^ stk2;
15613  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15614}
15615
15616/* DTSDToaxx source transparent/pattern opaque. */
15617static void rop3_146_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15618{
15619  unsigned char stk1;
15620  unsigned char stk2;
15621  unsigned char stk3;
15622  unsigned char stk4;
15623  stk4 = *D | T;
15624  stk3 = S & stk4;
15625  stk2 = T ^ stk3;
15626  stk1 = *D ^ stk2;
15627  *D = (stk1 & (~S)) | (*D & S);
15628}
15629
15630/* DTSDToaxx source/pattern transparent. */
15631static void rop3_146_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15632{
15633  unsigned char stk1;
15634  unsigned char stk2;
15635  unsigned char stk3;
15636  unsigned char stk4;
15637  stk4 = *D | T;
15638  stk3 = S & stk4;
15639  stk2 = T ^ stk3;
15640  stk1 = *D ^ stk2;
15641  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15642}
15643
15644/* DTSDToaxx source/pattern opaque. */
15645static unsigned xrop3_146_0_0 (unsigned char s, unsigned char t)
15646{
15647  unsigned D = 0x00ff;
15648  unsigned S = ((unsigned)s << 8) | s;
15649  unsigned T = ((unsigned)t << 8) | t;
15650  unsigned stk1;
15651  unsigned stk2;
15652  unsigned stk3;
15653  unsigned stk4;
15654  stk4 = D | T;
15655  stk3 = S & stk4;
15656  stk2 = T ^ stk3;
15657  stk1 = D ^ stk2;
15658  return stk1;
15659}
15660
15661/* DTSDToaxx source opaque/pattern transparent. */
15662static unsigned xrop3_146_0_1 (unsigned char s, unsigned char t)
15663{
15664  unsigned D = 0x00ff;
15665  unsigned S = ((unsigned)s << 8) | s;
15666  unsigned T = ((unsigned)t << 8) | t;
15667  unsigned stk1;
15668  unsigned stk2;
15669  unsigned stk3;
15670  unsigned stk4;
15671  stk4 = D | T;
15672  stk3 = S & stk4;
15673  stk2 = T ^ stk3;
15674  stk1 = D ^ stk2;
15675  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15676}
15677
15678/* DTSDToaxx source transparent/pattern opaque. */
15679static unsigned xrop3_146_1_0 (unsigned char s, unsigned char t)
15680{
15681  unsigned D = 0x00ff;
15682  unsigned S = ((unsigned)s << 8) | s;
15683  unsigned T = ((unsigned)t << 8) | t;
15684  unsigned stk1;
15685  unsigned stk2;
15686  unsigned stk3;
15687  unsigned stk4;
15688  stk4 = D | T;
15689  stk3 = S & stk4;
15690  stk2 = T ^ stk3;
15691  stk1 = D ^ stk2;
15692  return (stk1 & (~S)) | (D & S);
15693}
15694
15695/* DTSDToaxx source/pattern transparent. */
15696static unsigned xrop3_146_1_1 (unsigned char s, unsigned char t)
15697{
15698  unsigned D = 0x00ff;
15699  unsigned S = ((unsigned)s << 8) | s;
15700  unsigned T = ((unsigned)t << 8) | t;
15701  unsigned stk1;
15702  unsigned stk2;
15703  unsigned stk3;
15704  unsigned stk4;
15705  stk4 = D | T;
15706  stk3 = S & stk4;
15707  stk2 = T ^ stk3;
15708  stk1 = D ^ stk2;
15709  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15710}
15711
15712/* STDaxn source/pattern opaque. */
15713static void rop3_147_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15714{
15715  unsigned char stk1;
15716  unsigned char stk2;
15717  stk2 = T & *D;
15718  stk1 = S ^ stk2;
15719  stk1 = ~stk1;
15720  *D = stk1;
15721}
15722
15723/* STDaxn source opaque/pattern transparent. */
15724static void rop3_147_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15725{
15726  unsigned char stk1;
15727  unsigned char stk2;
15728  stk2 = T & *D;
15729  stk1 = S ^ stk2;
15730  stk1 = ~stk1;
15731  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15732}
15733
15734/* STDaxn source transparent/pattern opaque. */
15735static void rop3_147_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15736{
15737  unsigned char stk1;
15738  unsigned char stk2;
15739  stk2 = T & *D;
15740  stk1 = S ^ stk2;
15741  stk1 = ~stk1;
15742  *D = (stk1 & (~S)) | (*D & S);
15743}
15744
15745/* STDaxn source/pattern transparent. */
15746static void rop3_147_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15747{
15748  unsigned char stk1;
15749  unsigned char stk2;
15750  stk2 = T & *D;
15751  stk1 = S ^ stk2;
15752  stk1 = ~stk1;
15753  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15754}
15755
15756/* STDaxn source/pattern opaque. */
15757static unsigned xrop3_147_0_0 (unsigned char s, unsigned char t)
15758{
15759  unsigned D = 0x00ff;
15760  unsigned S = ((unsigned)s << 8) | s;
15761  unsigned T = ((unsigned)t << 8) | t;
15762  unsigned stk1;
15763  unsigned stk2;
15764  stk2 = T & D;
15765  stk1 = S ^ stk2;
15766  stk1 = ~stk1;
15767  return stk1;
15768}
15769
15770/* STDaxn source opaque/pattern transparent. */
15771static unsigned xrop3_147_0_1 (unsigned char s, unsigned char t)
15772{
15773  unsigned D = 0x00ff;
15774  unsigned S = ((unsigned)s << 8) | s;
15775  unsigned T = ((unsigned)t << 8) | t;
15776  unsigned stk1;
15777  unsigned stk2;
15778  stk2 = T & D;
15779  stk1 = S ^ stk2;
15780  stk1 = ~stk1;
15781  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15782}
15783
15784/* STDaxn source transparent/pattern opaque. */
15785static unsigned xrop3_147_1_0 (unsigned char s, unsigned char t)
15786{
15787  unsigned D = 0x00ff;
15788  unsigned S = ((unsigned)s << 8) | s;
15789  unsigned T = ((unsigned)t << 8) | t;
15790  unsigned stk1;
15791  unsigned stk2;
15792  stk2 = T & D;
15793  stk1 = S ^ stk2;
15794  stk1 = ~stk1;
15795  return (stk1 & (~S)) | (D & S);
15796}
15797
15798/* STDaxn source/pattern transparent. */
15799static unsigned xrop3_147_1_1 (unsigned char s, unsigned char t)
15800{
15801  unsigned D = 0x00ff;
15802  unsigned S = ((unsigned)s << 8) | s;
15803  unsigned T = ((unsigned)t << 8) | t;
15804  unsigned stk1;
15805  unsigned stk2;
15806  stk2 = T & D;
15807  stk1 = S ^ stk2;
15808  stk1 = ~stk1;
15809  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15810}
15811
15812/* TSDTSoaxx source/pattern opaque. */
15813static void rop3_148_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15814{
15815  unsigned char stk1;
15816  unsigned char stk2;
15817  unsigned char stk3;
15818  unsigned char stk4;
15819  stk4 = T | S;
15820  stk3 = *D & stk4;
15821  stk2 = S ^ stk3;
15822  stk1 = T ^ stk2;
15823  *D = stk1;
15824}
15825
15826/* TSDTSoaxx source opaque/pattern transparent. */
15827static void rop3_148_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15828{
15829  unsigned char stk1;
15830  unsigned char stk2;
15831  unsigned char stk3;
15832  unsigned char stk4;
15833  stk4 = T | S;
15834  stk3 = *D & stk4;
15835  stk2 = S ^ stk3;
15836  stk1 = T ^ stk2;
15837  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15838}
15839
15840/* TSDTSoaxx source transparent/pattern opaque. */
15841static void rop3_148_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15842{
15843  unsigned char stk1;
15844  unsigned char stk2;
15845  unsigned char stk3;
15846  unsigned char stk4;
15847  stk4 = T | S;
15848  stk3 = *D & stk4;
15849  stk2 = S ^ stk3;
15850  stk1 = T ^ stk2;
15851  *D = (stk1 & (~S)) | (*D & S);
15852}
15853
15854/* TSDTSoaxx source/pattern transparent. */
15855static void rop3_148_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15856{
15857  unsigned char stk1;
15858  unsigned char stk2;
15859  unsigned char stk3;
15860  unsigned char stk4;
15861  stk4 = T | S;
15862  stk3 = *D & stk4;
15863  stk2 = S ^ stk3;
15864  stk1 = T ^ stk2;
15865  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15866}
15867
15868/* TSDTSoaxx source/pattern opaque. */
15869static unsigned xrop3_148_0_0 (unsigned char s, unsigned char t)
15870{
15871  unsigned D = 0x00ff;
15872  unsigned S = ((unsigned)s << 8) | s;
15873  unsigned T = ((unsigned)t << 8) | t;
15874  unsigned stk1;
15875  unsigned stk2;
15876  unsigned stk3;
15877  unsigned stk4;
15878  stk4 = T | S;
15879  stk3 = D & stk4;
15880  stk2 = S ^ stk3;
15881  stk1 = T ^ stk2;
15882  return stk1;
15883}
15884
15885/* TSDTSoaxx source opaque/pattern transparent. */
15886static unsigned xrop3_148_0_1 (unsigned char s, unsigned char t)
15887{
15888  unsigned D = 0x00ff;
15889  unsigned S = ((unsigned)s << 8) | s;
15890  unsigned T = ((unsigned)t << 8) | t;
15891  unsigned stk1;
15892  unsigned stk2;
15893  unsigned stk3;
15894  unsigned stk4;
15895  stk4 = T | S;
15896  stk3 = D & stk4;
15897  stk2 = S ^ stk3;
15898  stk1 = T ^ stk2;
15899  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
15900}
15901
15902/* TSDTSoaxx source transparent/pattern opaque. */
15903static unsigned xrop3_148_1_0 (unsigned char s, unsigned char t)
15904{
15905  unsigned D = 0x00ff;
15906  unsigned S = ((unsigned)s << 8) | s;
15907  unsigned T = ((unsigned)t << 8) | t;
15908  unsigned stk1;
15909  unsigned stk2;
15910  unsigned stk3;
15911  unsigned stk4;
15912  stk4 = T | S;
15913  stk3 = D & stk4;
15914  stk2 = S ^ stk3;
15915  stk1 = T ^ stk2;
15916  return (stk1 & (~S)) | (D & S);
15917}
15918
15919/* TSDTSoaxx source/pattern transparent. */
15920static unsigned xrop3_148_1_1 (unsigned char s, unsigned char t)
15921{
15922  unsigned D = 0x00ff;
15923  unsigned S = ((unsigned)s << 8) | s;
15924  unsigned T = ((unsigned)t << 8) | t;
15925  unsigned stk1;
15926  unsigned stk2;
15927  unsigned stk3;
15928  unsigned stk4;
15929  stk4 = T | S;
15930  stk3 = D & stk4;
15931  stk2 = S ^ stk3;
15932  stk1 = T ^ stk2;
15933  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
15934}
15935
15936/* DTSaxn source/pattern opaque. */
15937static void rop3_149_0_0 (unsigned char *D, unsigned char S, unsigned char T)
15938{
15939  unsigned char stk1;
15940  unsigned char stk2;
15941  stk2 = T & S;
15942  stk1 = *D ^ stk2;
15943  stk1 = ~stk1;
15944  *D = stk1;
15945}
15946
15947/* DTSaxn source opaque/pattern transparent. */
15948static void rop3_149_0_1 (unsigned char *D, unsigned char S, unsigned char T)
15949{
15950  unsigned char stk1;
15951  unsigned char stk2;
15952  stk2 = T & S;
15953  stk1 = *D ^ stk2;
15954  stk1 = ~stk1;
15955  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
15956}
15957
15958/* DTSaxn source transparent/pattern opaque. */
15959static void rop3_149_1_0 (unsigned char *D, unsigned char S, unsigned char T)
15960{
15961  unsigned char stk1;
15962  unsigned char stk2;
15963  stk2 = T & S;
15964  stk1 = *D ^ stk2;
15965  stk1 = ~stk1;
15966  *D = (stk1 & (~S)) | (*D & S);
15967}
15968
15969/* DTSaxn source/pattern transparent. */
15970static void rop3_149_1_1 (unsigned char *D, unsigned char S, unsigned char T)
15971{
15972  unsigned char stk1;
15973  unsigned char stk2;
15974  stk2 = T & S;
15975  stk1 = *D ^ stk2;
15976  stk1 = ~stk1;
15977  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
15978}
15979
15980/* DTSaxn source/pattern opaque. */
15981static unsigned xrop3_149_0_0 (unsigned char s, unsigned char t)
15982{
15983  unsigned D = 0x00ff;
15984  unsigned S = ((unsigned)s << 8) | s;
15985  unsigned T = ((unsigned)t << 8) | t;
15986  unsigned stk1;
15987  unsigned stk2;
15988  stk2 = T & S;
15989  stk1 = D ^ stk2;
15990  stk1 = ~stk1;
15991  return stk1;
15992}
15993
15994/* DTSaxn source opaque/pattern transparent. */
15995static unsigned xrop3_149_0_1 (unsigned char s, unsigned char t)
15996{
15997  unsigned D = 0x00ff;
15998  unsigned S = ((unsigned)s << 8) | s;
15999  unsigned T = ((unsigned)t << 8) | t;
16000  unsigned stk1;
16001  unsigned stk2;
16002  stk2 = T & S;
16003  stk1 = D ^ stk2;
16004  stk1 = ~stk1;
16005  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16006}
16007
16008/* DTSaxn source transparent/pattern opaque. */
16009static unsigned xrop3_149_1_0 (unsigned char s, unsigned char t)
16010{
16011  unsigned D = 0x00ff;
16012  unsigned S = ((unsigned)s << 8) | s;
16013  unsigned T = ((unsigned)t << 8) | t;
16014  unsigned stk1;
16015  unsigned stk2;
16016  stk2 = T & S;
16017  stk1 = D ^ stk2;
16018  stk1 = ~stk1;
16019  return (stk1 & (~S)) | (D & S);
16020}
16021
16022/* DTSaxn source/pattern transparent. */
16023static unsigned xrop3_149_1_1 (unsigned char s, unsigned char t)
16024{
16025  unsigned D = 0x00ff;
16026  unsigned S = ((unsigned)s << 8) | s;
16027  unsigned T = ((unsigned)t << 8) | t;
16028  unsigned stk1;
16029  unsigned stk2;
16030  stk2 = T & S;
16031  stk1 = D ^ stk2;
16032  stk1 = ~stk1;
16033  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16034}
16035
16036/* DTSxx source/pattern opaque. */
16037static void rop3_150_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16038{
16039  unsigned char stk1;
16040  unsigned char stk2;
16041  stk2 = T ^ S;
16042  stk1 = *D ^ stk2;
16043  *D = stk1;
16044}
16045
16046/* DTSxx source opaque/pattern transparent. */
16047static void rop3_150_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16048{
16049  unsigned char stk1;
16050  unsigned char stk2;
16051  stk2 = T ^ S;
16052  stk1 = *D ^ stk2;
16053  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16054}
16055
16056/* DTSxx source transparent/pattern opaque. */
16057static void rop3_150_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16058{
16059  unsigned char stk1;
16060  unsigned char stk2;
16061  stk2 = T ^ S;
16062  stk1 = *D ^ stk2;
16063  *D = (stk1 & (~S)) | (*D & S);
16064}
16065
16066/* DTSxx source/pattern transparent. */
16067static void rop3_150_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16068{
16069  unsigned char stk1;
16070  unsigned char stk2;
16071  stk2 = T ^ S;
16072  stk1 = *D ^ stk2;
16073  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16074}
16075
16076/* DTSxx source/pattern opaque. */
16077static unsigned xrop3_150_0_0 (unsigned char s, unsigned char t)
16078{
16079  unsigned D = 0x00ff;
16080  unsigned S = ((unsigned)s << 8) | s;
16081  unsigned T = ((unsigned)t << 8) | t;
16082  unsigned stk1;
16083  unsigned stk2;
16084  stk2 = T ^ S;
16085  stk1 = D ^ stk2;
16086  return stk1;
16087}
16088
16089/* DTSxx source opaque/pattern transparent. */
16090static unsigned xrop3_150_0_1 (unsigned char s, unsigned char t)
16091{
16092  unsigned D = 0x00ff;
16093  unsigned S = ((unsigned)s << 8) | s;
16094  unsigned T = ((unsigned)t << 8) | t;
16095  unsigned stk1;
16096  unsigned stk2;
16097  stk2 = T ^ S;
16098  stk1 = D ^ stk2;
16099  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16100}
16101
16102/* DTSxx source transparent/pattern opaque. */
16103static unsigned xrop3_150_1_0 (unsigned char s, unsigned char t)
16104{
16105  unsigned D = 0x00ff;
16106  unsigned S = ((unsigned)s << 8) | s;
16107  unsigned T = ((unsigned)t << 8) | t;
16108  unsigned stk1;
16109  unsigned stk2;
16110  stk2 = T ^ S;
16111  stk1 = D ^ stk2;
16112  return (stk1 & (~S)) | (D & S);
16113}
16114
16115/* DTSxx source/pattern transparent. */
16116static unsigned xrop3_150_1_1 (unsigned char s, unsigned char t)
16117{
16118  unsigned D = 0x00ff;
16119  unsigned S = ((unsigned)s << 8) | s;
16120  unsigned T = ((unsigned)t << 8) | t;
16121  unsigned stk1;
16122  unsigned stk2;
16123  stk2 = T ^ S;
16124  stk1 = D ^ stk2;
16125  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16126}
16127
16128/* TSDTSonoxx source/pattern opaque. */
16129static void rop3_151_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16130{
16131  unsigned char stk1;
16132  unsigned char stk2;
16133  unsigned char stk3;
16134  unsigned char stk4;
16135  stk4 = T | S;
16136  stk4 = ~stk4;
16137  stk3 = *D | stk4;
16138  stk2 = S ^ stk3;
16139  stk1 = T ^ stk2;
16140  *D = stk1;
16141}
16142
16143/* TSDTSonoxx source opaque/pattern transparent. */
16144static void rop3_151_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16145{
16146  unsigned char stk1;
16147  unsigned char stk2;
16148  unsigned char stk3;
16149  unsigned char stk4;
16150  stk4 = T | S;
16151  stk4 = ~stk4;
16152  stk3 = *D | stk4;
16153  stk2 = S ^ stk3;
16154  stk1 = T ^ stk2;
16155  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16156}
16157
16158/* TSDTSonoxx source transparent/pattern opaque. */
16159static void rop3_151_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16160{
16161  unsigned char stk1;
16162  unsigned char stk2;
16163  unsigned char stk3;
16164  unsigned char stk4;
16165  stk4 = T | S;
16166  stk4 = ~stk4;
16167  stk3 = *D | stk4;
16168  stk2 = S ^ stk3;
16169  stk1 = T ^ stk2;
16170  *D = (stk1 & (~S)) | (*D & S);
16171}
16172
16173/* TSDTSonoxx source/pattern transparent. */
16174static void rop3_151_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16175{
16176  unsigned char stk1;
16177  unsigned char stk2;
16178  unsigned char stk3;
16179  unsigned char stk4;
16180  stk4 = T | S;
16181  stk4 = ~stk4;
16182  stk3 = *D | stk4;
16183  stk2 = S ^ stk3;
16184  stk1 = T ^ stk2;
16185  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16186}
16187
16188/* TSDTSonoxx source/pattern opaque. */
16189static unsigned xrop3_151_0_0 (unsigned char s, unsigned char t)
16190{
16191  unsigned D = 0x00ff;
16192  unsigned S = ((unsigned)s << 8) | s;
16193  unsigned T = ((unsigned)t << 8) | t;
16194  unsigned stk1;
16195  unsigned stk2;
16196  unsigned stk3;
16197  unsigned stk4;
16198  stk4 = T | S;
16199  stk4 = ~stk4;
16200  stk3 = D | stk4;
16201  stk2 = S ^ stk3;
16202  stk1 = T ^ stk2;
16203  return stk1;
16204}
16205
16206/* TSDTSonoxx source opaque/pattern transparent. */
16207static unsigned xrop3_151_0_1 (unsigned char s, unsigned char t)
16208{
16209  unsigned D = 0x00ff;
16210  unsigned S = ((unsigned)s << 8) | s;
16211  unsigned T = ((unsigned)t << 8) | t;
16212  unsigned stk1;
16213  unsigned stk2;
16214  unsigned stk3;
16215  unsigned stk4;
16216  stk4 = T | S;
16217  stk4 = ~stk4;
16218  stk3 = D | stk4;
16219  stk2 = S ^ stk3;
16220  stk1 = T ^ stk2;
16221  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16222}
16223
16224/* TSDTSonoxx source transparent/pattern opaque. */
16225static unsigned xrop3_151_1_0 (unsigned char s, unsigned char t)
16226{
16227  unsigned D = 0x00ff;
16228  unsigned S = ((unsigned)s << 8) | s;
16229  unsigned T = ((unsigned)t << 8) | t;
16230  unsigned stk1;
16231  unsigned stk2;
16232  unsigned stk3;
16233  unsigned stk4;
16234  stk4 = T | S;
16235  stk4 = ~stk4;
16236  stk3 = D | stk4;
16237  stk2 = S ^ stk3;
16238  stk1 = T ^ stk2;
16239  return (stk1 & (~S)) | (D & S);
16240}
16241
16242/* TSDTSonoxx source/pattern transparent. */
16243static unsigned xrop3_151_1_1 (unsigned char s, unsigned char t)
16244{
16245  unsigned D = 0x00ff;
16246  unsigned S = ((unsigned)s << 8) | s;
16247  unsigned T = ((unsigned)t << 8) | t;
16248  unsigned stk1;
16249  unsigned stk2;
16250  unsigned stk3;
16251  unsigned stk4;
16252  stk4 = T | S;
16253  stk4 = ~stk4;
16254  stk3 = D | stk4;
16255  stk2 = S ^ stk3;
16256  stk1 = T ^ stk2;
16257  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16258}
16259
16260/* SDTSonoxn source/pattern opaque. */
16261static void rop3_152_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16262{
16263  unsigned char stk1;
16264  unsigned char stk2;
16265  unsigned char stk3;
16266  stk3 = T | S;
16267  stk3 = ~stk3;
16268  stk2 = *D | stk3;
16269  stk1 = S ^ stk2;
16270  stk1 = ~stk1;
16271  *D = stk1;
16272}
16273
16274/* SDTSonoxn source opaque/pattern transparent. */
16275static void rop3_152_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16276{
16277  unsigned char stk1;
16278  unsigned char stk2;
16279  unsigned char stk3;
16280  stk3 = T | S;
16281  stk3 = ~stk3;
16282  stk2 = *D | stk3;
16283  stk1 = S ^ stk2;
16284  stk1 = ~stk1;
16285  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16286}
16287
16288/* SDTSonoxn source transparent/pattern opaque. */
16289static void rop3_152_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16290{
16291  unsigned char stk1;
16292  unsigned char stk2;
16293  unsigned char stk3;
16294  stk3 = T | S;
16295  stk3 = ~stk3;
16296  stk2 = *D | stk3;
16297  stk1 = S ^ stk2;
16298  stk1 = ~stk1;
16299  *D = (stk1 & (~S)) | (*D & S);
16300}
16301
16302/* SDTSonoxn source/pattern transparent. */
16303static void rop3_152_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16304{
16305  unsigned char stk1;
16306  unsigned char stk2;
16307  unsigned char stk3;
16308  stk3 = T | S;
16309  stk3 = ~stk3;
16310  stk2 = *D | stk3;
16311  stk1 = S ^ stk2;
16312  stk1 = ~stk1;
16313  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16314}
16315
16316/* SDTSonoxn source/pattern opaque. */
16317static unsigned xrop3_152_0_0 (unsigned char s, unsigned char t)
16318{
16319  unsigned D = 0x00ff;
16320  unsigned S = ((unsigned)s << 8) | s;
16321  unsigned T = ((unsigned)t << 8) | t;
16322  unsigned stk1;
16323  unsigned stk2;
16324  unsigned stk3;
16325  stk3 = T | S;
16326  stk3 = ~stk3;
16327  stk2 = D | stk3;
16328  stk1 = S ^ stk2;
16329  stk1 = ~stk1;
16330  return stk1;
16331}
16332
16333/* SDTSonoxn source opaque/pattern transparent. */
16334static unsigned xrop3_152_0_1 (unsigned char s, unsigned char t)
16335{
16336  unsigned D = 0x00ff;
16337  unsigned S = ((unsigned)s << 8) | s;
16338  unsigned T = ((unsigned)t << 8) | t;
16339  unsigned stk1;
16340  unsigned stk2;
16341  unsigned stk3;
16342  stk3 = T | S;
16343  stk3 = ~stk3;
16344  stk2 = D | stk3;
16345  stk1 = S ^ stk2;
16346  stk1 = ~stk1;
16347  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16348}
16349
16350/* SDTSonoxn source transparent/pattern opaque. */
16351static unsigned xrop3_152_1_0 (unsigned char s, unsigned char t)
16352{
16353  unsigned D = 0x00ff;
16354  unsigned S = ((unsigned)s << 8) | s;
16355  unsigned T = ((unsigned)t << 8) | t;
16356  unsigned stk1;
16357  unsigned stk2;
16358  unsigned stk3;
16359  stk3 = T | S;
16360  stk3 = ~stk3;
16361  stk2 = D | stk3;
16362  stk1 = S ^ stk2;
16363  stk1 = ~stk1;
16364  return (stk1 & (~S)) | (D & S);
16365}
16366
16367/* SDTSonoxn source/pattern transparent. */
16368static unsigned xrop3_152_1_1 (unsigned char s, unsigned char t)
16369{
16370  unsigned D = 0x00ff;
16371  unsigned S = ((unsigned)s << 8) | s;
16372  unsigned T = ((unsigned)t << 8) | t;
16373  unsigned stk1;
16374  unsigned stk2;
16375  unsigned stk3;
16376  stk3 = T | S;
16377  stk3 = ~stk3;
16378  stk2 = D | stk3;
16379  stk1 = S ^ stk2;
16380  stk1 = ~stk1;
16381  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16382}
16383
16384/* DSxn source/pattern opaque. */
16385static void rop3_153_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16386{
16387  unsigned char stk1;
16388  stk1 = *D ^ S;
16389  stk1 = ~stk1;
16390  *D = stk1;
16391}
16392
16393/* DSxn source opaque/pattern transparent. */
16394static void rop3_153_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16395{
16396  unsigned char stk1;
16397  stk1 = *D ^ S;
16398  stk1 = ~stk1;
16399  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16400}
16401
16402/* DSxn source transparent/pattern opaque. */
16403static void rop3_153_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16404{
16405  unsigned char stk1;
16406  stk1 = *D ^ S;
16407  stk1 = ~stk1;
16408  *D = (stk1 & (~S)) | (*D & S);
16409}
16410
16411/* DSxn source/pattern transparent. */
16412static void rop3_153_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16413{
16414  unsigned char stk1;
16415  stk1 = *D ^ S;
16416  stk1 = ~stk1;
16417  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16418}
16419
16420/* DSxn source/pattern opaque. */
16421static unsigned xrop3_153_0_0 (unsigned char s, unsigned char t)
16422{
16423  unsigned D = 0x00ff;
16424  unsigned S = ((unsigned)s << 8) | s;
16425  unsigned stk1;
16426  stk1 = D ^ S;
16427  stk1 = ~stk1;
16428  return stk1;
16429}
16430
16431/* DSxn source opaque/pattern transparent. */
16432static unsigned xrop3_153_0_1 (unsigned char s, unsigned char t)
16433{
16434  unsigned D = 0x00ff;
16435  unsigned S = ((unsigned)s << 8) | s;
16436  unsigned T = ((unsigned)t << 8) | t;
16437  unsigned stk1;
16438  stk1 = D ^ S;
16439  stk1 = ~stk1;
16440  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16441}
16442
16443/* DSxn source transparent/pattern opaque. */
16444static unsigned xrop3_153_1_0 (unsigned char s, unsigned char t)
16445{
16446  unsigned D = 0x00ff;
16447  unsigned S = ((unsigned)s << 8) | s;
16448  unsigned stk1;
16449  stk1 = D ^ S;
16450  stk1 = ~stk1;
16451  return (stk1 & (~S)) | (D & S);
16452}
16453
16454/* DSxn source/pattern transparent. */
16455static unsigned xrop3_153_1_1 (unsigned char s, unsigned char t)
16456{
16457  unsigned D = 0x00ff;
16458  unsigned S = ((unsigned)s << 8) | s;
16459  unsigned T = ((unsigned)t << 8) | t;
16460  unsigned stk1;
16461  stk1 = D ^ S;
16462  stk1 = ~stk1;
16463  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16464}
16465
16466/* DTSnax source/pattern opaque. */
16467static void rop3_154_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16468{
16469  unsigned char stk1;
16470  unsigned char stk2;
16471  unsigned char stk3;
16472  stk3 = ~S;
16473  stk2 = T & stk3;
16474  stk1 = *D ^ stk2;
16475  *D = stk1;
16476}
16477
16478/* DTSnax source opaque/pattern transparent. */
16479static void rop3_154_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16480{
16481  unsigned char stk1;
16482  unsigned char stk2;
16483  unsigned char stk3;
16484  stk3 = ~S;
16485  stk2 = T & stk3;
16486  stk1 = *D ^ stk2;
16487  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16488}
16489
16490/* DTSnax source transparent/pattern opaque. */
16491static void rop3_154_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16492{
16493  unsigned char stk1;
16494  unsigned char stk2;
16495  unsigned char stk3;
16496  stk3 = ~S;
16497  stk2 = T & stk3;
16498  stk1 = *D ^ stk2;
16499  *D = (stk1 & (~S)) | (*D & S);
16500}
16501
16502/* DTSnax source/pattern transparent. */
16503static void rop3_154_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16504{
16505  unsigned char stk1;
16506  unsigned char stk2;
16507  unsigned char stk3;
16508  stk3 = ~S;
16509  stk2 = T & stk3;
16510  stk1 = *D ^ stk2;
16511  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16512}
16513
16514/* DTSnax source/pattern opaque. */
16515static unsigned xrop3_154_0_0 (unsigned char s, unsigned char t)
16516{
16517  unsigned D = 0x00ff;
16518  unsigned S = ((unsigned)s << 8) | s;
16519  unsigned T = ((unsigned)t << 8) | t;
16520  unsigned stk1;
16521  unsigned stk2;
16522  unsigned stk3;
16523  stk3 = ~S;
16524  stk2 = T & stk3;
16525  stk1 = D ^ stk2;
16526  return stk1;
16527}
16528
16529/* DTSnax source opaque/pattern transparent. */
16530static unsigned xrop3_154_0_1 (unsigned char s, unsigned char t)
16531{
16532  unsigned D = 0x00ff;
16533  unsigned S = ((unsigned)s << 8) | s;
16534  unsigned T = ((unsigned)t << 8) | t;
16535  unsigned stk1;
16536  unsigned stk2;
16537  unsigned stk3;
16538  stk3 = ~S;
16539  stk2 = T & stk3;
16540  stk1 = D ^ stk2;
16541  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16542}
16543
16544/* DTSnax source transparent/pattern opaque. */
16545static unsigned xrop3_154_1_0 (unsigned char s, unsigned char t)
16546{
16547  unsigned D = 0x00ff;
16548  unsigned S = ((unsigned)s << 8) | s;
16549  unsigned T = ((unsigned)t << 8) | t;
16550  unsigned stk1;
16551  unsigned stk2;
16552  unsigned stk3;
16553  stk3 = ~S;
16554  stk2 = T & stk3;
16555  stk1 = D ^ stk2;
16556  return (stk1 & (~S)) | (D & S);
16557}
16558
16559/* DTSnax source/pattern transparent. */
16560static unsigned xrop3_154_1_1 (unsigned char s, unsigned char t)
16561{
16562  unsigned D = 0x00ff;
16563  unsigned S = ((unsigned)s << 8) | s;
16564  unsigned T = ((unsigned)t << 8) | t;
16565  unsigned stk1;
16566  unsigned stk2;
16567  unsigned stk3;
16568  stk3 = ~S;
16569  stk2 = T & stk3;
16570  stk1 = D ^ stk2;
16571  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16572}
16573
16574/* SDTSoaxn source/pattern opaque. */
16575static void rop3_155_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16576{
16577  unsigned char stk1;
16578  unsigned char stk2;
16579  unsigned char stk3;
16580  stk3 = T | S;
16581  stk2 = *D & stk3;
16582  stk1 = S ^ stk2;
16583  stk1 = ~stk1;
16584  *D = stk1;
16585}
16586
16587/* SDTSoaxn source opaque/pattern transparent. */
16588static void rop3_155_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16589{
16590  unsigned char stk1;
16591  unsigned char stk2;
16592  unsigned char stk3;
16593  stk3 = T | S;
16594  stk2 = *D & stk3;
16595  stk1 = S ^ stk2;
16596  stk1 = ~stk1;
16597  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16598}
16599
16600/* SDTSoaxn source transparent/pattern opaque. */
16601static void rop3_155_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16602{
16603  unsigned char stk1;
16604  unsigned char stk2;
16605  unsigned char stk3;
16606  stk3 = T | S;
16607  stk2 = *D & stk3;
16608  stk1 = S ^ stk2;
16609  stk1 = ~stk1;
16610  *D = (stk1 & (~S)) | (*D & S);
16611}
16612
16613/* SDTSoaxn source/pattern transparent. */
16614static void rop3_155_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16615{
16616  unsigned char stk1;
16617  unsigned char stk2;
16618  unsigned char stk3;
16619  stk3 = T | S;
16620  stk2 = *D & stk3;
16621  stk1 = S ^ stk2;
16622  stk1 = ~stk1;
16623  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16624}
16625
16626/* SDTSoaxn source/pattern opaque. */
16627static unsigned xrop3_155_0_0 (unsigned char s, unsigned char t)
16628{
16629  unsigned D = 0x00ff;
16630  unsigned S = ((unsigned)s << 8) | s;
16631  unsigned T = ((unsigned)t << 8) | t;
16632  unsigned stk1;
16633  unsigned stk2;
16634  unsigned stk3;
16635  stk3 = T | S;
16636  stk2 = D & stk3;
16637  stk1 = S ^ stk2;
16638  stk1 = ~stk1;
16639  return stk1;
16640}
16641
16642/* SDTSoaxn source opaque/pattern transparent. */
16643static unsigned xrop3_155_0_1 (unsigned char s, unsigned char t)
16644{
16645  unsigned D = 0x00ff;
16646  unsigned S = ((unsigned)s << 8) | s;
16647  unsigned T = ((unsigned)t << 8) | t;
16648  unsigned stk1;
16649  unsigned stk2;
16650  unsigned stk3;
16651  stk3 = T | S;
16652  stk2 = D & stk3;
16653  stk1 = S ^ stk2;
16654  stk1 = ~stk1;
16655  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16656}
16657
16658/* SDTSoaxn source transparent/pattern opaque. */
16659static unsigned xrop3_155_1_0 (unsigned char s, unsigned char t)
16660{
16661  unsigned D = 0x00ff;
16662  unsigned S = ((unsigned)s << 8) | s;
16663  unsigned T = ((unsigned)t << 8) | t;
16664  unsigned stk1;
16665  unsigned stk2;
16666  unsigned stk3;
16667  stk3 = T | S;
16668  stk2 = D & stk3;
16669  stk1 = S ^ stk2;
16670  stk1 = ~stk1;
16671  return (stk1 & (~S)) | (D & S);
16672}
16673
16674/* SDTSoaxn source/pattern transparent. */
16675static unsigned xrop3_155_1_1 (unsigned char s, unsigned char t)
16676{
16677  unsigned D = 0x00ff;
16678  unsigned S = ((unsigned)s << 8) | s;
16679  unsigned T = ((unsigned)t << 8) | t;
16680  unsigned stk1;
16681  unsigned stk2;
16682  unsigned stk3;
16683  stk3 = T | S;
16684  stk2 = D & stk3;
16685  stk1 = S ^ stk2;
16686  stk1 = ~stk1;
16687  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16688}
16689
16690/* STDnax source/pattern opaque. */
16691static void rop3_156_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16692{
16693  unsigned char stk1;
16694  unsigned char stk2;
16695  unsigned char stk3;
16696  stk3 = ~*D;
16697  stk2 = T & stk3;
16698  stk1 = S ^ stk2;
16699  *D = stk1;
16700}
16701
16702/* STDnax source opaque/pattern transparent. */
16703static void rop3_156_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16704{
16705  unsigned char stk1;
16706  unsigned char stk2;
16707  unsigned char stk3;
16708  stk3 = ~*D;
16709  stk2 = T & stk3;
16710  stk1 = S ^ stk2;
16711  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16712}
16713
16714/* STDnax source transparent/pattern opaque. */
16715static void rop3_156_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16716{
16717  unsigned char stk1;
16718  unsigned char stk2;
16719  unsigned char stk3;
16720  stk3 = ~*D;
16721  stk2 = T & stk3;
16722  stk1 = S ^ stk2;
16723  *D = (stk1 & (~S)) | (*D & S);
16724}
16725
16726/* STDnax source/pattern transparent. */
16727static void rop3_156_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16728{
16729  unsigned char stk1;
16730  unsigned char stk2;
16731  unsigned char stk3;
16732  stk3 = ~*D;
16733  stk2 = T & stk3;
16734  stk1 = S ^ stk2;
16735  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16736}
16737
16738/* STDnax source/pattern opaque. */
16739static unsigned xrop3_156_0_0 (unsigned char s, unsigned char t)
16740{
16741  unsigned D = 0x00ff;
16742  unsigned S = ((unsigned)s << 8) | s;
16743  unsigned T = ((unsigned)t << 8) | t;
16744  unsigned stk1;
16745  unsigned stk2;
16746  unsigned stk3;
16747  stk3 = ~D;
16748  stk2 = T & stk3;
16749  stk1 = S ^ stk2;
16750  return stk1;
16751}
16752
16753/* STDnax source opaque/pattern transparent. */
16754static unsigned xrop3_156_0_1 (unsigned char s, unsigned char t)
16755{
16756  unsigned D = 0x00ff;
16757  unsigned S = ((unsigned)s << 8) | s;
16758  unsigned T = ((unsigned)t << 8) | t;
16759  unsigned stk1;
16760  unsigned stk2;
16761  unsigned stk3;
16762  stk3 = ~D;
16763  stk2 = T & stk3;
16764  stk1 = S ^ stk2;
16765  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16766}
16767
16768/* STDnax source transparent/pattern opaque. */
16769static unsigned xrop3_156_1_0 (unsigned char s, unsigned char t)
16770{
16771  unsigned D = 0x00ff;
16772  unsigned S = ((unsigned)s << 8) | s;
16773  unsigned T = ((unsigned)t << 8) | t;
16774  unsigned stk1;
16775  unsigned stk2;
16776  unsigned stk3;
16777  stk3 = ~D;
16778  stk2 = T & stk3;
16779  stk1 = S ^ stk2;
16780  return (stk1 & (~S)) | (D & S);
16781}
16782
16783/* STDnax source/pattern transparent. */
16784static unsigned xrop3_156_1_1 (unsigned char s, unsigned char t)
16785{
16786  unsigned D = 0x00ff;
16787  unsigned S = ((unsigned)s << 8) | s;
16788  unsigned T = ((unsigned)t << 8) | t;
16789  unsigned stk1;
16790  unsigned stk2;
16791  unsigned stk3;
16792  stk3 = ~D;
16793  stk2 = T & stk3;
16794  stk1 = S ^ stk2;
16795  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16796}
16797
16798/* DSTDoaxn source/pattern opaque. */
16799static void rop3_157_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16800{
16801  unsigned char stk1;
16802  unsigned char stk2;
16803  unsigned char stk3;
16804  stk3 = T | *D;
16805  stk2 = S & stk3;
16806  stk1 = *D ^ stk2;
16807  stk1 = ~stk1;
16808  *D = stk1;
16809}
16810
16811/* DSTDoaxn source opaque/pattern transparent. */
16812static void rop3_157_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16813{
16814  unsigned char stk1;
16815  unsigned char stk2;
16816  unsigned char stk3;
16817  stk3 = T | *D;
16818  stk2 = S & stk3;
16819  stk1 = *D ^ stk2;
16820  stk1 = ~stk1;
16821  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16822}
16823
16824/* DSTDoaxn source transparent/pattern opaque. */
16825static void rop3_157_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16826{
16827  unsigned char stk1;
16828  unsigned char stk2;
16829  unsigned char stk3;
16830  stk3 = T | *D;
16831  stk2 = S & stk3;
16832  stk1 = *D ^ stk2;
16833  stk1 = ~stk1;
16834  *D = (stk1 & (~S)) | (*D & S);
16835}
16836
16837/* DSTDoaxn source/pattern transparent. */
16838static void rop3_157_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16839{
16840  unsigned char stk1;
16841  unsigned char stk2;
16842  unsigned char stk3;
16843  stk3 = T | *D;
16844  stk2 = S & stk3;
16845  stk1 = *D ^ stk2;
16846  stk1 = ~stk1;
16847  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16848}
16849
16850/* DSTDoaxn source/pattern opaque. */
16851static unsigned xrop3_157_0_0 (unsigned char s, unsigned char t)
16852{
16853  unsigned D = 0x00ff;
16854  unsigned S = ((unsigned)s << 8) | s;
16855  unsigned T = ((unsigned)t << 8) | t;
16856  unsigned stk1;
16857  unsigned stk2;
16858  unsigned stk3;
16859  stk3 = T | D;
16860  stk2 = S & stk3;
16861  stk1 = D ^ stk2;
16862  stk1 = ~stk1;
16863  return stk1;
16864}
16865
16866/* DSTDoaxn source opaque/pattern transparent. */
16867static unsigned xrop3_157_0_1 (unsigned char s, unsigned char t)
16868{
16869  unsigned D = 0x00ff;
16870  unsigned S = ((unsigned)s << 8) | s;
16871  unsigned T = ((unsigned)t << 8) | t;
16872  unsigned stk1;
16873  unsigned stk2;
16874  unsigned stk3;
16875  stk3 = T | D;
16876  stk2 = S & stk3;
16877  stk1 = D ^ stk2;
16878  stk1 = ~stk1;
16879  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
16880}
16881
16882/* DSTDoaxn source transparent/pattern opaque. */
16883static unsigned xrop3_157_1_0 (unsigned char s, unsigned char t)
16884{
16885  unsigned D = 0x00ff;
16886  unsigned S = ((unsigned)s << 8) | s;
16887  unsigned T = ((unsigned)t << 8) | t;
16888  unsigned stk1;
16889  unsigned stk2;
16890  unsigned stk3;
16891  stk3 = T | D;
16892  stk2 = S & stk3;
16893  stk1 = D ^ stk2;
16894  stk1 = ~stk1;
16895  return (stk1 & (~S)) | (D & S);
16896}
16897
16898/* DSTDoaxn source/pattern transparent. */
16899static unsigned xrop3_157_1_1 (unsigned char s, unsigned char t)
16900{
16901  unsigned D = 0x00ff;
16902  unsigned S = ((unsigned)s << 8) | s;
16903  unsigned T = ((unsigned)t << 8) | t;
16904  unsigned stk1;
16905  unsigned stk2;
16906  unsigned stk3;
16907  stk3 = T | D;
16908  stk2 = S & stk3;
16909  stk1 = D ^ stk2;
16910  stk1 = ~stk1;
16911  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
16912}
16913
16914/* DSTDSaoxx source/pattern opaque. */
16915static void rop3_158_0_0 (unsigned char *D, unsigned char S, unsigned char T)
16916{
16917  unsigned char stk1;
16918  unsigned char stk2;
16919  unsigned char stk3;
16920  unsigned char stk4;
16921  stk4 = *D & S;
16922  stk3 = T | stk4;
16923  stk2 = S ^ stk3;
16924  stk1 = *D ^ stk2;
16925  *D = stk1;
16926}
16927
16928/* DSTDSaoxx source opaque/pattern transparent. */
16929static void rop3_158_0_1 (unsigned char *D, unsigned char S, unsigned char T)
16930{
16931  unsigned char stk1;
16932  unsigned char stk2;
16933  unsigned char stk3;
16934  unsigned char stk4;
16935  stk4 = *D & S;
16936  stk3 = T | stk4;
16937  stk2 = S ^ stk3;
16938  stk1 = *D ^ stk2;
16939  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
16940}
16941
16942/* DSTDSaoxx source transparent/pattern opaque. */
16943static void rop3_158_1_0 (unsigned char *D, unsigned char S, unsigned char T)
16944{
16945  unsigned char stk1;
16946  unsigned char stk2;
16947  unsigned char stk3;
16948  unsigned char stk4;
16949  stk4 = *D & S;
16950  stk3 = T | stk4;
16951  stk2 = S ^ stk3;
16952  stk1 = *D ^ stk2;
16953  *D = (stk1 & (~S)) | (*D & S);
16954}
16955
16956/* DSTDSaoxx source/pattern transparent. */
16957static void rop3_158_1_1 (unsigned char *D, unsigned char S, unsigned char T)
16958{
16959  unsigned char stk1;
16960  unsigned char stk2;
16961  unsigned char stk3;
16962  unsigned char stk4;
16963  stk4 = *D & S;
16964  stk3 = T | stk4;
16965  stk2 = S ^ stk3;
16966  stk1 = *D ^ stk2;
16967  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
16968}
16969
16970/* DSTDSaoxx source/pattern opaque. */
16971static unsigned xrop3_158_0_0 (unsigned char s, unsigned char t)
16972{
16973  unsigned D = 0x00ff;
16974  unsigned S = ((unsigned)s << 8) | s;
16975  unsigned T = ((unsigned)t << 8) | t;
16976  unsigned stk1;
16977  unsigned stk2;
16978  unsigned stk3;
16979  unsigned stk4;
16980  stk4 = D & S;
16981  stk3 = T | stk4;
16982  stk2 = S ^ stk3;
16983  stk1 = D ^ stk2;
16984  return stk1;
16985}
16986
16987/* DSTDSaoxx source opaque/pattern transparent. */
16988static unsigned xrop3_158_0_1 (unsigned char s, unsigned char t)
16989{
16990  unsigned D = 0x00ff;
16991  unsigned S = ((unsigned)s << 8) | s;
16992  unsigned T = ((unsigned)t << 8) | t;
16993  unsigned stk1;
16994  unsigned stk2;
16995  unsigned stk3;
16996  unsigned stk4;
16997  stk4 = D & S;
16998  stk3 = T | stk4;
16999  stk2 = S ^ stk3;
17000  stk1 = D ^ stk2;
17001  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17002}
17003
17004/* DSTDSaoxx source transparent/pattern opaque. */
17005static unsigned xrop3_158_1_0 (unsigned char s, unsigned char t)
17006{
17007  unsigned D = 0x00ff;
17008  unsigned S = ((unsigned)s << 8) | s;
17009  unsigned T = ((unsigned)t << 8) | t;
17010  unsigned stk1;
17011  unsigned stk2;
17012  unsigned stk3;
17013  unsigned stk4;
17014  stk4 = D & S;
17015  stk3 = T | stk4;
17016  stk2 = S ^ stk3;
17017  stk1 = D ^ stk2;
17018  return (stk1 & (~S)) | (D & S);
17019}
17020
17021/* DSTDSaoxx source/pattern transparent. */
17022static unsigned xrop3_158_1_1 (unsigned char s, unsigned char t)
17023{
17024  unsigned D = 0x00ff;
17025  unsigned S = ((unsigned)s << 8) | s;
17026  unsigned T = ((unsigned)t << 8) | t;
17027  unsigned stk1;
17028  unsigned stk2;
17029  unsigned stk3;
17030  unsigned stk4;
17031  stk4 = D & S;
17032  stk3 = T | stk4;
17033  stk2 = S ^ stk3;
17034  stk1 = D ^ stk2;
17035  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17036}
17037
17038/* TDSxan source/pattern opaque. */
17039static void rop3_159_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17040{
17041  unsigned char stk1;
17042  unsigned char stk2;
17043  stk2 = *D ^ S;
17044  stk1 = T & stk2;
17045  stk1 = ~stk1;
17046  *D = stk1;
17047}
17048
17049/* TDSxan source opaque/pattern transparent. */
17050static void rop3_159_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17051{
17052  unsigned char stk1;
17053  unsigned char stk2;
17054  stk2 = *D ^ S;
17055  stk1 = T & stk2;
17056  stk1 = ~stk1;
17057  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17058}
17059
17060/* TDSxan source transparent/pattern opaque. */
17061static void rop3_159_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17062{
17063  unsigned char stk1;
17064  unsigned char stk2;
17065  stk2 = *D ^ S;
17066  stk1 = T & stk2;
17067  stk1 = ~stk1;
17068  *D = (stk1 & (~S)) | (*D & S);
17069}
17070
17071/* TDSxan source/pattern transparent. */
17072static void rop3_159_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17073{
17074  unsigned char stk1;
17075  unsigned char stk2;
17076  stk2 = *D ^ S;
17077  stk1 = T & stk2;
17078  stk1 = ~stk1;
17079  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17080}
17081
17082/* TDSxan source/pattern opaque. */
17083static unsigned xrop3_159_0_0 (unsigned char s, unsigned char t)
17084{
17085  unsigned D = 0x00ff;
17086  unsigned S = ((unsigned)s << 8) | s;
17087  unsigned T = ((unsigned)t << 8) | t;
17088  unsigned stk1;
17089  unsigned stk2;
17090  stk2 = D ^ S;
17091  stk1 = T & stk2;
17092  stk1 = ~stk1;
17093  return stk1;
17094}
17095
17096/* TDSxan source opaque/pattern transparent. */
17097static unsigned xrop3_159_0_1 (unsigned char s, unsigned char t)
17098{
17099  unsigned D = 0x00ff;
17100  unsigned S = ((unsigned)s << 8) | s;
17101  unsigned T = ((unsigned)t << 8) | t;
17102  unsigned stk1;
17103  unsigned stk2;
17104  stk2 = D ^ S;
17105  stk1 = T & stk2;
17106  stk1 = ~stk1;
17107  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17108}
17109
17110/* TDSxan source transparent/pattern opaque. */
17111static unsigned xrop3_159_1_0 (unsigned char s, unsigned char t)
17112{
17113  unsigned D = 0x00ff;
17114  unsigned S = ((unsigned)s << 8) | s;
17115  unsigned T = ((unsigned)t << 8) | t;
17116  unsigned stk1;
17117  unsigned stk2;
17118  stk2 = D ^ S;
17119  stk1 = T & stk2;
17120  stk1 = ~stk1;
17121  return (stk1 & (~S)) | (D & S);
17122}
17123
17124/* TDSxan source/pattern transparent. */
17125static unsigned xrop3_159_1_1 (unsigned char s, unsigned char t)
17126{
17127  unsigned D = 0x00ff;
17128  unsigned S = ((unsigned)s << 8) | s;
17129  unsigned T = ((unsigned)t << 8) | t;
17130  unsigned stk1;
17131  unsigned stk2;
17132  stk2 = D ^ S;
17133  stk1 = T & stk2;
17134  stk1 = ~stk1;
17135  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17136}
17137
17138/* DTa source/pattern opaque. */
17139static void rop3_160_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17140{
17141  unsigned char stk1;
17142  stk1 = *D & T;
17143  *D = stk1;
17144}
17145
17146/* DTa source opaque/pattern transparent. */
17147static void rop3_160_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17148{
17149  unsigned char stk1;
17150  stk1 = *D & T;
17151  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17152}
17153
17154/* DTa source transparent/pattern opaque. */
17155static void rop3_160_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17156{
17157  unsigned char stk1;
17158  stk1 = *D & T;
17159  *D = (stk1 & (~S)) | (*D & S);
17160}
17161
17162/* DTa source/pattern transparent. */
17163static void rop3_160_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17164{
17165  unsigned char stk1;
17166  stk1 = *D & T;
17167  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17168}
17169
17170/* DTa source/pattern opaque. */
17171static unsigned xrop3_160_0_0 (unsigned char s, unsigned char t)
17172{
17173  unsigned D = 0x00ff;
17174  unsigned T = ((unsigned)t << 8) | t;
17175  unsigned stk1;
17176  stk1 = D & T;
17177  return stk1;
17178}
17179
17180/* DTa source opaque/pattern transparent. */
17181static unsigned xrop3_160_0_1 (unsigned char s, unsigned char t)
17182{
17183  unsigned D = 0x00ff;
17184  unsigned S = ((unsigned)s << 8) | s;
17185  unsigned T = ((unsigned)t << 8) | t;
17186  unsigned stk1;
17187  stk1 = D & T;
17188  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17189}
17190
17191/* DTa source transparent/pattern opaque. */
17192static unsigned xrop3_160_1_0 (unsigned char s, unsigned char t)
17193{
17194  unsigned D = 0x00ff;
17195  unsigned S = ((unsigned)s << 8) | s;
17196  unsigned T = ((unsigned)t << 8) | t;
17197  unsigned stk1;
17198  stk1 = D & T;
17199  return (stk1 & (~S)) | (D & S);
17200}
17201
17202/* DTa source/pattern transparent. */
17203static unsigned xrop3_160_1_1 (unsigned char s, unsigned char t)
17204{
17205  unsigned D = 0x00ff;
17206  unsigned S = ((unsigned)s << 8) | s;
17207  unsigned T = ((unsigned)t << 8) | t;
17208  unsigned stk1;
17209  stk1 = D & T;
17210  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17211}
17212
17213/* TDSTnaoxn source/pattern opaque. */
17214static void rop3_161_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17215{
17216  unsigned char stk1;
17217  unsigned char stk2;
17218  unsigned char stk3;
17219  unsigned char stk4;
17220  stk4 = ~T;
17221  stk3 = S & stk4;
17222  stk2 = *D | stk3;
17223  stk1 = T ^ stk2;
17224  stk1 = ~stk1;
17225  *D = stk1;
17226}
17227
17228/* TDSTnaoxn source opaque/pattern transparent. */
17229static void rop3_161_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17230{
17231  unsigned char stk1;
17232  unsigned char stk2;
17233  unsigned char stk3;
17234  unsigned char stk4;
17235  stk4 = ~T;
17236  stk3 = S & stk4;
17237  stk2 = *D | stk3;
17238  stk1 = T ^ stk2;
17239  stk1 = ~stk1;
17240  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17241}
17242
17243/* TDSTnaoxn source transparent/pattern opaque. */
17244static void rop3_161_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17245{
17246  unsigned char stk1;
17247  unsigned char stk2;
17248  unsigned char stk3;
17249  unsigned char stk4;
17250  stk4 = ~T;
17251  stk3 = S & stk4;
17252  stk2 = *D | stk3;
17253  stk1 = T ^ stk2;
17254  stk1 = ~stk1;
17255  *D = (stk1 & (~S)) | (*D & S);
17256}
17257
17258/* TDSTnaoxn source/pattern transparent. */
17259static void rop3_161_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17260{
17261  unsigned char stk1;
17262  unsigned char stk2;
17263  unsigned char stk3;
17264  unsigned char stk4;
17265  stk4 = ~T;
17266  stk3 = S & stk4;
17267  stk2 = *D | stk3;
17268  stk1 = T ^ stk2;
17269  stk1 = ~stk1;
17270  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17271}
17272
17273/* TDSTnaoxn source/pattern opaque. */
17274static unsigned xrop3_161_0_0 (unsigned char s, unsigned char t)
17275{
17276  unsigned D = 0x00ff;
17277  unsigned S = ((unsigned)s << 8) | s;
17278  unsigned T = ((unsigned)t << 8) | t;
17279  unsigned stk1;
17280  unsigned stk2;
17281  unsigned stk3;
17282  unsigned stk4;
17283  stk4 = ~T;
17284  stk3 = S & stk4;
17285  stk2 = D | stk3;
17286  stk1 = T ^ stk2;
17287  stk1 = ~stk1;
17288  return stk1;
17289}
17290
17291/* TDSTnaoxn source opaque/pattern transparent. */
17292static unsigned xrop3_161_0_1 (unsigned char s, unsigned char t)
17293{
17294  unsigned D = 0x00ff;
17295  unsigned S = ((unsigned)s << 8) | s;
17296  unsigned T = ((unsigned)t << 8) | t;
17297  unsigned stk1;
17298  unsigned stk2;
17299  unsigned stk3;
17300  unsigned stk4;
17301  stk4 = ~T;
17302  stk3 = S & stk4;
17303  stk2 = D | stk3;
17304  stk1 = T ^ stk2;
17305  stk1 = ~stk1;
17306  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17307}
17308
17309/* TDSTnaoxn source transparent/pattern opaque. */
17310static unsigned xrop3_161_1_0 (unsigned char s, unsigned char t)
17311{
17312  unsigned D = 0x00ff;
17313  unsigned S = ((unsigned)s << 8) | s;
17314  unsigned T = ((unsigned)t << 8) | t;
17315  unsigned stk1;
17316  unsigned stk2;
17317  unsigned stk3;
17318  unsigned stk4;
17319  stk4 = ~T;
17320  stk3 = S & stk4;
17321  stk2 = D | stk3;
17322  stk1 = T ^ stk2;
17323  stk1 = ~stk1;
17324  return (stk1 & (~S)) | (D & S);
17325}
17326
17327/* TDSTnaoxn source/pattern transparent. */
17328static unsigned xrop3_161_1_1 (unsigned char s, unsigned char t)
17329{
17330  unsigned D = 0x00ff;
17331  unsigned S = ((unsigned)s << 8) | s;
17332  unsigned T = ((unsigned)t << 8) | t;
17333  unsigned stk1;
17334  unsigned stk2;
17335  unsigned stk3;
17336  unsigned stk4;
17337  stk4 = ~T;
17338  stk3 = S & stk4;
17339  stk2 = D | stk3;
17340  stk1 = T ^ stk2;
17341  stk1 = ~stk1;
17342  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17343}
17344
17345/* DTSnoa source/pattern opaque. */
17346static void rop3_162_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17347{
17348  unsigned char stk1;
17349  unsigned char stk2;
17350  unsigned char stk3;
17351  stk3 = ~S;
17352  stk2 = T | stk3;
17353  stk1 = *D & stk2;
17354  *D = stk1;
17355}
17356
17357/* DTSnoa source opaque/pattern transparent. */
17358static void rop3_162_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17359{
17360  unsigned char stk1;
17361  unsigned char stk2;
17362  unsigned char stk3;
17363  stk3 = ~S;
17364  stk2 = T | stk3;
17365  stk1 = *D & stk2;
17366  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17367}
17368
17369/* DTSnoa source transparent/pattern opaque. */
17370static void rop3_162_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17371{
17372  unsigned char stk1;
17373  unsigned char stk2;
17374  unsigned char stk3;
17375  stk3 = ~S;
17376  stk2 = T | stk3;
17377  stk1 = *D & stk2;
17378  *D = (stk1 & (~S)) | (*D & S);
17379}
17380
17381/* DTSnoa source/pattern transparent. */
17382static void rop3_162_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17383{
17384  unsigned char stk1;
17385  unsigned char stk2;
17386  unsigned char stk3;
17387  stk3 = ~S;
17388  stk2 = T | stk3;
17389  stk1 = *D & stk2;
17390  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17391}
17392
17393/* DTSnoa source/pattern opaque. */
17394static unsigned xrop3_162_0_0 (unsigned char s, unsigned char t)
17395{
17396  unsigned D = 0x00ff;
17397  unsigned S = ((unsigned)s << 8) | s;
17398  unsigned T = ((unsigned)t << 8) | t;
17399  unsigned stk1;
17400  unsigned stk2;
17401  unsigned stk3;
17402  stk3 = ~S;
17403  stk2 = T | stk3;
17404  stk1 = D & stk2;
17405  return stk1;
17406}
17407
17408/* DTSnoa source opaque/pattern transparent. */
17409static unsigned xrop3_162_0_1 (unsigned char s, unsigned char t)
17410{
17411  unsigned D = 0x00ff;
17412  unsigned S = ((unsigned)s << 8) | s;
17413  unsigned T = ((unsigned)t << 8) | t;
17414  unsigned stk1;
17415  unsigned stk2;
17416  unsigned stk3;
17417  stk3 = ~S;
17418  stk2 = T | stk3;
17419  stk1 = D & stk2;
17420  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17421}
17422
17423/* DTSnoa source transparent/pattern opaque. */
17424static unsigned xrop3_162_1_0 (unsigned char s, unsigned char t)
17425{
17426  unsigned D = 0x00ff;
17427  unsigned S = ((unsigned)s << 8) | s;
17428  unsigned T = ((unsigned)t << 8) | t;
17429  unsigned stk1;
17430  unsigned stk2;
17431  unsigned stk3;
17432  stk3 = ~S;
17433  stk2 = T | stk3;
17434  stk1 = D & stk2;
17435  return (stk1 & (~S)) | (D & S);
17436}
17437
17438/* DTSnoa source/pattern transparent. */
17439static unsigned xrop3_162_1_1 (unsigned char s, unsigned char t)
17440{
17441  unsigned D = 0x00ff;
17442  unsigned S = ((unsigned)s << 8) | s;
17443  unsigned T = ((unsigned)t << 8) | t;
17444  unsigned stk1;
17445  unsigned stk2;
17446  unsigned stk3;
17447  stk3 = ~S;
17448  stk2 = T | stk3;
17449  stk1 = D & stk2;
17450  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17451}
17452
17453/* DTSDxoxn source/pattern opaque. */
17454static void rop3_163_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17455{
17456  unsigned char stk1;
17457  unsigned char stk2;
17458  unsigned char stk3;
17459  stk3 = S ^ *D;
17460  stk2 = T | stk3;
17461  stk1 = *D ^ stk2;
17462  stk1 = ~stk1;
17463  *D = stk1;
17464}
17465
17466/* DTSDxoxn source opaque/pattern transparent. */
17467static void rop3_163_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17468{
17469  unsigned char stk1;
17470  unsigned char stk2;
17471  unsigned char stk3;
17472  stk3 = S ^ *D;
17473  stk2 = T | stk3;
17474  stk1 = *D ^ stk2;
17475  stk1 = ~stk1;
17476  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17477}
17478
17479/* DTSDxoxn source transparent/pattern opaque. */
17480static void rop3_163_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17481{
17482  unsigned char stk1;
17483  unsigned char stk2;
17484  unsigned char stk3;
17485  stk3 = S ^ *D;
17486  stk2 = T | stk3;
17487  stk1 = *D ^ stk2;
17488  stk1 = ~stk1;
17489  *D = (stk1 & (~S)) | (*D & S);
17490}
17491
17492/* DTSDxoxn source/pattern transparent. */
17493static void rop3_163_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17494{
17495  unsigned char stk1;
17496  unsigned char stk2;
17497  unsigned char stk3;
17498  stk3 = S ^ *D;
17499  stk2 = T | stk3;
17500  stk1 = *D ^ stk2;
17501  stk1 = ~stk1;
17502  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17503}
17504
17505/* DTSDxoxn source/pattern opaque. */
17506static unsigned xrop3_163_0_0 (unsigned char s, unsigned char t)
17507{
17508  unsigned D = 0x00ff;
17509  unsigned S = ((unsigned)s << 8) | s;
17510  unsigned T = ((unsigned)t << 8) | t;
17511  unsigned stk1;
17512  unsigned stk2;
17513  unsigned stk3;
17514  stk3 = S ^ D;
17515  stk2 = T | stk3;
17516  stk1 = D ^ stk2;
17517  stk1 = ~stk1;
17518  return stk1;
17519}
17520
17521/* DTSDxoxn source opaque/pattern transparent. */
17522static unsigned xrop3_163_0_1 (unsigned char s, unsigned char t)
17523{
17524  unsigned D = 0x00ff;
17525  unsigned S = ((unsigned)s << 8) | s;
17526  unsigned T = ((unsigned)t << 8) | t;
17527  unsigned stk1;
17528  unsigned stk2;
17529  unsigned stk3;
17530  stk3 = S ^ D;
17531  stk2 = T | stk3;
17532  stk1 = D ^ stk2;
17533  stk1 = ~stk1;
17534  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17535}
17536
17537/* DTSDxoxn source transparent/pattern opaque. */
17538static unsigned xrop3_163_1_0 (unsigned char s, unsigned char t)
17539{
17540  unsigned D = 0x00ff;
17541  unsigned S = ((unsigned)s << 8) | s;
17542  unsigned T = ((unsigned)t << 8) | t;
17543  unsigned stk1;
17544  unsigned stk2;
17545  unsigned stk3;
17546  stk3 = S ^ D;
17547  stk2 = T | stk3;
17548  stk1 = D ^ stk2;
17549  stk1 = ~stk1;
17550  return (stk1 & (~S)) | (D & S);
17551}
17552
17553/* DTSDxoxn source/pattern transparent. */
17554static unsigned xrop3_163_1_1 (unsigned char s, unsigned char t)
17555{
17556  unsigned D = 0x00ff;
17557  unsigned S = ((unsigned)s << 8) | s;
17558  unsigned T = ((unsigned)t << 8) | t;
17559  unsigned stk1;
17560  unsigned stk2;
17561  unsigned stk3;
17562  stk3 = S ^ D;
17563  stk2 = T | stk3;
17564  stk1 = D ^ stk2;
17565  stk1 = ~stk1;
17566  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17567}
17568
17569/* TDSTonoxn source/pattern opaque. */
17570static void rop3_164_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17571{
17572  unsigned char stk1;
17573  unsigned char stk2;
17574  unsigned char stk3;
17575  stk3 = S | T;
17576  stk3 = ~stk3;
17577  stk2 = *D | stk3;
17578  stk1 = T ^ stk2;
17579  stk1 = ~stk1;
17580  *D = stk1;
17581}
17582
17583/* TDSTonoxn source opaque/pattern transparent. */
17584static void rop3_164_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17585{
17586  unsigned char stk1;
17587  unsigned char stk2;
17588  unsigned char stk3;
17589  stk3 = S | T;
17590  stk3 = ~stk3;
17591  stk2 = *D | stk3;
17592  stk1 = T ^ stk2;
17593  stk1 = ~stk1;
17594  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17595}
17596
17597/* TDSTonoxn source transparent/pattern opaque. */
17598static void rop3_164_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17599{
17600  unsigned char stk1;
17601  unsigned char stk2;
17602  unsigned char stk3;
17603  stk3 = S | T;
17604  stk3 = ~stk3;
17605  stk2 = *D | stk3;
17606  stk1 = T ^ stk2;
17607  stk1 = ~stk1;
17608  *D = (stk1 & (~S)) | (*D & S);
17609}
17610
17611/* TDSTonoxn source/pattern transparent. */
17612static void rop3_164_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17613{
17614  unsigned char stk1;
17615  unsigned char stk2;
17616  unsigned char stk3;
17617  stk3 = S | T;
17618  stk3 = ~stk3;
17619  stk2 = *D | stk3;
17620  stk1 = T ^ stk2;
17621  stk1 = ~stk1;
17622  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17623}
17624
17625/* TDSTonoxn source/pattern opaque. */
17626static unsigned xrop3_164_0_0 (unsigned char s, unsigned char t)
17627{
17628  unsigned D = 0x00ff;
17629  unsigned S = ((unsigned)s << 8) | s;
17630  unsigned T = ((unsigned)t << 8) | t;
17631  unsigned stk1;
17632  unsigned stk2;
17633  unsigned stk3;
17634  stk3 = S | T;
17635  stk3 = ~stk3;
17636  stk2 = D | stk3;
17637  stk1 = T ^ stk2;
17638  stk1 = ~stk1;
17639  return stk1;
17640}
17641
17642/* TDSTonoxn source opaque/pattern transparent. */
17643static unsigned xrop3_164_0_1 (unsigned char s, unsigned char t)
17644{
17645  unsigned D = 0x00ff;
17646  unsigned S = ((unsigned)s << 8) | s;
17647  unsigned T = ((unsigned)t << 8) | t;
17648  unsigned stk1;
17649  unsigned stk2;
17650  unsigned stk3;
17651  stk3 = S | T;
17652  stk3 = ~stk3;
17653  stk2 = D | stk3;
17654  stk1 = T ^ stk2;
17655  stk1 = ~stk1;
17656  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17657}
17658
17659/* TDSTonoxn source transparent/pattern opaque. */
17660static unsigned xrop3_164_1_0 (unsigned char s, unsigned char t)
17661{
17662  unsigned D = 0x00ff;
17663  unsigned S = ((unsigned)s << 8) | s;
17664  unsigned T = ((unsigned)t << 8) | t;
17665  unsigned stk1;
17666  unsigned stk2;
17667  unsigned stk3;
17668  stk3 = S | T;
17669  stk3 = ~stk3;
17670  stk2 = D | stk3;
17671  stk1 = T ^ stk2;
17672  stk1 = ~stk1;
17673  return (stk1 & (~S)) | (D & S);
17674}
17675
17676/* TDSTonoxn source/pattern transparent. */
17677static unsigned xrop3_164_1_1 (unsigned char s, unsigned char t)
17678{
17679  unsigned D = 0x00ff;
17680  unsigned S = ((unsigned)s << 8) | s;
17681  unsigned T = ((unsigned)t << 8) | t;
17682  unsigned stk1;
17683  unsigned stk2;
17684  unsigned stk3;
17685  stk3 = S | T;
17686  stk3 = ~stk3;
17687  stk2 = D | stk3;
17688  stk1 = T ^ stk2;
17689  stk1 = ~stk1;
17690  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17691}
17692
17693/* TDxn source/pattern opaque. */
17694static void rop3_165_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17695{
17696  unsigned char stk1;
17697  stk1 = T ^ *D;
17698  stk1 = ~stk1;
17699  *D = stk1;
17700}
17701
17702/* TDxn source opaque/pattern transparent. */
17703static void rop3_165_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17704{
17705  unsigned char stk1;
17706  stk1 = T ^ *D;
17707  stk1 = ~stk1;
17708  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17709}
17710
17711/* TDxn source transparent/pattern opaque. */
17712static void rop3_165_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17713{
17714  unsigned char stk1;
17715  stk1 = T ^ *D;
17716  stk1 = ~stk1;
17717  *D = (stk1 & (~S)) | (*D & S);
17718}
17719
17720/* TDxn source/pattern transparent. */
17721static void rop3_165_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17722{
17723  unsigned char stk1;
17724  stk1 = T ^ *D;
17725  stk1 = ~stk1;
17726  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17727}
17728
17729/* TDxn source/pattern opaque. */
17730static unsigned xrop3_165_0_0 (unsigned char s, unsigned char t)
17731{
17732  unsigned D = 0x00ff;
17733  unsigned T = ((unsigned)t << 8) | t;
17734  unsigned stk1;
17735  stk1 = T ^ D;
17736  stk1 = ~stk1;
17737  return stk1;
17738}
17739
17740/* TDxn source opaque/pattern transparent. */
17741static unsigned xrop3_165_0_1 (unsigned char s, unsigned char t)
17742{
17743  unsigned D = 0x00ff;
17744  unsigned S = ((unsigned)s << 8) | s;
17745  unsigned T = ((unsigned)t << 8) | t;
17746  unsigned stk1;
17747  stk1 = T ^ D;
17748  stk1 = ~stk1;
17749  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17750}
17751
17752/* TDxn source transparent/pattern opaque. */
17753static unsigned xrop3_165_1_0 (unsigned char s, unsigned char t)
17754{
17755  unsigned D = 0x00ff;
17756  unsigned S = ((unsigned)s << 8) | s;
17757  unsigned T = ((unsigned)t << 8) | t;
17758  unsigned stk1;
17759  stk1 = T ^ D;
17760  stk1 = ~stk1;
17761  return (stk1 & (~S)) | (D & S);
17762}
17763
17764/* TDxn source/pattern transparent. */
17765static unsigned xrop3_165_1_1 (unsigned char s, unsigned char t)
17766{
17767  unsigned D = 0x00ff;
17768  unsigned S = ((unsigned)s << 8) | s;
17769  unsigned T = ((unsigned)t << 8) | t;
17770  unsigned stk1;
17771  stk1 = T ^ D;
17772  stk1 = ~stk1;
17773  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17774}
17775
17776/* DSTnax source/pattern opaque. */
17777static void rop3_166_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17778{
17779  unsigned char stk1;
17780  unsigned char stk2;
17781  unsigned char stk3;
17782  stk3 = ~T;
17783  stk2 = S & stk3;
17784  stk1 = *D ^ stk2;
17785  *D = stk1;
17786}
17787
17788/* DSTnax source opaque/pattern transparent. */
17789static void rop3_166_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17790{
17791  unsigned char stk1;
17792  unsigned char stk2;
17793  unsigned char stk3;
17794  stk3 = ~T;
17795  stk2 = S & stk3;
17796  stk1 = *D ^ stk2;
17797  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17798}
17799
17800/* DSTnax source transparent/pattern opaque. */
17801static void rop3_166_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17802{
17803  unsigned char stk1;
17804  unsigned char stk2;
17805  unsigned char stk3;
17806  stk3 = ~T;
17807  stk2 = S & stk3;
17808  stk1 = *D ^ stk2;
17809  *D = (stk1 & (~S)) | (*D & S);
17810}
17811
17812/* DSTnax source/pattern transparent. */
17813static void rop3_166_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17814{
17815  unsigned char stk1;
17816  unsigned char stk2;
17817  unsigned char stk3;
17818  stk3 = ~T;
17819  stk2 = S & stk3;
17820  stk1 = *D ^ stk2;
17821  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17822}
17823
17824/* DSTnax source/pattern opaque. */
17825static unsigned xrop3_166_0_0 (unsigned char s, unsigned char t)
17826{
17827  unsigned D = 0x00ff;
17828  unsigned S = ((unsigned)s << 8) | s;
17829  unsigned T = ((unsigned)t << 8) | t;
17830  unsigned stk1;
17831  unsigned stk2;
17832  unsigned stk3;
17833  stk3 = ~T;
17834  stk2 = S & stk3;
17835  stk1 = D ^ stk2;
17836  return stk1;
17837}
17838
17839/* DSTnax source opaque/pattern transparent. */
17840static unsigned xrop3_166_0_1 (unsigned char s, unsigned char t)
17841{
17842  unsigned D = 0x00ff;
17843  unsigned S = ((unsigned)s << 8) | s;
17844  unsigned T = ((unsigned)t << 8) | t;
17845  unsigned stk1;
17846  unsigned stk2;
17847  unsigned stk3;
17848  stk3 = ~T;
17849  stk2 = S & stk3;
17850  stk1 = D ^ stk2;
17851  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17852}
17853
17854/* DSTnax source transparent/pattern opaque. */
17855static unsigned xrop3_166_1_0 (unsigned char s, unsigned char t)
17856{
17857  unsigned D = 0x00ff;
17858  unsigned S = ((unsigned)s << 8) | s;
17859  unsigned T = ((unsigned)t << 8) | t;
17860  unsigned stk1;
17861  unsigned stk2;
17862  unsigned stk3;
17863  stk3 = ~T;
17864  stk2 = S & stk3;
17865  stk1 = D ^ stk2;
17866  return (stk1 & (~S)) | (D & S);
17867}
17868
17869/* DSTnax source/pattern transparent. */
17870static unsigned xrop3_166_1_1 (unsigned char s, unsigned char t)
17871{
17872  unsigned D = 0x00ff;
17873  unsigned S = ((unsigned)s << 8) | s;
17874  unsigned T = ((unsigned)t << 8) | t;
17875  unsigned stk1;
17876  unsigned stk2;
17877  unsigned stk3;
17878  stk3 = ~T;
17879  stk2 = S & stk3;
17880  stk1 = D ^ stk2;
17881  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17882}
17883
17884/* TDSToaxn source/pattern opaque. */
17885static void rop3_167_0_0 (unsigned char *D, unsigned char S, unsigned char T)
17886{
17887  unsigned char stk1;
17888  unsigned char stk2;
17889  unsigned char stk3;
17890  stk3 = S | T;
17891  stk2 = *D & stk3;
17892  stk1 = T ^ stk2;
17893  stk1 = ~stk1;
17894  *D = stk1;
17895}
17896
17897/* TDSToaxn source opaque/pattern transparent. */
17898static void rop3_167_0_1 (unsigned char *D, unsigned char S, unsigned char T)
17899{
17900  unsigned char stk1;
17901  unsigned char stk2;
17902  unsigned char stk3;
17903  stk3 = S | T;
17904  stk2 = *D & stk3;
17905  stk1 = T ^ stk2;
17906  stk1 = ~stk1;
17907  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
17908}
17909
17910/* TDSToaxn source transparent/pattern opaque. */
17911static void rop3_167_1_0 (unsigned char *D, unsigned char S, unsigned char T)
17912{
17913  unsigned char stk1;
17914  unsigned char stk2;
17915  unsigned char stk3;
17916  stk3 = S | T;
17917  stk2 = *D & stk3;
17918  stk1 = T ^ stk2;
17919  stk1 = ~stk1;
17920  *D = (stk1 & (~S)) | (*D & S);
17921}
17922
17923/* TDSToaxn source/pattern transparent. */
17924static void rop3_167_1_1 (unsigned char *D, unsigned char S, unsigned char T)
17925{
17926  unsigned char stk1;
17927  unsigned char stk2;
17928  unsigned char stk3;
17929  stk3 = S | T;
17930  stk2 = *D & stk3;
17931  stk1 = T ^ stk2;
17932  stk1 = ~stk1;
17933  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
17934}
17935
17936/* TDSToaxn source/pattern opaque. */
17937static unsigned xrop3_167_0_0 (unsigned char s, unsigned char t)
17938{
17939  unsigned D = 0x00ff;
17940  unsigned S = ((unsigned)s << 8) | s;
17941  unsigned T = ((unsigned)t << 8) | t;
17942  unsigned stk1;
17943  unsigned stk2;
17944  unsigned stk3;
17945  stk3 = S | T;
17946  stk2 = D & stk3;
17947  stk1 = T ^ stk2;
17948  stk1 = ~stk1;
17949  return stk1;
17950}
17951
17952/* TDSToaxn source opaque/pattern transparent. */
17953static unsigned xrop3_167_0_1 (unsigned char s, unsigned char t)
17954{
17955  unsigned D = 0x00ff;
17956  unsigned S = ((unsigned)s << 8) | s;
17957  unsigned T = ((unsigned)t << 8) | t;
17958  unsigned stk1;
17959  unsigned stk2;
17960  unsigned stk3;
17961  stk3 = S | T;
17962  stk2 = D & stk3;
17963  stk1 = T ^ stk2;
17964  stk1 = ~stk1;
17965  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
17966}
17967
17968/* TDSToaxn source transparent/pattern opaque. */
17969static unsigned xrop3_167_1_0 (unsigned char s, unsigned char t)
17970{
17971  unsigned D = 0x00ff;
17972  unsigned S = ((unsigned)s << 8) | s;
17973  unsigned T = ((unsigned)t << 8) | t;
17974  unsigned stk1;
17975  unsigned stk2;
17976  unsigned stk3;
17977  stk3 = S | T;
17978  stk2 = D & stk3;
17979  stk1 = T ^ stk2;
17980  stk1 = ~stk1;
17981  return (stk1 & (~S)) | (D & S);
17982}
17983
17984/* TDSToaxn source/pattern transparent. */
17985static unsigned xrop3_167_1_1 (unsigned char s, unsigned char t)
17986{
17987  unsigned D = 0x00ff;
17988  unsigned S = ((unsigned)s << 8) | s;
17989  unsigned T = ((unsigned)t << 8) | t;
17990  unsigned stk1;
17991  unsigned stk2;
17992  unsigned stk3;
17993  stk3 = S | T;
17994  stk2 = D & stk3;
17995  stk1 = T ^ stk2;
17996  stk1 = ~stk1;
17997  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
17998}
17999
18000/* DTSoa source/pattern opaque. */
18001static void rop3_168_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18002{
18003  unsigned char stk1;
18004  unsigned char stk2;
18005  stk2 = T | S;
18006  stk1 = *D & stk2;
18007  *D = stk1;
18008}
18009
18010/* DTSoa source opaque/pattern transparent. */
18011static void rop3_168_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18012{
18013  unsigned char stk1;
18014  unsigned char stk2;
18015  stk2 = T | S;
18016  stk1 = *D & stk2;
18017  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18018}
18019
18020/* DTSoa source transparent/pattern opaque. */
18021static void rop3_168_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18022{
18023  unsigned char stk1;
18024  unsigned char stk2;
18025  stk2 = T | S;
18026  stk1 = *D & stk2;
18027  *D = (stk1 & (~S)) | (*D & S);
18028}
18029
18030/* DTSoa source/pattern transparent. */
18031static void rop3_168_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18032{
18033  unsigned char stk1;
18034  unsigned char stk2;
18035  stk2 = T | S;
18036  stk1 = *D & stk2;
18037  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18038}
18039
18040/* DTSoa source/pattern opaque. */
18041static unsigned xrop3_168_0_0 (unsigned char s, unsigned char t)
18042{
18043  unsigned D = 0x00ff;
18044  unsigned S = ((unsigned)s << 8) | s;
18045  unsigned T = ((unsigned)t << 8) | t;
18046  unsigned stk1;
18047  unsigned stk2;
18048  stk2 = T | S;
18049  stk1 = D & stk2;
18050  return stk1;
18051}
18052
18053/* DTSoa source opaque/pattern transparent. */
18054static unsigned xrop3_168_0_1 (unsigned char s, unsigned char t)
18055{
18056  unsigned D = 0x00ff;
18057  unsigned S = ((unsigned)s << 8) | s;
18058  unsigned T = ((unsigned)t << 8) | t;
18059  unsigned stk1;
18060  unsigned stk2;
18061  stk2 = T | S;
18062  stk1 = D & stk2;
18063  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18064}
18065
18066/* DTSoa source transparent/pattern opaque. */
18067static unsigned xrop3_168_1_0 (unsigned char s, unsigned char t)
18068{
18069  unsigned D = 0x00ff;
18070  unsigned S = ((unsigned)s << 8) | s;
18071  unsigned T = ((unsigned)t << 8) | t;
18072  unsigned stk1;
18073  unsigned stk2;
18074  stk2 = T | S;
18075  stk1 = D & stk2;
18076  return (stk1 & (~S)) | (D & S);
18077}
18078
18079/* DTSoa source/pattern transparent. */
18080static unsigned xrop3_168_1_1 (unsigned char s, unsigned char t)
18081{
18082  unsigned D = 0x00ff;
18083  unsigned S = ((unsigned)s << 8) | s;
18084  unsigned T = ((unsigned)t << 8) | t;
18085  unsigned stk1;
18086  unsigned stk2;
18087  stk2 = T | S;
18088  stk1 = D & stk2;
18089  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18090}
18091
18092/* DTSoxn source/pattern opaque. */
18093static void rop3_169_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18094{
18095  unsigned char stk1;
18096  unsigned char stk2;
18097  stk2 = T | S;
18098  stk1 = *D ^ stk2;
18099  stk1 = ~stk1;
18100  *D = stk1;
18101}
18102
18103/* DTSoxn source opaque/pattern transparent. */
18104static void rop3_169_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18105{
18106  unsigned char stk1;
18107  unsigned char stk2;
18108  stk2 = T | S;
18109  stk1 = *D ^ stk2;
18110  stk1 = ~stk1;
18111  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18112}
18113
18114/* DTSoxn source transparent/pattern opaque. */
18115static void rop3_169_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18116{
18117  unsigned char stk1;
18118  unsigned char stk2;
18119  stk2 = T | S;
18120  stk1 = *D ^ stk2;
18121  stk1 = ~stk1;
18122  *D = (stk1 & (~S)) | (*D & S);
18123}
18124
18125/* DTSoxn source/pattern transparent. */
18126static void rop3_169_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18127{
18128  unsigned char stk1;
18129  unsigned char stk2;
18130  stk2 = T | S;
18131  stk1 = *D ^ stk2;
18132  stk1 = ~stk1;
18133  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18134}
18135
18136/* DTSoxn source/pattern opaque. */
18137static unsigned xrop3_169_0_0 (unsigned char s, unsigned char t)
18138{
18139  unsigned D = 0x00ff;
18140  unsigned S = ((unsigned)s << 8) | s;
18141  unsigned T = ((unsigned)t << 8) | t;
18142  unsigned stk1;
18143  unsigned stk2;
18144  stk2 = T | S;
18145  stk1 = D ^ stk2;
18146  stk1 = ~stk1;
18147  return stk1;
18148}
18149
18150/* DTSoxn source opaque/pattern transparent. */
18151static unsigned xrop3_169_0_1 (unsigned char s, unsigned char t)
18152{
18153  unsigned D = 0x00ff;
18154  unsigned S = ((unsigned)s << 8) | s;
18155  unsigned T = ((unsigned)t << 8) | t;
18156  unsigned stk1;
18157  unsigned stk2;
18158  stk2 = T | S;
18159  stk1 = D ^ stk2;
18160  stk1 = ~stk1;
18161  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18162}
18163
18164/* DTSoxn source transparent/pattern opaque. */
18165static unsigned xrop3_169_1_0 (unsigned char s, unsigned char t)
18166{
18167  unsigned D = 0x00ff;
18168  unsigned S = ((unsigned)s << 8) | s;
18169  unsigned T = ((unsigned)t << 8) | t;
18170  unsigned stk1;
18171  unsigned stk2;
18172  stk2 = T | S;
18173  stk1 = D ^ stk2;
18174  stk1 = ~stk1;
18175  return (stk1 & (~S)) | (D & S);
18176}
18177
18178/* DTSoxn source/pattern transparent. */
18179static unsigned xrop3_169_1_1 (unsigned char s, unsigned char t)
18180{
18181  unsigned D = 0x00ff;
18182  unsigned S = ((unsigned)s << 8) | s;
18183  unsigned T = ((unsigned)t << 8) | t;
18184  unsigned stk1;
18185  unsigned stk2;
18186  stk2 = T | S;
18187  stk1 = D ^ stk2;
18188  stk1 = ~stk1;
18189  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18190}
18191
18192/* D source/pattern opaque. */
18193static void rop3_170_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18194{
18195}
18196
18197/* D source opaque/pattern transparent. */
18198static void rop3_170_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18199{
18200  *D = (*D & S) | (*D & (~T)) | (T & (~S) & *D);
18201}
18202
18203/* D source transparent/pattern opaque. */
18204static void rop3_170_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18205{
18206  *D = (*D & (~S)) | (*D & S);
18207}
18208
18209/* D source/pattern transparent. */
18210static void rop3_170_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18211{
18212  *D = (*D & (~S) & (~T)) | (*D & S) | (*D & T);
18213}
18214
18215/* D source/pattern opaque. */
18216static unsigned xrop3_170_0_0 (unsigned char s, unsigned char t)
18217{
18218  unsigned D = 0x00ff;
18219  return D;
18220}
18221
18222/* D source opaque/pattern transparent. */
18223static unsigned xrop3_170_0_1 (unsigned char s, unsigned char t)
18224{
18225  unsigned D = 0x00ff;
18226  unsigned S = ((unsigned)s << 8) | s;
18227  unsigned T = ((unsigned)t << 8) | t;
18228  return (D & S) | (D & (~T)) | (T & (~S) & D);
18229}
18230
18231/* D source transparent/pattern opaque. */
18232static unsigned xrop3_170_1_0 (unsigned char s, unsigned char t)
18233{
18234  unsigned D = 0x00ff;
18235  unsigned S = ((unsigned)s << 8) | s;
18236  return (D & (~S)) | (D & S);
18237}
18238
18239/* D source/pattern transparent. */
18240static unsigned xrop3_170_1_1 (unsigned char s, unsigned char t)
18241{
18242  unsigned D = 0x00ff;
18243  unsigned S = ((unsigned)s << 8) | s;
18244  unsigned T = ((unsigned)t << 8) | t;
18245  return (D & (~S) & (~T)) | (D & S) | (D & T);
18246}
18247
18248/* DTSono source/pattern opaque. */
18249static void rop3_171_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18250{
18251  unsigned char stk1;
18252  unsigned char stk2;
18253  stk2 = T | S;
18254  stk2 = ~stk2;
18255  stk1 = *D | stk2;
18256  *D = stk1;
18257}
18258
18259/* DTSono source opaque/pattern transparent. */
18260static void rop3_171_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18261{
18262  unsigned char stk1;
18263  unsigned char stk2;
18264  stk2 = T | S;
18265  stk2 = ~stk2;
18266  stk1 = *D | stk2;
18267  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18268}
18269
18270/* DTSono source transparent/pattern opaque. */
18271static void rop3_171_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18272{
18273  unsigned char stk1;
18274  unsigned char stk2;
18275  stk2 = T | S;
18276  stk2 = ~stk2;
18277  stk1 = *D | stk2;
18278  *D = (stk1 & (~S)) | (*D & S);
18279}
18280
18281/* DTSono source/pattern transparent. */
18282static void rop3_171_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18283{
18284  unsigned char stk1;
18285  unsigned char stk2;
18286  stk2 = T | S;
18287  stk2 = ~stk2;
18288  stk1 = *D | stk2;
18289  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18290}
18291
18292/* DTSono source/pattern opaque. */
18293static unsigned xrop3_171_0_0 (unsigned char s, unsigned char t)
18294{
18295  unsigned D = 0x00ff;
18296  unsigned S = ((unsigned)s << 8) | s;
18297  unsigned T = ((unsigned)t << 8) | t;
18298  unsigned stk1;
18299  unsigned stk2;
18300  stk2 = T | S;
18301  stk2 = ~stk2;
18302  stk1 = D | stk2;
18303  return stk1;
18304}
18305
18306/* DTSono source opaque/pattern transparent. */
18307static unsigned xrop3_171_0_1 (unsigned char s, unsigned char t)
18308{
18309  unsigned D = 0x00ff;
18310  unsigned S = ((unsigned)s << 8) | s;
18311  unsigned T = ((unsigned)t << 8) | t;
18312  unsigned stk1;
18313  unsigned stk2;
18314  stk2 = T | S;
18315  stk2 = ~stk2;
18316  stk1 = D | stk2;
18317  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18318}
18319
18320/* DTSono source transparent/pattern opaque. */
18321static unsigned xrop3_171_1_0 (unsigned char s, unsigned char t)
18322{
18323  unsigned D = 0x00ff;
18324  unsigned S = ((unsigned)s << 8) | s;
18325  unsigned T = ((unsigned)t << 8) | t;
18326  unsigned stk1;
18327  unsigned stk2;
18328  stk2 = T | S;
18329  stk2 = ~stk2;
18330  stk1 = D | stk2;
18331  return (stk1 & (~S)) | (D & S);
18332}
18333
18334/* DTSono source/pattern transparent. */
18335static unsigned xrop3_171_1_1 (unsigned char s, unsigned char t)
18336{
18337  unsigned D = 0x00ff;
18338  unsigned S = ((unsigned)s << 8) | s;
18339  unsigned T = ((unsigned)t << 8) | t;
18340  unsigned stk1;
18341  unsigned stk2;
18342  stk2 = T | S;
18343  stk2 = ~stk2;
18344  stk1 = D | stk2;
18345  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18346}
18347
18348/* STDSxax source/pattern opaque. */
18349static void rop3_172_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18350{
18351  unsigned char stk1;
18352  unsigned char stk2;
18353  unsigned char stk3;
18354  stk3 = *D ^ S;
18355  stk2 = T & stk3;
18356  stk1 = S ^ stk2;
18357  *D = stk1;
18358}
18359
18360/* STDSxax source opaque/pattern transparent. */
18361static void rop3_172_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18362{
18363  unsigned char stk1;
18364  unsigned char stk2;
18365  unsigned char stk3;
18366  stk3 = *D ^ S;
18367  stk2 = T & stk3;
18368  stk1 = S ^ stk2;
18369  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18370}
18371
18372/* STDSxax source transparent/pattern opaque. */
18373static void rop3_172_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18374{
18375  unsigned char stk1;
18376  unsigned char stk2;
18377  unsigned char stk3;
18378  stk3 = *D ^ S;
18379  stk2 = T & stk3;
18380  stk1 = S ^ stk2;
18381  *D = (stk1 & (~S)) | (*D & S);
18382}
18383
18384/* STDSxax source/pattern transparent. */
18385static void rop3_172_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18386{
18387  unsigned char stk1;
18388  unsigned char stk2;
18389  unsigned char stk3;
18390  stk3 = *D ^ S;
18391  stk2 = T & stk3;
18392  stk1 = S ^ stk2;
18393  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18394}
18395
18396/* STDSxax source/pattern opaque. */
18397static unsigned xrop3_172_0_0 (unsigned char s, unsigned char t)
18398{
18399  unsigned D = 0x00ff;
18400  unsigned S = ((unsigned)s << 8) | s;
18401  unsigned T = ((unsigned)t << 8) | t;
18402  unsigned stk1;
18403  unsigned stk2;
18404  unsigned stk3;
18405  stk3 = D ^ S;
18406  stk2 = T & stk3;
18407  stk1 = S ^ stk2;
18408  return stk1;
18409}
18410
18411/* STDSxax source opaque/pattern transparent. */
18412static unsigned xrop3_172_0_1 (unsigned char s, unsigned char t)
18413{
18414  unsigned D = 0x00ff;
18415  unsigned S = ((unsigned)s << 8) | s;
18416  unsigned T = ((unsigned)t << 8) | t;
18417  unsigned stk1;
18418  unsigned stk2;
18419  unsigned stk3;
18420  stk3 = D ^ S;
18421  stk2 = T & stk3;
18422  stk1 = S ^ stk2;
18423  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18424}
18425
18426/* STDSxax source transparent/pattern opaque. */
18427static unsigned xrop3_172_1_0 (unsigned char s, unsigned char t)
18428{
18429  unsigned D = 0x00ff;
18430  unsigned S = ((unsigned)s << 8) | s;
18431  unsigned T = ((unsigned)t << 8) | t;
18432  unsigned stk1;
18433  unsigned stk2;
18434  unsigned stk3;
18435  stk3 = D ^ S;
18436  stk2 = T & stk3;
18437  stk1 = S ^ stk2;
18438  return (stk1 & (~S)) | (D & S);
18439}
18440
18441/* STDSxax source/pattern transparent. */
18442static unsigned xrop3_172_1_1 (unsigned char s, unsigned char t)
18443{
18444  unsigned D = 0x00ff;
18445  unsigned S = ((unsigned)s << 8) | s;
18446  unsigned T = ((unsigned)t << 8) | t;
18447  unsigned stk1;
18448  unsigned stk2;
18449  unsigned stk3;
18450  stk3 = D ^ S;
18451  stk2 = T & stk3;
18452  stk1 = S ^ stk2;
18453  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18454}
18455
18456/* DTSDaoxn source/pattern opaque. */
18457static void rop3_173_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18458{
18459  unsigned char stk1;
18460  unsigned char stk2;
18461  unsigned char stk3;
18462  stk3 = S & *D;
18463  stk2 = T | stk3;
18464  stk1 = *D ^ stk2;
18465  stk1 = ~stk1;
18466  *D = stk1;
18467}
18468
18469/* DTSDaoxn source opaque/pattern transparent. */
18470static void rop3_173_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18471{
18472  unsigned char stk1;
18473  unsigned char stk2;
18474  unsigned char stk3;
18475  stk3 = S & *D;
18476  stk2 = T | stk3;
18477  stk1 = *D ^ stk2;
18478  stk1 = ~stk1;
18479  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18480}
18481
18482/* DTSDaoxn source transparent/pattern opaque. */
18483static void rop3_173_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18484{
18485  unsigned char stk1;
18486  unsigned char stk2;
18487  unsigned char stk3;
18488  stk3 = S & *D;
18489  stk2 = T | stk3;
18490  stk1 = *D ^ stk2;
18491  stk1 = ~stk1;
18492  *D = (stk1 & (~S)) | (*D & S);
18493}
18494
18495/* DTSDaoxn source/pattern transparent. */
18496static void rop3_173_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18497{
18498  unsigned char stk1;
18499  unsigned char stk2;
18500  unsigned char stk3;
18501  stk3 = S & *D;
18502  stk2 = T | stk3;
18503  stk1 = *D ^ stk2;
18504  stk1 = ~stk1;
18505  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18506}
18507
18508/* DTSDaoxn source/pattern opaque. */
18509static unsigned xrop3_173_0_0 (unsigned char s, unsigned char t)
18510{
18511  unsigned D = 0x00ff;
18512  unsigned S = ((unsigned)s << 8) | s;
18513  unsigned T = ((unsigned)t << 8) | t;
18514  unsigned stk1;
18515  unsigned stk2;
18516  unsigned stk3;
18517  stk3 = S & D;
18518  stk2 = T | stk3;
18519  stk1 = D ^ stk2;
18520  stk1 = ~stk1;
18521  return stk1;
18522}
18523
18524/* DTSDaoxn source opaque/pattern transparent. */
18525static unsigned xrop3_173_0_1 (unsigned char s, unsigned char t)
18526{
18527  unsigned D = 0x00ff;
18528  unsigned S = ((unsigned)s << 8) | s;
18529  unsigned T = ((unsigned)t << 8) | t;
18530  unsigned stk1;
18531  unsigned stk2;
18532  unsigned stk3;
18533  stk3 = S & D;
18534  stk2 = T | stk3;
18535  stk1 = D ^ stk2;
18536  stk1 = ~stk1;
18537  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18538}
18539
18540/* DTSDaoxn source transparent/pattern opaque. */
18541static unsigned xrop3_173_1_0 (unsigned char s, unsigned char t)
18542{
18543  unsigned D = 0x00ff;
18544  unsigned S = ((unsigned)s << 8) | s;
18545  unsigned T = ((unsigned)t << 8) | t;
18546  unsigned stk1;
18547  unsigned stk2;
18548  unsigned stk3;
18549  stk3 = S & D;
18550  stk2 = T | stk3;
18551  stk1 = D ^ stk2;
18552  stk1 = ~stk1;
18553  return (stk1 & (~S)) | (D & S);
18554}
18555
18556/* DTSDaoxn source/pattern transparent. */
18557static unsigned xrop3_173_1_1 (unsigned char s, unsigned char t)
18558{
18559  unsigned D = 0x00ff;
18560  unsigned S = ((unsigned)s << 8) | s;
18561  unsigned T = ((unsigned)t << 8) | t;
18562  unsigned stk1;
18563  unsigned stk2;
18564  unsigned stk3;
18565  stk3 = S & D;
18566  stk2 = T | stk3;
18567  stk1 = D ^ stk2;
18568  stk1 = ~stk1;
18569  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18570}
18571
18572/* DSTnao source/pattern opaque. */
18573static void rop3_174_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18574{
18575  unsigned char stk1;
18576  unsigned char stk2;
18577  unsigned char stk3;
18578  stk3 = ~T;
18579  stk2 = S & stk3;
18580  stk1 = *D | stk2;
18581  *D = stk1;
18582}
18583
18584/* DSTnao source opaque/pattern transparent. */
18585static void rop3_174_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18586{
18587  unsigned char stk1;
18588  unsigned char stk2;
18589  unsigned char stk3;
18590  stk3 = ~T;
18591  stk2 = S & stk3;
18592  stk1 = *D | stk2;
18593  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18594}
18595
18596/* DSTnao source transparent/pattern opaque. */
18597static void rop3_174_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18598{
18599  unsigned char stk1;
18600  unsigned char stk2;
18601  unsigned char stk3;
18602  stk3 = ~T;
18603  stk2 = S & stk3;
18604  stk1 = *D | stk2;
18605  *D = (stk1 & (~S)) | (*D & S);
18606}
18607
18608/* DSTnao source/pattern transparent. */
18609static void rop3_174_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18610{
18611  unsigned char stk1;
18612  unsigned char stk2;
18613  unsigned char stk3;
18614  stk3 = ~T;
18615  stk2 = S & stk3;
18616  stk1 = *D | stk2;
18617  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18618}
18619
18620/* DSTnao source/pattern opaque. */
18621static unsigned xrop3_174_0_0 (unsigned char s, unsigned char t)
18622{
18623  unsigned D = 0x00ff;
18624  unsigned S = ((unsigned)s << 8) | s;
18625  unsigned T = ((unsigned)t << 8) | t;
18626  unsigned stk1;
18627  unsigned stk2;
18628  unsigned stk3;
18629  stk3 = ~T;
18630  stk2 = S & stk3;
18631  stk1 = D | stk2;
18632  return stk1;
18633}
18634
18635/* DSTnao source opaque/pattern transparent. */
18636static unsigned xrop3_174_0_1 (unsigned char s, unsigned char t)
18637{
18638  unsigned D = 0x00ff;
18639  unsigned S = ((unsigned)s << 8) | s;
18640  unsigned T = ((unsigned)t << 8) | t;
18641  unsigned stk1;
18642  unsigned stk2;
18643  unsigned stk3;
18644  stk3 = ~T;
18645  stk2 = S & stk3;
18646  stk1 = D | stk2;
18647  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18648}
18649
18650/* DSTnao source transparent/pattern opaque. */
18651static unsigned xrop3_174_1_0 (unsigned char s, unsigned char t)
18652{
18653  unsigned D = 0x00ff;
18654  unsigned S = ((unsigned)s << 8) | s;
18655  unsigned T = ((unsigned)t << 8) | t;
18656  unsigned stk1;
18657  unsigned stk2;
18658  unsigned stk3;
18659  stk3 = ~T;
18660  stk2 = S & stk3;
18661  stk1 = D | stk2;
18662  return (stk1 & (~S)) | (D & S);
18663}
18664
18665/* DSTnao source/pattern transparent. */
18666static unsigned xrop3_174_1_1 (unsigned char s, unsigned char t)
18667{
18668  unsigned D = 0x00ff;
18669  unsigned S = ((unsigned)s << 8) | s;
18670  unsigned T = ((unsigned)t << 8) | t;
18671  unsigned stk1;
18672  unsigned stk2;
18673  unsigned stk3;
18674  stk3 = ~T;
18675  stk2 = S & stk3;
18676  stk1 = D | stk2;
18677  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18678}
18679
18680/* DTno source/pattern opaque. */
18681static void rop3_175_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18682{
18683  unsigned char stk1;
18684  unsigned char stk2;
18685  stk2 = ~T;
18686  stk1 = *D | stk2;
18687  *D = stk1;
18688}
18689
18690/* DTno source opaque/pattern transparent. */
18691static void rop3_175_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18692{
18693  unsigned char stk1;
18694  unsigned char stk2;
18695  stk2 = ~T;
18696  stk1 = *D | stk2;
18697  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18698}
18699
18700/* DTno source transparent/pattern opaque. */
18701static void rop3_175_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18702{
18703  unsigned char stk1;
18704  unsigned char stk2;
18705  stk2 = ~T;
18706  stk1 = *D | stk2;
18707  *D = (stk1 & (~S)) | (*D & S);
18708}
18709
18710/* DTno source/pattern transparent. */
18711static void rop3_175_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18712{
18713  unsigned char stk1;
18714  unsigned char stk2;
18715  stk2 = ~T;
18716  stk1 = *D | stk2;
18717  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18718}
18719
18720/* DTno source/pattern opaque. */
18721static unsigned xrop3_175_0_0 (unsigned char s, unsigned char t)
18722{
18723  unsigned D = 0x00ff;
18724  unsigned T = ((unsigned)t << 8) | t;
18725  unsigned stk1;
18726  unsigned stk2;
18727  stk2 = ~T;
18728  stk1 = D | stk2;
18729  return stk1;
18730}
18731
18732/* DTno source opaque/pattern transparent. */
18733static unsigned xrop3_175_0_1 (unsigned char s, unsigned char t)
18734{
18735  unsigned D = 0x00ff;
18736  unsigned S = ((unsigned)s << 8) | s;
18737  unsigned T = ((unsigned)t << 8) | t;
18738  unsigned stk1;
18739  unsigned stk2;
18740  stk2 = ~T;
18741  stk1 = D | stk2;
18742  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18743}
18744
18745/* DTno source transparent/pattern opaque. */
18746static unsigned xrop3_175_1_0 (unsigned char s, unsigned char t)
18747{
18748  unsigned D = 0x00ff;
18749  unsigned S = ((unsigned)s << 8) | s;
18750  unsigned T = ((unsigned)t << 8) | t;
18751  unsigned stk1;
18752  unsigned stk2;
18753  stk2 = ~T;
18754  stk1 = D | stk2;
18755  return (stk1 & (~S)) | (D & S);
18756}
18757
18758/* DTno source/pattern transparent. */
18759static unsigned xrop3_175_1_1 (unsigned char s, unsigned char t)
18760{
18761  unsigned D = 0x00ff;
18762  unsigned S = ((unsigned)s << 8) | s;
18763  unsigned T = ((unsigned)t << 8) | t;
18764  unsigned stk1;
18765  unsigned stk2;
18766  stk2 = ~T;
18767  stk1 = D | stk2;
18768  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18769}
18770
18771/* TDSnoa source/pattern opaque. */
18772static void rop3_176_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18773{
18774  unsigned char stk1;
18775  unsigned char stk2;
18776  unsigned char stk3;
18777  stk3 = ~S;
18778  stk2 = *D | stk3;
18779  stk1 = T & stk2;
18780  *D = stk1;
18781}
18782
18783/* TDSnoa source opaque/pattern transparent. */
18784static void rop3_176_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18785{
18786  unsigned char stk1;
18787  unsigned char stk2;
18788  unsigned char stk3;
18789  stk3 = ~S;
18790  stk2 = *D | stk3;
18791  stk1 = T & stk2;
18792  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18793}
18794
18795/* TDSnoa source transparent/pattern opaque. */
18796static void rop3_176_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18797{
18798  unsigned char stk1;
18799  unsigned char stk2;
18800  unsigned char stk3;
18801  stk3 = ~S;
18802  stk2 = *D | stk3;
18803  stk1 = T & stk2;
18804  *D = (stk1 & (~S)) | (*D & S);
18805}
18806
18807/* TDSnoa source/pattern transparent. */
18808static void rop3_176_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18809{
18810  unsigned char stk1;
18811  unsigned char stk2;
18812  unsigned char stk3;
18813  stk3 = ~S;
18814  stk2 = *D | stk3;
18815  stk1 = T & stk2;
18816  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18817}
18818
18819/* TDSnoa source/pattern opaque. */
18820static unsigned xrop3_176_0_0 (unsigned char s, unsigned char t)
18821{
18822  unsigned D = 0x00ff;
18823  unsigned S = ((unsigned)s << 8) | s;
18824  unsigned T = ((unsigned)t << 8) | t;
18825  unsigned stk1;
18826  unsigned stk2;
18827  unsigned stk3;
18828  stk3 = ~S;
18829  stk2 = D | stk3;
18830  stk1 = T & stk2;
18831  return stk1;
18832}
18833
18834/* TDSnoa source opaque/pattern transparent. */
18835static unsigned xrop3_176_0_1 (unsigned char s, unsigned char t)
18836{
18837  unsigned D = 0x00ff;
18838  unsigned S = ((unsigned)s << 8) | s;
18839  unsigned T = ((unsigned)t << 8) | t;
18840  unsigned stk1;
18841  unsigned stk2;
18842  unsigned stk3;
18843  stk3 = ~S;
18844  stk2 = D | stk3;
18845  stk1 = T & stk2;
18846  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18847}
18848
18849/* TDSnoa source transparent/pattern opaque. */
18850static unsigned xrop3_176_1_0 (unsigned char s, unsigned char t)
18851{
18852  unsigned D = 0x00ff;
18853  unsigned S = ((unsigned)s << 8) | s;
18854  unsigned T = ((unsigned)t << 8) | t;
18855  unsigned stk1;
18856  unsigned stk2;
18857  unsigned stk3;
18858  stk3 = ~S;
18859  stk2 = D | stk3;
18860  stk1 = T & stk2;
18861  return (stk1 & (~S)) | (D & S);
18862}
18863
18864/* TDSnoa source/pattern transparent. */
18865static unsigned xrop3_176_1_1 (unsigned char s, unsigned char t)
18866{
18867  unsigned D = 0x00ff;
18868  unsigned S = ((unsigned)s << 8) | s;
18869  unsigned T = ((unsigned)t << 8) | t;
18870  unsigned stk1;
18871  unsigned stk2;
18872  unsigned stk3;
18873  stk3 = ~S;
18874  stk2 = D | stk3;
18875  stk1 = T & stk2;
18876  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18877}
18878
18879/* TDSTxoxn source/pattern opaque. */
18880static void rop3_177_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18881{
18882  unsigned char stk1;
18883  unsigned char stk2;
18884  unsigned char stk3;
18885  stk3 = S ^ T;
18886  stk2 = *D | stk3;
18887  stk1 = T ^ stk2;
18888  stk1 = ~stk1;
18889  *D = stk1;
18890}
18891
18892/* TDSTxoxn source opaque/pattern transparent. */
18893static void rop3_177_0_1 (unsigned char *D, unsigned char S, unsigned char T)
18894{
18895  unsigned char stk1;
18896  unsigned char stk2;
18897  unsigned char stk3;
18898  stk3 = S ^ T;
18899  stk2 = *D | stk3;
18900  stk1 = T ^ stk2;
18901  stk1 = ~stk1;
18902  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
18903}
18904
18905/* TDSTxoxn source transparent/pattern opaque. */
18906static void rop3_177_1_0 (unsigned char *D, unsigned char S, unsigned char T)
18907{
18908  unsigned char stk1;
18909  unsigned char stk2;
18910  unsigned char stk3;
18911  stk3 = S ^ T;
18912  stk2 = *D | stk3;
18913  stk1 = T ^ stk2;
18914  stk1 = ~stk1;
18915  *D = (stk1 & (~S)) | (*D & S);
18916}
18917
18918/* TDSTxoxn source/pattern transparent. */
18919static void rop3_177_1_1 (unsigned char *D, unsigned char S, unsigned char T)
18920{
18921  unsigned char stk1;
18922  unsigned char stk2;
18923  unsigned char stk3;
18924  stk3 = S ^ T;
18925  stk2 = *D | stk3;
18926  stk1 = T ^ stk2;
18927  stk1 = ~stk1;
18928  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
18929}
18930
18931/* TDSTxoxn source/pattern opaque. */
18932static unsigned xrop3_177_0_0 (unsigned char s, unsigned char t)
18933{
18934  unsigned D = 0x00ff;
18935  unsigned S = ((unsigned)s << 8) | s;
18936  unsigned T = ((unsigned)t << 8) | t;
18937  unsigned stk1;
18938  unsigned stk2;
18939  unsigned stk3;
18940  stk3 = S ^ T;
18941  stk2 = D | stk3;
18942  stk1 = T ^ stk2;
18943  stk1 = ~stk1;
18944  return stk1;
18945}
18946
18947/* TDSTxoxn source opaque/pattern transparent. */
18948static unsigned xrop3_177_0_1 (unsigned char s, unsigned char t)
18949{
18950  unsigned D = 0x00ff;
18951  unsigned S = ((unsigned)s << 8) | s;
18952  unsigned T = ((unsigned)t << 8) | t;
18953  unsigned stk1;
18954  unsigned stk2;
18955  unsigned stk3;
18956  stk3 = S ^ T;
18957  stk2 = D | stk3;
18958  stk1 = T ^ stk2;
18959  stk1 = ~stk1;
18960  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
18961}
18962
18963/* TDSTxoxn source transparent/pattern opaque. */
18964static unsigned xrop3_177_1_0 (unsigned char s, unsigned char t)
18965{
18966  unsigned D = 0x00ff;
18967  unsigned S = ((unsigned)s << 8) | s;
18968  unsigned T = ((unsigned)t << 8) | t;
18969  unsigned stk1;
18970  unsigned stk2;
18971  unsigned stk3;
18972  stk3 = S ^ T;
18973  stk2 = D | stk3;
18974  stk1 = T ^ stk2;
18975  stk1 = ~stk1;
18976  return (stk1 & (~S)) | (D & S);
18977}
18978
18979/* TDSTxoxn source/pattern transparent. */
18980static unsigned xrop3_177_1_1 (unsigned char s, unsigned char t)
18981{
18982  unsigned D = 0x00ff;
18983  unsigned S = ((unsigned)s << 8) | s;
18984  unsigned T = ((unsigned)t << 8) | t;
18985  unsigned stk1;
18986  unsigned stk2;
18987  unsigned stk3;
18988  stk3 = S ^ T;
18989  stk2 = D | stk3;
18990  stk1 = T ^ stk2;
18991  stk1 = ~stk1;
18992  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
18993}
18994
18995/* SSTxDSxox source/pattern opaque. */
18996static void rop3_178_0_0 (unsigned char *D, unsigned char S, unsigned char T)
18997{
18998  unsigned char stk1;
18999  unsigned char stk2;
19000  unsigned char stk3;
19001  stk2 = S ^ T;
19002  stk3 = *D ^ S;
19003  stk2 = stk2 | stk3;
19004  stk1 = S ^ stk2;
19005  *D = stk1;
19006}
19007
19008/* SSTxDSxox source opaque/pattern transparent. */
19009static void rop3_178_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19010{
19011  unsigned char stk1;
19012  unsigned char stk2;
19013  unsigned char stk3;
19014  stk2 = S ^ T;
19015  stk3 = *D ^ S;
19016  stk2 = stk2 | stk3;
19017  stk1 = S ^ stk2;
19018  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19019}
19020
19021/* SSTxDSxox source transparent/pattern opaque. */
19022static void rop3_178_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19023{
19024  unsigned char stk1;
19025  unsigned char stk2;
19026  unsigned char stk3;
19027  stk2 = S ^ T;
19028  stk3 = *D ^ S;
19029  stk2 = stk2 | stk3;
19030  stk1 = S ^ stk2;
19031  *D = (stk1 & (~S)) | (*D & S);
19032}
19033
19034/* SSTxDSxox source/pattern transparent. */
19035static void rop3_178_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19036{
19037  unsigned char stk1;
19038  unsigned char stk2;
19039  unsigned char stk3;
19040  stk2 = S ^ T;
19041  stk3 = *D ^ S;
19042  stk2 = stk2 | stk3;
19043  stk1 = S ^ stk2;
19044  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19045}
19046
19047/* SSTxDSxox source/pattern opaque. */
19048static unsigned xrop3_178_0_0 (unsigned char s, unsigned char t)
19049{
19050  unsigned D = 0x00ff;
19051  unsigned S = ((unsigned)s << 8) | s;
19052  unsigned T = ((unsigned)t << 8) | t;
19053  unsigned stk1;
19054  unsigned stk2;
19055  unsigned stk3;
19056  stk2 = S ^ T;
19057  stk3 = D ^ S;
19058  stk2 = stk2 | stk3;
19059  stk1 = S ^ stk2;
19060  return stk1;
19061}
19062
19063/* SSTxDSxox source opaque/pattern transparent. */
19064static unsigned xrop3_178_0_1 (unsigned char s, unsigned char t)
19065{
19066  unsigned D = 0x00ff;
19067  unsigned S = ((unsigned)s << 8) | s;
19068  unsigned T = ((unsigned)t << 8) | t;
19069  unsigned stk1;
19070  unsigned stk2;
19071  unsigned stk3;
19072  stk2 = S ^ T;
19073  stk3 = D ^ S;
19074  stk2 = stk2 | stk3;
19075  stk1 = S ^ stk2;
19076  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19077}
19078
19079/* SSTxDSxox source transparent/pattern opaque. */
19080static unsigned xrop3_178_1_0 (unsigned char s, unsigned char t)
19081{
19082  unsigned D = 0x00ff;
19083  unsigned S = ((unsigned)s << 8) | s;
19084  unsigned T = ((unsigned)t << 8) | t;
19085  unsigned stk1;
19086  unsigned stk2;
19087  unsigned stk3;
19088  stk2 = S ^ T;
19089  stk3 = D ^ S;
19090  stk2 = stk2 | stk3;
19091  stk1 = S ^ stk2;
19092  return (stk1 & (~S)) | (D & S);
19093}
19094
19095/* SSTxDSxox source/pattern transparent. */
19096static unsigned xrop3_178_1_1 (unsigned char s, unsigned char t)
19097{
19098  unsigned D = 0x00ff;
19099  unsigned S = ((unsigned)s << 8) | s;
19100  unsigned T = ((unsigned)t << 8) | t;
19101  unsigned stk1;
19102  unsigned stk2;
19103  unsigned stk3;
19104  stk2 = S ^ T;
19105  stk3 = D ^ S;
19106  stk2 = stk2 | stk3;
19107  stk1 = S ^ stk2;
19108  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19109}
19110
19111/* SDTanan source/pattern opaque. */
19112static void rop3_179_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19113{
19114  unsigned char stk1;
19115  unsigned char stk2;
19116  stk2 = *D & T;
19117  stk2 = ~stk2;
19118  stk1 = S & stk2;
19119  stk1 = ~stk1;
19120  *D = stk1;
19121}
19122
19123/* SDTanan source opaque/pattern transparent. */
19124static void rop3_179_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19125{
19126  unsigned char stk1;
19127  unsigned char stk2;
19128  stk2 = *D & T;
19129  stk2 = ~stk2;
19130  stk1 = S & stk2;
19131  stk1 = ~stk1;
19132  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19133}
19134
19135/* SDTanan source transparent/pattern opaque. */
19136static void rop3_179_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19137{
19138  unsigned char stk1;
19139  unsigned char stk2;
19140  stk2 = *D & T;
19141  stk2 = ~stk2;
19142  stk1 = S & stk2;
19143  stk1 = ~stk1;
19144  *D = (stk1 & (~S)) | (*D & S);
19145}
19146
19147/* SDTanan source/pattern transparent. */
19148static void rop3_179_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19149{
19150  unsigned char stk1;
19151  unsigned char stk2;
19152  stk2 = *D & T;
19153  stk2 = ~stk2;
19154  stk1 = S & stk2;
19155  stk1 = ~stk1;
19156  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19157}
19158
19159/* SDTanan source/pattern opaque. */
19160static unsigned xrop3_179_0_0 (unsigned char s, unsigned char t)
19161{
19162  unsigned D = 0x00ff;
19163  unsigned S = ((unsigned)s << 8) | s;
19164  unsigned T = ((unsigned)t << 8) | t;
19165  unsigned stk1;
19166  unsigned stk2;
19167  stk2 = D & T;
19168  stk2 = ~stk2;
19169  stk1 = S & stk2;
19170  stk1 = ~stk1;
19171  return stk1;
19172}
19173
19174/* SDTanan source opaque/pattern transparent. */
19175static unsigned xrop3_179_0_1 (unsigned char s, unsigned char t)
19176{
19177  unsigned D = 0x00ff;
19178  unsigned S = ((unsigned)s << 8) | s;
19179  unsigned T = ((unsigned)t << 8) | t;
19180  unsigned stk1;
19181  unsigned stk2;
19182  stk2 = D & T;
19183  stk2 = ~stk2;
19184  stk1 = S & stk2;
19185  stk1 = ~stk1;
19186  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19187}
19188
19189/* SDTanan source transparent/pattern opaque. */
19190static unsigned xrop3_179_1_0 (unsigned char s, unsigned char t)
19191{
19192  unsigned D = 0x00ff;
19193  unsigned S = ((unsigned)s << 8) | s;
19194  unsigned T = ((unsigned)t << 8) | t;
19195  unsigned stk1;
19196  unsigned stk2;
19197  stk2 = D & T;
19198  stk2 = ~stk2;
19199  stk1 = S & stk2;
19200  stk1 = ~stk1;
19201  return (stk1 & (~S)) | (D & S);
19202}
19203
19204/* SDTanan source/pattern transparent. */
19205static unsigned xrop3_179_1_1 (unsigned char s, unsigned char t)
19206{
19207  unsigned D = 0x00ff;
19208  unsigned S = ((unsigned)s << 8) | s;
19209  unsigned T = ((unsigned)t << 8) | t;
19210  unsigned stk1;
19211  unsigned stk2;
19212  stk2 = D & T;
19213  stk2 = ~stk2;
19214  stk1 = S & stk2;
19215  stk1 = ~stk1;
19216  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19217}
19218
19219/* TSDnax source/pattern opaque. */
19220static void rop3_180_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19221{
19222  unsigned char stk1;
19223  unsigned char stk2;
19224  unsigned char stk3;
19225  stk3 = ~*D;
19226  stk2 = S & stk3;
19227  stk1 = T ^ stk2;
19228  *D = stk1;
19229}
19230
19231/* TSDnax source opaque/pattern transparent. */
19232static void rop3_180_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19233{
19234  unsigned char stk1;
19235  unsigned char stk2;
19236  unsigned char stk3;
19237  stk3 = ~*D;
19238  stk2 = S & stk3;
19239  stk1 = T ^ stk2;
19240  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19241}
19242
19243/* TSDnax source transparent/pattern opaque. */
19244static void rop3_180_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19245{
19246  unsigned char stk1;
19247  unsigned char stk2;
19248  unsigned char stk3;
19249  stk3 = ~*D;
19250  stk2 = S & stk3;
19251  stk1 = T ^ stk2;
19252  *D = (stk1 & (~S)) | (*D & S);
19253}
19254
19255/* TSDnax source/pattern transparent. */
19256static void rop3_180_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19257{
19258  unsigned char stk1;
19259  unsigned char stk2;
19260  unsigned char stk3;
19261  stk3 = ~*D;
19262  stk2 = S & stk3;
19263  stk1 = T ^ stk2;
19264  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19265}
19266
19267/* TSDnax source/pattern opaque. */
19268static unsigned xrop3_180_0_0 (unsigned char s, unsigned char t)
19269{
19270  unsigned D = 0x00ff;
19271  unsigned S = ((unsigned)s << 8) | s;
19272  unsigned T = ((unsigned)t << 8) | t;
19273  unsigned stk1;
19274  unsigned stk2;
19275  unsigned stk3;
19276  stk3 = ~D;
19277  stk2 = S & stk3;
19278  stk1 = T ^ stk2;
19279  return stk1;
19280}
19281
19282/* TSDnax source opaque/pattern transparent. */
19283static unsigned xrop3_180_0_1 (unsigned char s, unsigned char t)
19284{
19285  unsigned D = 0x00ff;
19286  unsigned S = ((unsigned)s << 8) | s;
19287  unsigned T = ((unsigned)t << 8) | t;
19288  unsigned stk1;
19289  unsigned stk2;
19290  unsigned stk3;
19291  stk3 = ~D;
19292  stk2 = S & stk3;
19293  stk1 = T ^ stk2;
19294  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19295}
19296
19297/* TSDnax source transparent/pattern opaque. */
19298static unsigned xrop3_180_1_0 (unsigned char s, unsigned char t)
19299{
19300  unsigned D = 0x00ff;
19301  unsigned S = ((unsigned)s << 8) | s;
19302  unsigned T = ((unsigned)t << 8) | t;
19303  unsigned stk1;
19304  unsigned stk2;
19305  unsigned stk3;
19306  stk3 = ~D;
19307  stk2 = S & stk3;
19308  stk1 = T ^ stk2;
19309  return (stk1 & (~S)) | (D & S);
19310}
19311
19312/* TSDnax source/pattern transparent. */
19313static unsigned xrop3_180_1_1 (unsigned char s, unsigned char t)
19314{
19315  unsigned D = 0x00ff;
19316  unsigned S = ((unsigned)s << 8) | s;
19317  unsigned T = ((unsigned)t << 8) | t;
19318  unsigned stk1;
19319  unsigned stk2;
19320  unsigned stk3;
19321  stk3 = ~D;
19322  stk2 = S & stk3;
19323  stk1 = T ^ stk2;
19324  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19325}
19326
19327/* DTSDoaxn source/pattern opaque. */
19328static void rop3_181_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19329{
19330  unsigned char stk1;
19331  unsigned char stk2;
19332  unsigned char stk3;
19333  stk3 = S | *D;
19334  stk2 = T & stk3;
19335  stk1 = *D ^ stk2;
19336  stk1 = ~stk1;
19337  *D = stk1;
19338}
19339
19340/* DTSDoaxn source opaque/pattern transparent. */
19341static void rop3_181_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19342{
19343  unsigned char stk1;
19344  unsigned char stk2;
19345  unsigned char stk3;
19346  stk3 = S | *D;
19347  stk2 = T & stk3;
19348  stk1 = *D ^ stk2;
19349  stk1 = ~stk1;
19350  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19351}
19352
19353/* DTSDoaxn source transparent/pattern opaque. */
19354static void rop3_181_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19355{
19356  unsigned char stk1;
19357  unsigned char stk2;
19358  unsigned char stk3;
19359  stk3 = S | *D;
19360  stk2 = T & stk3;
19361  stk1 = *D ^ stk2;
19362  stk1 = ~stk1;
19363  *D = (stk1 & (~S)) | (*D & S);
19364}
19365
19366/* DTSDoaxn source/pattern transparent. */
19367static void rop3_181_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19368{
19369  unsigned char stk1;
19370  unsigned char stk2;
19371  unsigned char stk3;
19372  stk3 = S | *D;
19373  stk2 = T & stk3;
19374  stk1 = *D ^ stk2;
19375  stk1 = ~stk1;
19376  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19377}
19378
19379/* DTSDoaxn source/pattern opaque. */
19380static unsigned xrop3_181_0_0 (unsigned char s, unsigned char t)
19381{
19382  unsigned D = 0x00ff;
19383  unsigned S = ((unsigned)s << 8) | s;
19384  unsigned T = ((unsigned)t << 8) | t;
19385  unsigned stk1;
19386  unsigned stk2;
19387  unsigned stk3;
19388  stk3 = S | D;
19389  stk2 = T & stk3;
19390  stk1 = D ^ stk2;
19391  stk1 = ~stk1;
19392  return stk1;
19393}
19394
19395/* DTSDoaxn source opaque/pattern transparent. */
19396static unsigned xrop3_181_0_1 (unsigned char s, unsigned char t)
19397{
19398  unsigned D = 0x00ff;
19399  unsigned S = ((unsigned)s << 8) | s;
19400  unsigned T = ((unsigned)t << 8) | t;
19401  unsigned stk1;
19402  unsigned stk2;
19403  unsigned stk3;
19404  stk3 = S | D;
19405  stk2 = T & stk3;
19406  stk1 = D ^ stk2;
19407  stk1 = ~stk1;
19408  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19409}
19410
19411/* DTSDoaxn source transparent/pattern opaque. */
19412static unsigned xrop3_181_1_0 (unsigned char s, unsigned char t)
19413{
19414  unsigned D = 0x00ff;
19415  unsigned S = ((unsigned)s << 8) | s;
19416  unsigned T = ((unsigned)t << 8) | t;
19417  unsigned stk1;
19418  unsigned stk2;
19419  unsigned stk3;
19420  stk3 = S | D;
19421  stk2 = T & stk3;
19422  stk1 = D ^ stk2;
19423  stk1 = ~stk1;
19424  return (stk1 & (~S)) | (D & S);
19425}
19426
19427/* DTSDoaxn source/pattern transparent. */
19428static unsigned xrop3_181_1_1 (unsigned char s, unsigned char t)
19429{
19430  unsigned D = 0x00ff;
19431  unsigned S = ((unsigned)s << 8) | s;
19432  unsigned T = ((unsigned)t << 8) | t;
19433  unsigned stk1;
19434  unsigned stk2;
19435  unsigned stk3;
19436  stk3 = S | D;
19437  stk2 = T & stk3;
19438  stk1 = D ^ stk2;
19439  stk1 = ~stk1;
19440  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19441}
19442
19443/* DTSDTaoxx source/pattern opaque. */
19444static void rop3_182_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19445{
19446  unsigned char stk1;
19447  unsigned char stk2;
19448  unsigned char stk3;
19449  unsigned char stk4;
19450  stk4 = *D & T;
19451  stk3 = S | stk4;
19452  stk2 = T ^ stk3;
19453  stk1 = *D ^ stk2;
19454  *D = stk1;
19455}
19456
19457/* DTSDTaoxx source opaque/pattern transparent. */
19458static void rop3_182_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19459{
19460  unsigned char stk1;
19461  unsigned char stk2;
19462  unsigned char stk3;
19463  unsigned char stk4;
19464  stk4 = *D & T;
19465  stk3 = S | stk4;
19466  stk2 = T ^ stk3;
19467  stk1 = *D ^ stk2;
19468  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19469}
19470
19471/* DTSDTaoxx source transparent/pattern opaque. */
19472static void rop3_182_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19473{
19474  unsigned char stk1;
19475  unsigned char stk2;
19476  unsigned char stk3;
19477  unsigned char stk4;
19478  stk4 = *D & T;
19479  stk3 = S | stk4;
19480  stk2 = T ^ stk3;
19481  stk1 = *D ^ stk2;
19482  *D = (stk1 & (~S)) | (*D & S);
19483}
19484
19485/* DTSDTaoxx source/pattern transparent. */
19486static void rop3_182_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19487{
19488  unsigned char stk1;
19489  unsigned char stk2;
19490  unsigned char stk3;
19491  unsigned char stk4;
19492  stk4 = *D & T;
19493  stk3 = S | stk4;
19494  stk2 = T ^ stk3;
19495  stk1 = *D ^ stk2;
19496  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19497}
19498
19499/* DTSDTaoxx source/pattern opaque. */
19500static unsigned xrop3_182_0_0 (unsigned char s, unsigned char t)
19501{
19502  unsigned D = 0x00ff;
19503  unsigned S = ((unsigned)s << 8) | s;
19504  unsigned T = ((unsigned)t << 8) | t;
19505  unsigned stk1;
19506  unsigned stk2;
19507  unsigned stk3;
19508  unsigned stk4;
19509  stk4 = D & T;
19510  stk3 = S | stk4;
19511  stk2 = T ^ stk3;
19512  stk1 = D ^ stk2;
19513  return stk1;
19514}
19515
19516/* DTSDTaoxx source opaque/pattern transparent. */
19517static unsigned xrop3_182_0_1 (unsigned char s, unsigned char t)
19518{
19519  unsigned D = 0x00ff;
19520  unsigned S = ((unsigned)s << 8) | s;
19521  unsigned T = ((unsigned)t << 8) | t;
19522  unsigned stk1;
19523  unsigned stk2;
19524  unsigned stk3;
19525  unsigned stk4;
19526  stk4 = D & T;
19527  stk3 = S | stk4;
19528  stk2 = T ^ stk3;
19529  stk1 = D ^ stk2;
19530  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19531}
19532
19533/* DTSDTaoxx source transparent/pattern opaque. */
19534static unsigned xrop3_182_1_0 (unsigned char s, unsigned char t)
19535{
19536  unsigned D = 0x00ff;
19537  unsigned S = ((unsigned)s << 8) | s;
19538  unsigned T = ((unsigned)t << 8) | t;
19539  unsigned stk1;
19540  unsigned stk2;
19541  unsigned stk3;
19542  unsigned stk4;
19543  stk4 = D & T;
19544  stk3 = S | stk4;
19545  stk2 = T ^ stk3;
19546  stk1 = D ^ stk2;
19547  return (stk1 & (~S)) | (D & S);
19548}
19549
19550/* DTSDTaoxx source/pattern transparent. */
19551static unsigned xrop3_182_1_1 (unsigned char s, unsigned char t)
19552{
19553  unsigned D = 0x00ff;
19554  unsigned S = ((unsigned)s << 8) | s;
19555  unsigned T = ((unsigned)t << 8) | t;
19556  unsigned stk1;
19557  unsigned stk2;
19558  unsigned stk3;
19559  unsigned stk4;
19560  stk4 = D & T;
19561  stk3 = S | stk4;
19562  stk2 = T ^ stk3;
19563  stk1 = D ^ stk2;
19564  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19565}
19566
19567/* SDTxan source/pattern opaque. */
19568static void rop3_183_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19569{
19570  unsigned char stk1;
19571  unsigned char stk2;
19572  stk2 = *D ^ T;
19573  stk1 = S & stk2;
19574  stk1 = ~stk1;
19575  *D = stk1;
19576}
19577
19578/* SDTxan source opaque/pattern transparent. */
19579static void rop3_183_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19580{
19581  unsigned char stk1;
19582  unsigned char stk2;
19583  stk2 = *D ^ T;
19584  stk1 = S & stk2;
19585  stk1 = ~stk1;
19586  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19587}
19588
19589/* SDTxan source transparent/pattern opaque. */
19590static void rop3_183_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19591{
19592  unsigned char stk1;
19593  unsigned char stk2;
19594  stk2 = *D ^ T;
19595  stk1 = S & stk2;
19596  stk1 = ~stk1;
19597  *D = (stk1 & (~S)) | (*D & S);
19598}
19599
19600/* SDTxan source/pattern transparent. */
19601static void rop3_183_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19602{
19603  unsigned char stk1;
19604  unsigned char stk2;
19605  stk2 = *D ^ T;
19606  stk1 = S & stk2;
19607  stk1 = ~stk1;
19608  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19609}
19610
19611/* SDTxan source/pattern opaque. */
19612static unsigned xrop3_183_0_0 (unsigned char s, unsigned char t)
19613{
19614  unsigned D = 0x00ff;
19615  unsigned S = ((unsigned)s << 8) | s;
19616  unsigned T = ((unsigned)t << 8) | t;
19617  unsigned stk1;
19618  unsigned stk2;
19619  stk2 = D ^ T;
19620  stk1 = S & stk2;
19621  stk1 = ~stk1;
19622  return stk1;
19623}
19624
19625/* SDTxan source opaque/pattern transparent. */
19626static unsigned xrop3_183_0_1 (unsigned char s, unsigned char t)
19627{
19628  unsigned D = 0x00ff;
19629  unsigned S = ((unsigned)s << 8) | s;
19630  unsigned T = ((unsigned)t << 8) | t;
19631  unsigned stk1;
19632  unsigned stk2;
19633  stk2 = D ^ T;
19634  stk1 = S & stk2;
19635  stk1 = ~stk1;
19636  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19637}
19638
19639/* SDTxan source transparent/pattern opaque. */
19640static unsigned xrop3_183_1_0 (unsigned char s, unsigned char t)
19641{
19642  unsigned D = 0x00ff;
19643  unsigned S = ((unsigned)s << 8) | s;
19644  unsigned T = ((unsigned)t << 8) | t;
19645  unsigned stk1;
19646  unsigned stk2;
19647  stk2 = D ^ T;
19648  stk1 = S & stk2;
19649  stk1 = ~stk1;
19650  return (stk1 & (~S)) | (D & S);
19651}
19652
19653/* SDTxan source/pattern transparent. */
19654static unsigned xrop3_183_1_1 (unsigned char s, unsigned char t)
19655{
19656  unsigned D = 0x00ff;
19657  unsigned S = ((unsigned)s << 8) | s;
19658  unsigned T = ((unsigned)t << 8) | t;
19659  unsigned stk1;
19660  unsigned stk2;
19661  stk2 = D ^ T;
19662  stk1 = S & stk2;
19663  stk1 = ~stk1;
19664  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19665}
19666
19667/* TSDTxax source/pattern opaque. */
19668static void rop3_184_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19669{
19670  unsigned char stk1;
19671  unsigned char stk2;
19672  unsigned char stk3;
19673  stk3 = *D ^ T;
19674  stk2 = S & stk3;
19675  stk1 = T ^ stk2;
19676  *D = stk1;
19677}
19678
19679/* TSDTxax source opaque/pattern transparent. */
19680static void rop3_184_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19681{
19682  unsigned char stk1;
19683  unsigned char stk2;
19684  unsigned char stk3;
19685  stk3 = *D ^ T;
19686  stk2 = S & stk3;
19687  stk1 = T ^ stk2;
19688  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19689}
19690
19691/* TSDTxax source transparent/pattern opaque. */
19692static void rop3_184_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19693{
19694  unsigned char stk1;
19695  unsigned char stk2;
19696  unsigned char stk3;
19697  stk3 = *D ^ T;
19698  stk2 = S & stk3;
19699  stk1 = T ^ stk2;
19700  *D = (stk1 & (~S)) | (*D & S);
19701}
19702
19703/* TSDTxax source/pattern transparent. */
19704static void rop3_184_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19705{
19706  unsigned char stk1;
19707  unsigned char stk2;
19708  unsigned char stk3;
19709  stk3 = *D ^ T;
19710  stk2 = S & stk3;
19711  stk1 = T ^ stk2;
19712  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19713}
19714
19715/* TSDTxax source/pattern opaque. */
19716static unsigned xrop3_184_0_0 (unsigned char s, unsigned char t)
19717{
19718  unsigned D = 0x00ff;
19719  unsigned S = ((unsigned)s << 8) | s;
19720  unsigned T = ((unsigned)t << 8) | t;
19721  unsigned stk1;
19722  unsigned stk2;
19723  unsigned stk3;
19724  stk3 = D ^ T;
19725  stk2 = S & stk3;
19726  stk1 = T ^ stk2;
19727  return stk1;
19728}
19729
19730/* TSDTxax source opaque/pattern transparent. */
19731static unsigned xrop3_184_0_1 (unsigned char s, unsigned char t)
19732{
19733  unsigned D = 0x00ff;
19734  unsigned S = ((unsigned)s << 8) | s;
19735  unsigned T = ((unsigned)t << 8) | t;
19736  unsigned stk1;
19737  unsigned stk2;
19738  unsigned stk3;
19739  stk3 = D ^ T;
19740  stk2 = S & stk3;
19741  stk1 = T ^ stk2;
19742  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19743}
19744
19745/* TSDTxax source transparent/pattern opaque. */
19746static unsigned xrop3_184_1_0 (unsigned char s, unsigned char t)
19747{
19748  unsigned D = 0x00ff;
19749  unsigned S = ((unsigned)s << 8) | s;
19750  unsigned T = ((unsigned)t << 8) | t;
19751  unsigned stk1;
19752  unsigned stk2;
19753  unsigned stk3;
19754  stk3 = D ^ T;
19755  stk2 = S & stk3;
19756  stk1 = T ^ stk2;
19757  return (stk1 & (~S)) | (D & S);
19758}
19759
19760/* TSDTxax source/pattern transparent. */
19761static unsigned xrop3_184_1_1 (unsigned char s, unsigned char t)
19762{
19763  unsigned D = 0x00ff;
19764  unsigned S = ((unsigned)s << 8) | s;
19765  unsigned T = ((unsigned)t << 8) | t;
19766  unsigned stk1;
19767  unsigned stk2;
19768  unsigned stk3;
19769  stk3 = D ^ T;
19770  stk2 = S & stk3;
19771  stk1 = T ^ stk2;
19772  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19773}
19774
19775/* DSTDaoxn source/pattern opaque. */
19776static void rop3_185_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19777{
19778  unsigned char stk1;
19779  unsigned char stk2;
19780  unsigned char stk3;
19781  stk3 = T & *D;
19782  stk2 = S | stk3;
19783  stk1 = *D ^ stk2;
19784  stk1 = ~stk1;
19785  *D = stk1;
19786}
19787
19788/* DSTDaoxn source opaque/pattern transparent. */
19789static void rop3_185_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19790{
19791  unsigned char stk1;
19792  unsigned char stk2;
19793  unsigned char stk3;
19794  stk3 = T & *D;
19795  stk2 = S | stk3;
19796  stk1 = *D ^ stk2;
19797  stk1 = ~stk1;
19798  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19799}
19800
19801/* DSTDaoxn source transparent/pattern opaque. */
19802static void rop3_185_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19803{
19804  unsigned char stk1;
19805  unsigned char stk2;
19806  unsigned char stk3;
19807  stk3 = T & *D;
19808  stk2 = S | stk3;
19809  stk1 = *D ^ stk2;
19810  stk1 = ~stk1;
19811  *D = (stk1 & (~S)) | (*D & S);
19812}
19813
19814/* DSTDaoxn source/pattern transparent. */
19815static void rop3_185_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19816{
19817  unsigned char stk1;
19818  unsigned char stk2;
19819  unsigned char stk3;
19820  stk3 = T & *D;
19821  stk2 = S | stk3;
19822  stk1 = *D ^ stk2;
19823  stk1 = ~stk1;
19824  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19825}
19826
19827/* DSTDaoxn source/pattern opaque. */
19828static unsigned xrop3_185_0_0 (unsigned char s, unsigned char t)
19829{
19830  unsigned D = 0x00ff;
19831  unsigned S = ((unsigned)s << 8) | s;
19832  unsigned T = ((unsigned)t << 8) | t;
19833  unsigned stk1;
19834  unsigned stk2;
19835  unsigned stk3;
19836  stk3 = T & D;
19837  stk2 = S | stk3;
19838  stk1 = D ^ stk2;
19839  stk1 = ~stk1;
19840  return stk1;
19841}
19842
19843/* DSTDaoxn source opaque/pattern transparent. */
19844static unsigned xrop3_185_0_1 (unsigned char s, unsigned char t)
19845{
19846  unsigned D = 0x00ff;
19847  unsigned S = ((unsigned)s << 8) | s;
19848  unsigned T = ((unsigned)t << 8) | t;
19849  unsigned stk1;
19850  unsigned stk2;
19851  unsigned stk3;
19852  stk3 = T & D;
19853  stk2 = S | stk3;
19854  stk1 = D ^ stk2;
19855  stk1 = ~stk1;
19856  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19857}
19858
19859/* DSTDaoxn source transparent/pattern opaque. */
19860static unsigned xrop3_185_1_0 (unsigned char s, unsigned char t)
19861{
19862  unsigned D = 0x00ff;
19863  unsigned S = ((unsigned)s << 8) | s;
19864  unsigned T = ((unsigned)t << 8) | t;
19865  unsigned stk1;
19866  unsigned stk2;
19867  unsigned stk3;
19868  stk3 = T & D;
19869  stk2 = S | stk3;
19870  stk1 = D ^ stk2;
19871  stk1 = ~stk1;
19872  return (stk1 & (~S)) | (D & S);
19873}
19874
19875/* DSTDaoxn source/pattern transparent. */
19876static unsigned xrop3_185_1_1 (unsigned char s, unsigned char t)
19877{
19878  unsigned D = 0x00ff;
19879  unsigned S = ((unsigned)s << 8) | s;
19880  unsigned T = ((unsigned)t << 8) | t;
19881  unsigned stk1;
19882  unsigned stk2;
19883  unsigned stk3;
19884  stk3 = T & D;
19885  stk2 = S | stk3;
19886  stk1 = D ^ stk2;
19887  stk1 = ~stk1;
19888  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19889}
19890
19891/* DTSnao source/pattern opaque. */
19892static void rop3_186_0_0 (unsigned char *D, unsigned char S, unsigned char T)
19893{
19894  unsigned char stk1;
19895  unsigned char stk2;
19896  unsigned char stk3;
19897  stk3 = ~S;
19898  stk2 = T & stk3;
19899  stk1 = *D | stk2;
19900  *D = stk1;
19901}
19902
19903/* DTSnao source opaque/pattern transparent. */
19904static void rop3_186_0_1 (unsigned char *D, unsigned char S, unsigned char T)
19905{
19906  unsigned char stk1;
19907  unsigned char stk2;
19908  unsigned char stk3;
19909  stk3 = ~S;
19910  stk2 = T & stk3;
19911  stk1 = *D | stk2;
19912  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
19913}
19914
19915/* DTSnao source transparent/pattern opaque. */
19916static void rop3_186_1_0 (unsigned char *D, unsigned char S, unsigned char T)
19917{
19918  unsigned char stk1;
19919  unsigned char stk2;
19920  unsigned char stk3;
19921  stk3 = ~S;
19922  stk2 = T & stk3;
19923  stk1 = *D | stk2;
19924  *D = (stk1 & (~S)) | (*D & S);
19925}
19926
19927/* DTSnao source/pattern transparent. */
19928static void rop3_186_1_1 (unsigned char *D, unsigned char S, unsigned char T)
19929{
19930  unsigned char stk1;
19931  unsigned char stk2;
19932  unsigned char stk3;
19933  stk3 = ~S;
19934  stk2 = T & stk3;
19935  stk1 = *D | stk2;
19936  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
19937}
19938
19939/* DTSnao source/pattern opaque. */
19940static unsigned xrop3_186_0_0 (unsigned char s, unsigned char t)
19941{
19942  unsigned D = 0x00ff;
19943  unsigned S = ((unsigned)s << 8) | s;
19944  unsigned T = ((unsigned)t << 8) | t;
19945  unsigned stk1;
19946  unsigned stk2;
19947  unsigned stk3;
19948  stk3 = ~S;
19949  stk2 = T & stk3;
19950  stk1 = D | stk2;
19951  return stk1;
19952}
19953
19954/* DTSnao source opaque/pattern transparent. */
19955static unsigned xrop3_186_0_1 (unsigned char s, unsigned char t)
19956{
19957  unsigned D = 0x00ff;
19958  unsigned S = ((unsigned)s << 8) | s;
19959  unsigned T = ((unsigned)t << 8) | t;
19960  unsigned stk1;
19961  unsigned stk2;
19962  unsigned stk3;
19963  stk3 = ~S;
19964  stk2 = T & stk3;
19965  stk1 = D | stk2;
19966  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
19967}
19968
19969/* DTSnao source transparent/pattern opaque. */
19970static unsigned xrop3_186_1_0 (unsigned char s, unsigned char t)
19971{
19972  unsigned D = 0x00ff;
19973  unsigned S = ((unsigned)s << 8) | s;
19974  unsigned T = ((unsigned)t << 8) | t;
19975  unsigned stk1;
19976  unsigned stk2;
19977  unsigned stk3;
19978  stk3 = ~S;
19979  stk2 = T & stk3;
19980  stk1 = D | stk2;
19981  return (stk1 & (~S)) | (D & S);
19982}
19983
19984/* DTSnao source/pattern transparent. */
19985static unsigned xrop3_186_1_1 (unsigned char s, unsigned char t)
19986{
19987  unsigned D = 0x00ff;
19988  unsigned S = ((unsigned)s << 8) | s;
19989  unsigned T = ((unsigned)t << 8) | t;
19990  unsigned stk1;
19991  unsigned stk2;
19992  unsigned stk3;
19993  stk3 = ~S;
19994  stk2 = T & stk3;
19995  stk1 = D | stk2;
19996  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
19997}
19998
19999/* DSno source/pattern opaque. */
20000static void rop3_187_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20001{
20002  unsigned char stk1;
20003  unsigned char stk2;
20004  stk2 = ~S;
20005  stk1 = *D | stk2;
20006  *D = stk1;
20007}
20008
20009/* DSno source opaque/pattern transparent. */
20010static void rop3_187_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20011{
20012  unsigned char stk1;
20013  unsigned char stk2;
20014  stk2 = ~S;
20015  stk1 = *D | stk2;
20016  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20017}
20018
20019/* DSno source transparent/pattern opaque. */
20020static void rop3_187_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20021{
20022  unsigned char stk1;
20023  unsigned char stk2;
20024  stk2 = ~S;
20025  stk1 = *D | stk2;
20026  *D = (stk1 & (~S)) | (*D & S);
20027}
20028
20029/* DSno source/pattern transparent. */
20030static void rop3_187_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20031{
20032  unsigned char stk1;
20033  unsigned char stk2;
20034  stk2 = ~S;
20035  stk1 = *D | stk2;
20036  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20037}
20038
20039/* DSno source/pattern opaque. */
20040static unsigned xrop3_187_0_0 (unsigned char s, unsigned char t)
20041{
20042  unsigned D = 0x00ff;
20043  unsigned S = ((unsigned)s << 8) | s;
20044  unsigned stk1;
20045  unsigned stk2;
20046  stk2 = ~S;
20047  stk1 = D | stk2;
20048  return stk1;
20049}
20050
20051/* DSno source opaque/pattern transparent. */
20052static unsigned xrop3_187_0_1 (unsigned char s, unsigned char t)
20053{
20054  unsigned D = 0x00ff;
20055  unsigned S = ((unsigned)s << 8) | s;
20056  unsigned T = ((unsigned)t << 8) | t;
20057  unsigned stk1;
20058  unsigned stk2;
20059  stk2 = ~S;
20060  stk1 = D | stk2;
20061  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20062}
20063
20064/* DSno source transparent/pattern opaque. */
20065static unsigned xrop3_187_1_0 (unsigned char s, unsigned char t)
20066{
20067  unsigned D = 0x00ff;
20068  unsigned S = ((unsigned)s << 8) | s;
20069  unsigned stk1;
20070  unsigned stk2;
20071  stk2 = ~S;
20072  stk1 = D | stk2;
20073  return (stk1 & (~S)) | (D & S);
20074}
20075
20076/* DSno source/pattern transparent. */
20077static unsigned xrop3_187_1_1 (unsigned char s, unsigned char t)
20078{
20079  unsigned D = 0x00ff;
20080  unsigned S = ((unsigned)s << 8) | s;
20081  unsigned T = ((unsigned)t << 8) | t;
20082  unsigned stk1;
20083  unsigned stk2;
20084  stk2 = ~S;
20085  stk1 = D | stk2;
20086  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20087}
20088
20089/* STDSanax source/pattern opaque. */
20090static void rop3_188_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20091{
20092  unsigned char stk1;
20093  unsigned char stk2;
20094  unsigned char stk3;
20095  stk3 = *D & S;
20096  stk3 = ~stk3;
20097  stk2 = T & stk3;
20098  stk1 = S ^ stk2;
20099  *D = stk1;
20100}
20101
20102/* STDSanax source opaque/pattern transparent. */
20103static void rop3_188_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20104{
20105  unsigned char stk1;
20106  unsigned char stk2;
20107  unsigned char stk3;
20108  stk3 = *D & S;
20109  stk3 = ~stk3;
20110  stk2 = T & stk3;
20111  stk1 = S ^ stk2;
20112  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20113}
20114
20115/* STDSanax source transparent/pattern opaque. */
20116static void rop3_188_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20117{
20118  unsigned char stk1;
20119  unsigned char stk2;
20120  unsigned char stk3;
20121  stk3 = *D & S;
20122  stk3 = ~stk3;
20123  stk2 = T & stk3;
20124  stk1 = S ^ stk2;
20125  *D = (stk1 & (~S)) | (*D & S);
20126}
20127
20128/* STDSanax source/pattern transparent. */
20129static void rop3_188_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20130{
20131  unsigned char stk1;
20132  unsigned char stk2;
20133  unsigned char stk3;
20134  stk3 = *D & S;
20135  stk3 = ~stk3;
20136  stk2 = T & stk3;
20137  stk1 = S ^ stk2;
20138  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20139}
20140
20141/* STDSanax source/pattern opaque. */
20142static unsigned xrop3_188_0_0 (unsigned char s, unsigned char t)
20143{
20144  unsigned D = 0x00ff;
20145  unsigned S = ((unsigned)s << 8) | s;
20146  unsigned T = ((unsigned)t << 8) | t;
20147  unsigned stk1;
20148  unsigned stk2;
20149  unsigned stk3;
20150  stk3 = D & S;
20151  stk3 = ~stk3;
20152  stk2 = T & stk3;
20153  stk1 = S ^ stk2;
20154  return stk1;
20155}
20156
20157/* STDSanax source opaque/pattern transparent. */
20158static unsigned xrop3_188_0_1 (unsigned char s, unsigned char t)
20159{
20160  unsigned D = 0x00ff;
20161  unsigned S = ((unsigned)s << 8) | s;
20162  unsigned T = ((unsigned)t << 8) | t;
20163  unsigned stk1;
20164  unsigned stk2;
20165  unsigned stk3;
20166  stk3 = D & S;
20167  stk3 = ~stk3;
20168  stk2 = T & stk3;
20169  stk1 = S ^ stk2;
20170  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20171}
20172
20173/* STDSanax source transparent/pattern opaque. */
20174static unsigned xrop3_188_1_0 (unsigned char s, unsigned char t)
20175{
20176  unsigned D = 0x00ff;
20177  unsigned S = ((unsigned)s << 8) | s;
20178  unsigned T = ((unsigned)t << 8) | t;
20179  unsigned stk1;
20180  unsigned stk2;
20181  unsigned stk3;
20182  stk3 = D & S;
20183  stk3 = ~stk3;
20184  stk2 = T & stk3;
20185  stk1 = S ^ stk2;
20186  return (stk1 & (~S)) | (D & S);
20187}
20188
20189/* STDSanax source/pattern transparent. */
20190static unsigned xrop3_188_1_1 (unsigned char s, unsigned char t)
20191{
20192  unsigned D = 0x00ff;
20193  unsigned S = ((unsigned)s << 8) | s;
20194  unsigned T = ((unsigned)t << 8) | t;
20195  unsigned stk1;
20196  unsigned stk2;
20197  unsigned stk3;
20198  stk3 = D & S;
20199  stk3 = ~stk3;
20200  stk2 = T & stk3;
20201  stk1 = S ^ stk2;
20202  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20203}
20204
20205/* SDxTDxan source/pattern opaque. */
20206static void rop3_189_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20207{
20208  unsigned char stk1;
20209  unsigned char stk2;
20210  stk1 = S ^ *D;
20211  stk2 = T ^ *D;
20212  stk1 = stk1 & stk2;
20213  stk1 = ~stk1;
20214  *D = stk1;
20215}
20216
20217/* SDxTDxan source opaque/pattern transparent. */
20218static void rop3_189_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20219{
20220  unsigned char stk1;
20221  unsigned char stk2;
20222  stk1 = S ^ *D;
20223  stk2 = T ^ *D;
20224  stk1 = stk1 & stk2;
20225  stk1 = ~stk1;
20226  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20227}
20228
20229/* SDxTDxan source transparent/pattern opaque. */
20230static void rop3_189_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20231{
20232  unsigned char stk1;
20233  unsigned char stk2;
20234  stk1 = S ^ *D;
20235  stk2 = T ^ *D;
20236  stk1 = stk1 & stk2;
20237  stk1 = ~stk1;
20238  *D = (stk1 & (~S)) | (*D & S);
20239}
20240
20241/* SDxTDxan source/pattern transparent. */
20242static void rop3_189_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20243{
20244  unsigned char stk1;
20245  unsigned char stk2;
20246  stk1 = S ^ *D;
20247  stk2 = T ^ *D;
20248  stk1 = stk1 & stk2;
20249  stk1 = ~stk1;
20250  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20251}
20252
20253/* SDxTDxan source/pattern opaque. */
20254static unsigned xrop3_189_0_0 (unsigned char s, unsigned char t)
20255{
20256  unsigned D = 0x00ff;
20257  unsigned S = ((unsigned)s << 8) | s;
20258  unsigned T = ((unsigned)t << 8) | t;
20259  unsigned stk1;
20260  unsigned stk2;
20261  stk1 = S ^ D;
20262  stk2 = T ^ D;
20263  stk1 = stk1 & stk2;
20264  stk1 = ~stk1;
20265  return stk1;
20266}
20267
20268/* SDxTDxan source opaque/pattern transparent. */
20269static unsigned xrop3_189_0_1 (unsigned char s, unsigned char t)
20270{
20271  unsigned D = 0x00ff;
20272  unsigned S = ((unsigned)s << 8) | s;
20273  unsigned T = ((unsigned)t << 8) | t;
20274  unsigned stk1;
20275  unsigned stk2;
20276  stk1 = S ^ D;
20277  stk2 = T ^ D;
20278  stk1 = stk1 & stk2;
20279  stk1 = ~stk1;
20280  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20281}
20282
20283/* SDxTDxan source transparent/pattern opaque. */
20284static unsigned xrop3_189_1_0 (unsigned char s, unsigned char t)
20285{
20286  unsigned D = 0x00ff;
20287  unsigned S = ((unsigned)s << 8) | s;
20288  unsigned T = ((unsigned)t << 8) | t;
20289  unsigned stk1;
20290  unsigned stk2;
20291  stk1 = S ^ D;
20292  stk2 = T ^ D;
20293  stk1 = stk1 & stk2;
20294  stk1 = ~stk1;
20295  return (stk1 & (~S)) | (D & S);
20296}
20297
20298/* SDxTDxan source/pattern transparent. */
20299static unsigned xrop3_189_1_1 (unsigned char s, unsigned char t)
20300{
20301  unsigned D = 0x00ff;
20302  unsigned S = ((unsigned)s << 8) | s;
20303  unsigned T = ((unsigned)t << 8) | t;
20304  unsigned stk1;
20305  unsigned stk2;
20306  stk1 = S ^ D;
20307  stk2 = T ^ D;
20308  stk1 = stk1 & stk2;
20309  stk1 = ~stk1;
20310  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20311}
20312
20313/* DTSxo source/pattern opaque. */
20314static void rop3_190_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20315{
20316  unsigned char stk1;
20317  unsigned char stk2;
20318  stk2 = T ^ S;
20319  stk1 = *D | stk2;
20320  *D = stk1;
20321}
20322
20323/* DTSxo source opaque/pattern transparent. */
20324static void rop3_190_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20325{
20326  unsigned char stk1;
20327  unsigned char stk2;
20328  stk2 = T ^ S;
20329  stk1 = *D | stk2;
20330  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20331}
20332
20333/* DTSxo source transparent/pattern opaque. */
20334static void rop3_190_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20335{
20336  unsigned char stk1;
20337  unsigned char stk2;
20338  stk2 = T ^ S;
20339  stk1 = *D | stk2;
20340  *D = (stk1 & (~S)) | (*D & S);
20341}
20342
20343/* DTSxo source/pattern transparent. */
20344static void rop3_190_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20345{
20346  unsigned char stk1;
20347  unsigned char stk2;
20348  stk2 = T ^ S;
20349  stk1 = *D | stk2;
20350  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20351}
20352
20353/* DTSxo source/pattern opaque. */
20354static unsigned xrop3_190_0_0 (unsigned char s, unsigned char t)
20355{
20356  unsigned D = 0x00ff;
20357  unsigned S = ((unsigned)s << 8) | s;
20358  unsigned T = ((unsigned)t << 8) | t;
20359  unsigned stk1;
20360  unsigned stk2;
20361  stk2 = T ^ S;
20362  stk1 = D | stk2;
20363  return stk1;
20364}
20365
20366/* DTSxo source opaque/pattern transparent. */
20367static unsigned xrop3_190_0_1 (unsigned char s, unsigned char t)
20368{
20369  unsigned D = 0x00ff;
20370  unsigned S = ((unsigned)s << 8) | s;
20371  unsigned T = ((unsigned)t << 8) | t;
20372  unsigned stk1;
20373  unsigned stk2;
20374  stk2 = T ^ S;
20375  stk1 = D | stk2;
20376  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20377}
20378
20379/* DTSxo source transparent/pattern opaque. */
20380static unsigned xrop3_190_1_0 (unsigned char s, unsigned char t)
20381{
20382  unsigned D = 0x00ff;
20383  unsigned S = ((unsigned)s << 8) | s;
20384  unsigned T = ((unsigned)t << 8) | t;
20385  unsigned stk1;
20386  unsigned stk2;
20387  stk2 = T ^ S;
20388  stk1 = D | stk2;
20389  return (stk1 & (~S)) | (D & S);
20390}
20391
20392/* DTSxo source/pattern transparent. */
20393static unsigned xrop3_190_1_1 (unsigned char s, unsigned char t)
20394{
20395  unsigned D = 0x00ff;
20396  unsigned S = ((unsigned)s << 8) | s;
20397  unsigned T = ((unsigned)t << 8) | t;
20398  unsigned stk1;
20399  unsigned stk2;
20400  stk2 = T ^ S;
20401  stk1 = D | stk2;
20402  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20403}
20404
20405/* DTSano source/pattern opaque. */
20406static void rop3_191_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20407{
20408  unsigned char stk1;
20409  unsigned char stk2;
20410  stk2 = T & S;
20411  stk2 = ~stk2;
20412  stk1 = *D | stk2;
20413  *D = stk1;
20414}
20415
20416/* DTSano source opaque/pattern transparent. */
20417static void rop3_191_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20418{
20419  unsigned char stk1;
20420  unsigned char stk2;
20421  stk2 = T & S;
20422  stk2 = ~stk2;
20423  stk1 = *D | stk2;
20424  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20425}
20426
20427/* DTSano source transparent/pattern opaque. */
20428static void rop3_191_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20429{
20430  unsigned char stk1;
20431  unsigned char stk2;
20432  stk2 = T & S;
20433  stk2 = ~stk2;
20434  stk1 = *D | stk2;
20435  *D = (stk1 & (~S)) | (*D & S);
20436}
20437
20438/* DTSano source/pattern transparent. */
20439static void rop3_191_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20440{
20441  unsigned char stk1;
20442  unsigned char stk2;
20443  stk2 = T & S;
20444  stk2 = ~stk2;
20445  stk1 = *D | stk2;
20446  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20447}
20448
20449/* DTSano source/pattern opaque. */
20450static unsigned xrop3_191_0_0 (unsigned char s, unsigned char t)
20451{
20452  unsigned D = 0x00ff;
20453  unsigned S = ((unsigned)s << 8) | s;
20454  unsigned T = ((unsigned)t << 8) | t;
20455  unsigned stk1;
20456  unsigned stk2;
20457  stk2 = T & S;
20458  stk2 = ~stk2;
20459  stk1 = D | stk2;
20460  return stk1;
20461}
20462
20463/* DTSano source opaque/pattern transparent. */
20464static unsigned xrop3_191_0_1 (unsigned char s, unsigned char t)
20465{
20466  unsigned D = 0x00ff;
20467  unsigned S = ((unsigned)s << 8) | s;
20468  unsigned T = ((unsigned)t << 8) | t;
20469  unsigned stk1;
20470  unsigned stk2;
20471  stk2 = T & S;
20472  stk2 = ~stk2;
20473  stk1 = D | stk2;
20474  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20475}
20476
20477/* DTSano source transparent/pattern opaque. */
20478static unsigned xrop3_191_1_0 (unsigned char s, unsigned char t)
20479{
20480  unsigned D = 0x00ff;
20481  unsigned S = ((unsigned)s << 8) | s;
20482  unsigned T = ((unsigned)t << 8) | t;
20483  unsigned stk1;
20484  unsigned stk2;
20485  stk2 = T & S;
20486  stk2 = ~stk2;
20487  stk1 = D | stk2;
20488  return (stk1 & (~S)) | (D & S);
20489}
20490
20491/* DTSano source/pattern transparent. */
20492static unsigned xrop3_191_1_1 (unsigned char s, unsigned char t)
20493{
20494  unsigned D = 0x00ff;
20495  unsigned S = ((unsigned)s << 8) | s;
20496  unsigned T = ((unsigned)t << 8) | t;
20497  unsigned stk1;
20498  unsigned stk2;
20499  stk2 = T & S;
20500  stk2 = ~stk2;
20501  stk1 = D | stk2;
20502  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20503}
20504
20505/* TSa source/pattern opaque. */
20506static void rop3_192_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20507{
20508  unsigned char stk1;
20509  stk1 = T & S;
20510  *D = stk1;
20511}
20512
20513/* TSa source opaque/pattern transparent. */
20514static void rop3_192_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20515{
20516  unsigned char stk1;
20517  stk1 = T & S;
20518  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20519}
20520
20521/* TSa source transparent/pattern opaque. */
20522static void rop3_192_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20523{
20524  unsigned char stk1;
20525  stk1 = T & S;
20526  *D = (stk1 & (~S)) | (*D & S);
20527}
20528
20529/* TSa source/pattern transparent. */
20530static void rop3_192_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20531{
20532  unsigned char stk1;
20533  stk1 = T & S;
20534  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20535}
20536
20537/* TSa source/pattern opaque. */
20538static unsigned xrop3_192_0_0 (unsigned char s, unsigned char t)
20539{
20540  unsigned S = ((unsigned)s << 8) | s;
20541  unsigned T = ((unsigned)t << 8) | t;
20542  unsigned stk1;
20543  stk1 = T & S;
20544  return stk1;
20545}
20546
20547/* TSa source opaque/pattern transparent. */
20548static unsigned xrop3_192_0_1 (unsigned char s, unsigned char t)
20549{
20550  unsigned D = 0x00ff;
20551  unsigned S = ((unsigned)s << 8) | s;
20552  unsigned T = ((unsigned)t << 8) | t;
20553  unsigned stk1;
20554  stk1 = T & S;
20555  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20556}
20557
20558/* TSa source transparent/pattern opaque. */
20559static unsigned xrop3_192_1_0 (unsigned char s, unsigned char t)
20560{
20561  unsigned D = 0x00ff;
20562  unsigned S = ((unsigned)s << 8) | s;
20563  unsigned T = ((unsigned)t << 8) | t;
20564  unsigned stk1;
20565  stk1 = T & S;
20566  return (stk1 & (~S)) | (D & S);
20567}
20568
20569/* TSa source/pattern transparent. */
20570static unsigned xrop3_192_1_1 (unsigned char s, unsigned char t)
20571{
20572  unsigned D = 0x00ff;
20573  unsigned S = ((unsigned)s << 8) | s;
20574  unsigned T = ((unsigned)t << 8) | t;
20575  unsigned stk1;
20576  stk1 = T & S;
20577  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20578}
20579
20580/* STDSnaoxn source/pattern opaque. */
20581static void rop3_193_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20582{
20583  unsigned char stk1;
20584  unsigned char stk2;
20585  unsigned char stk3;
20586  unsigned char stk4;
20587  stk4 = ~S;
20588  stk3 = *D & stk4;
20589  stk2 = T | stk3;
20590  stk1 = S ^ stk2;
20591  stk1 = ~stk1;
20592  *D = stk1;
20593}
20594
20595/* STDSnaoxn source opaque/pattern transparent. */
20596static void rop3_193_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20597{
20598  unsigned char stk1;
20599  unsigned char stk2;
20600  unsigned char stk3;
20601  unsigned char stk4;
20602  stk4 = ~S;
20603  stk3 = *D & stk4;
20604  stk2 = T | stk3;
20605  stk1 = S ^ stk2;
20606  stk1 = ~stk1;
20607  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20608}
20609
20610/* STDSnaoxn source transparent/pattern opaque. */
20611static void rop3_193_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20612{
20613  unsigned char stk1;
20614  unsigned char stk2;
20615  unsigned char stk3;
20616  unsigned char stk4;
20617  stk4 = ~S;
20618  stk3 = *D & stk4;
20619  stk2 = T | stk3;
20620  stk1 = S ^ stk2;
20621  stk1 = ~stk1;
20622  *D = (stk1 & (~S)) | (*D & S);
20623}
20624
20625/* STDSnaoxn source/pattern transparent. */
20626static void rop3_193_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20627{
20628  unsigned char stk1;
20629  unsigned char stk2;
20630  unsigned char stk3;
20631  unsigned char stk4;
20632  stk4 = ~S;
20633  stk3 = *D & stk4;
20634  stk2 = T | stk3;
20635  stk1 = S ^ stk2;
20636  stk1 = ~stk1;
20637  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20638}
20639
20640/* STDSnaoxn source/pattern opaque. */
20641static unsigned xrop3_193_0_0 (unsigned char s, unsigned char t)
20642{
20643  unsigned D = 0x00ff;
20644  unsigned S = ((unsigned)s << 8) | s;
20645  unsigned T = ((unsigned)t << 8) | t;
20646  unsigned stk1;
20647  unsigned stk2;
20648  unsigned stk3;
20649  unsigned stk4;
20650  stk4 = ~S;
20651  stk3 = D & stk4;
20652  stk2 = T | stk3;
20653  stk1 = S ^ stk2;
20654  stk1 = ~stk1;
20655  return stk1;
20656}
20657
20658/* STDSnaoxn source opaque/pattern transparent. */
20659static unsigned xrop3_193_0_1 (unsigned char s, unsigned char t)
20660{
20661  unsigned D = 0x00ff;
20662  unsigned S = ((unsigned)s << 8) | s;
20663  unsigned T = ((unsigned)t << 8) | t;
20664  unsigned stk1;
20665  unsigned stk2;
20666  unsigned stk3;
20667  unsigned stk4;
20668  stk4 = ~S;
20669  stk3 = D & stk4;
20670  stk2 = T | stk3;
20671  stk1 = S ^ stk2;
20672  stk1 = ~stk1;
20673  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20674}
20675
20676/* STDSnaoxn source transparent/pattern opaque. */
20677static unsigned xrop3_193_1_0 (unsigned char s, unsigned char t)
20678{
20679  unsigned D = 0x00ff;
20680  unsigned S = ((unsigned)s << 8) | s;
20681  unsigned T = ((unsigned)t << 8) | t;
20682  unsigned stk1;
20683  unsigned stk2;
20684  unsigned stk3;
20685  unsigned stk4;
20686  stk4 = ~S;
20687  stk3 = D & stk4;
20688  stk2 = T | stk3;
20689  stk1 = S ^ stk2;
20690  stk1 = ~stk1;
20691  return (stk1 & (~S)) | (D & S);
20692}
20693
20694/* STDSnaoxn source/pattern transparent. */
20695static unsigned xrop3_193_1_1 (unsigned char s, unsigned char t)
20696{
20697  unsigned D = 0x00ff;
20698  unsigned S = ((unsigned)s << 8) | s;
20699  unsigned T = ((unsigned)t << 8) | t;
20700  unsigned stk1;
20701  unsigned stk2;
20702  unsigned stk3;
20703  unsigned stk4;
20704  stk4 = ~S;
20705  stk3 = D & stk4;
20706  stk2 = T | stk3;
20707  stk1 = S ^ stk2;
20708  stk1 = ~stk1;
20709  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20710}
20711
20712/* STDSonoxn source/pattern opaque. */
20713static void rop3_194_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20714{
20715  unsigned char stk1;
20716  unsigned char stk2;
20717  unsigned char stk3;
20718  stk3 = *D | S;
20719  stk3 = ~stk3;
20720  stk2 = T | stk3;
20721  stk1 = S ^ stk2;
20722  stk1 = ~stk1;
20723  *D = stk1;
20724}
20725
20726/* STDSonoxn source opaque/pattern transparent. */
20727static void rop3_194_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20728{
20729  unsigned char stk1;
20730  unsigned char stk2;
20731  unsigned char stk3;
20732  stk3 = *D | S;
20733  stk3 = ~stk3;
20734  stk2 = T | stk3;
20735  stk1 = S ^ stk2;
20736  stk1 = ~stk1;
20737  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20738}
20739
20740/* STDSonoxn source transparent/pattern opaque. */
20741static void rop3_194_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20742{
20743  unsigned char stk1;
20744  unsigned char stk2;
20745  unsigned char stk3;
20746  stk3 = *D | S;
20747  stk3 = ~stk3;
20748  stk2 = T | stk3;
20749  stk1 = S ^ stk2;
20750  stk1 = ~stk1;
20751  *D = (stk1 & (~S)) | (*D & S);
20752}
20753
20754/* STDSonoxn source/pattern transparent. */
20755static void rop3_194_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20756{
20757  unsigned char stk1;
20758  unsigned char stk2;
20759  unsigned char stk3;
20760  stk3 = *D | S;
20761  stk3 = ~stk3;
20762  stk2 = T | stk3;
20763  stk1 = S ^ stk2;
20764  stk1 = ~stk1;
20765  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20766}
20767
20768/* STDSonoxn source/pattern opaque. */
20769static unsigned xrop3_194_0_0 (unsigned char s, unsigned char t)
20770{
20771  unsigned D = 0x00ff;
20772  unsigned S = ((unsigned)s << 8) | s;
20773  unsigned T = ((unsigned)t << 8) | t;
20774  unsigned stk1;
20775  unsigned stk2;
20776  unsigned stk3;
20777  stk3 = D | S;
20778  stk3 = ~stk3;
20779  stk2 = T | stk3;
20780  stk1 = S ^ stk2;
20781  stk1 = ~stk1;
20782  return stk1;
20783}
20784
20785/* STDSonoxn source opaque/pattern transparent. */
20786static unsigned xrop3_194_0_1 (unsigned char s, unsigned char t)
20787{
20788  unsigned D = 0x00ff;
20789  unsigned S = ((unsigned)s << 8) | s;
20790  unsigned T = ((unsigned)t << 8) | t;
20791  unsigned stk1;
20792  unsigned stk2;
20793  unsigned stk3;
20794  stk3 = D | S;
20795  stk3 = ~stk3;
20796  stk2 = T | stk3;
20797  stk1 = S ^ stk2;
20798  stk1 = ~stk1;
20799  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20800}
20801
20802/* STDSonoxn source transparent/pattern opaque. */
20803static unsigned xrop3_194_1_0 (unsigned char s, unsigned char t)
20804{
20805  unsigned D = 0x00ff;
20806  unsigned S = ((unsigned)s << 8) | s;
20807  unsigned T = ((unsigned)t << 8) | t;
20808  unsigned stk1;
20809  unsigned stk2;
20810  unsigned stk3;
20811  stk3 = D | S;
20812  stk3 = ~stk3;
20813  stk2 = T | stk3;
20814  stk1 = S ^ stk2;
20815  stk1 = ~stk1;
20816  return (stk1 & (~S)) | (D & S);
20817}
20818
20819/* STDSonoxn source/pattern transparent. */
20820static unsigned xrop3_194_1_1 (unsigned char s, unsigned char t)
20821{
20822  unsigned D = 0x00ff;
20823  unsigned S = ((unsigned)s << 8) | s;
20824  unsigned T = ((unsigned)t << 8) | t;
20825  unsigned stk1;
20826  unsigned stk2;
20827  unsigned stk3;
20828  stk3 = D | S;
20829  stk3 = ~stk3;
20830  stk2 = T | stk3;
20831  stk1 = S ^ stk2;
20832  stk1 = ~stk1;
20833  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20834}
20835
20836/* TSxn source/pattern opaque. */
20837static void rop3_195_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20838{
20839  unsigned char stk1;
20840  stk1 = T ^ S;
20841  stk1 = ~stk1;
20842  *D = stk1;
20843}
20844
20845/* TSxn source opaque/pattern transparent. */
20846static void rop3_195_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20847{
20848  unsigned char stk1;
20849  stk1 = T ^ S;
20850  stk1 = ~stk1;
20851  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20852}
20853
20854/* TSxn source transparent/pattern opaque. */
20855static void rop3_195_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20856{
20857  unsigned char stk1;
20858  stk1 = T ^ S;
20859  stk1 = ~stk1;
20860  *D = (stk1 & (~S)) | (*D & S);
20861}
20862
20863/* TSxn source/pattern transparent. */
20864static void rop3_195_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20865{
20866  unsigned char stk1;
20867  stk1 = T ^ S;
20868  stk1 = ~stk1;
20869  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20870}
20871
20872/* TSxn source/pattern opaque. */
20873static unsigned xrop3_195_0_0 (unsigned char s, unsigned char t)
20874{
20875  unsigned S = ((unsigned)s << 8) | s;
20876  unsigned T = ((unsigned)t << 8) | t;
20877  unsigned stk1;
20878  stk1 = T ^ S;
20879  stk1 = ~stk1;
20880  return stk1;
20881}
20882
20883/* TSxn source opaque/pattern transparent. */
20884static unsigned xrop3_195_0_1 (unsigned char s, unsigned char t)
20885{
20886  unsigned D = 0x00ff;
20887  unsigned S = ((unsigned)s << 8) | s;
20888  unsigned T = ((unsigned)t << 8) | t;
20889  unsigned stk1;
20890  stk1 = T ^ S;
20891  stk1 = ~stk1;
20892  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20893}
20894
20895/* TSxn source transparent/pattern opaque. */
20896static unsigned xrop3_195_1_0 (unsigned char s, unsigned char t)
20897{
20898  unsigned D = 0x00ff;
20899  unsigned S = ((unsigned)s << 8) | s;
20900  unsigned T = ((unsigned)t << 8) | t;
20901  unsigned stk1;
20902  stk1 = T ^ S;
20903  stk1 = ~stk1;
20904  return (stk1 & (~S)) | (D & S);
20905}
20906
20907/* TSxn source/pattern transparent. */
20908static unsigned xrop3_195_1_1 (unsigned char s, unsigned char t)
20909{
20910  unsigned D = 0x00ff;
20911  unsigned S = ((unsigned)s << 8) | s;
20912  unsigned T = ((unsigned)t << 8) | t;
20913  unsigned stk1;
20914  stk1 = T ^ S;
20915  stk1 = ~stk1;
20916  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
20917}
20918
20919/* STDnoa source/pattern opaque. */
20920static void rop3_196_0_0 (unsigned char *D, unsigned char S, unsigned char T)
20921{
20922  unsigned char stk1;
20923  unsigned char stk2;
20924  unsigned char stk3;
20925  stk3 = ~*D;
20926  stk2 = T | stk3;
20927  stk1 = S & stk2;
20928  *D = stk1;
20929}
20930
20931/* STDnoa source opaque/pattern transparent. */
20932static void rop3_196_0_1 (unsigned char *D, unsigned char S, unsigned char T)
20933{
20934  unsigned char stk1;
20935  unsigned char stk2;
20936  unsigned char stk3;
20937  stk3 = ~*D;
20938  stk2 = T | stk3;
20939  stk1 = S & stk2;
20940  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
20941}
20942
20943/* STDnoa source transparent/pattern opaque. */
20944static void rop3_196_1_0 (unsigned char *D, unsigned char S, unsigned char T)
20945{
20946  unsigned char stk1;
20947  unsigned char stk2;
20948  unsigned char stk3;
20949  stk3 = ~*D;
20950  stk2 = T | stk3;
20951  stk1 = S & stk2;
20952  *D = (stk1 & (~S)) | (*D & S);
20953}
20954
20955/* STDnoa source/pattern transparent. */
20956static void rop3_196_1_1 (unsigned char *D, unsigned char S, unsigned char T)
20957{
20958  unsigned char stk1;
20959  unsigned char stk2;
20960  unsigned char stk3;
20961  stk3 = ~*D;
20962  stk2 = T | stk3;
20963  stk1 = S & stk2;
20964  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
20965}
20966
20967/* STDnoa source/pattern opaque. */
20968static unsigned xrop3_196_0_0 (unsigned char s, unsigned char t)
20969{
20970  unsigned D = 0x00ff;
20971  unsigned S = ((unsigned)s << 8) | s;
20972  unsigned T = ((unsigned)t << 8) | t;
20973  unsigned stk1;
20974  unsigned stk2;
20975  unsigned stk3;
20976  stk3 = ~D;
20977  stk2 = T | stk3;
20978  stk1 = S & stk2;
20979  return stk1;
20980}
20981
20982/* STDnoa source opaque/pattern transparent. */
20983static unsigned xrop3_196_0_1 (unsigned char s, unsigned char t)
20984{
20985  unsigned D = 0x00ff;
20986  unsigned S = ((unsigned)s << 8) | s;
20987  unsigned T = ((unsigned)t << 8) | t;
20988  unsigned stk1;
20989  unsigned stk2;
20990  unsigned stk3;
20991  stk3 = ~D;
20992  stk2 = T | stk3;
20993  stk1 = S & stk2;
20994  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
20995}
20996
20997/* STDnoa source transparent/pattern opaque. */
20998static unsigned xrop3_196_1_0 (unsigned char s, unsigned char t)
20999{
21000  unsigned D = 0x00ff;
21001  unsigned S = ((unsigned)s << 8) | s;
21002  unsigned T = ((unsigned)t << 8) | t;
21003  unsigned stk1;
21004  unsigned stk2;
21005  unsigned stk3;
21006  stk3 = ~D;
21007  stk2 = T | stk3;
21008  stk1 = S & stk2;
21009  return (stk1 & (~S)) | (D & S);
21010}
21011
21012/* STDnoa source/pattern transparent. */
21013static unsigned xrop3_196_1_1 (unsigned char s, unsigned char t)
21014{
21015  unsigned D = 0x00ff;
21016  unsigned S = ((unsigned)s << 8) | s;
21017  unsigned T = ((unsigned)t << 8) | t;
21018  unsigned stk1;
21019  unsigned stk2;
21020  unsigned stk3;
21021  stk3 = ~D;
21022  stk2 = T | stk3;
21023  stk1 = S & stk2;
21024  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21025}
21026
21027/* STDSxoxn source/pattern opaque. */
21028static void rop3_197_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21029{
21030  unsigned char stk1;
21031  unsigned char stk2;
21032  unsigned char stk3;
21033  stk3 = *D ^ S;
21034  stk2 = T | stk3;
21035  stk1 = S ^ stk2;
21036  stk1 = ~stk1;
21037  *D = stk1;
21038}
21039
21040/* STDSxoxn source opaque/pattern transparent. */
21041static void rop3_197_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21042{
21043  unsigned char stk1;
21044  unsigned char stk2;
21045  unsigned char stk3;
21046  stk3 = *D ^ S;
21047  stk2 = T | stk3;
21048  stk1 = S ^ stk2;
21049  stk1 = ~stk1;
21050  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21051}
21052
21053/* STDSxoxn source transparent/pattern opaque. */
21054static void rop3_197_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21055{
21056  unsigned char stk1;
21057  unsigned char stk2;
21058  unsigned char stk3;
21059  stk3 = *D ^ S;
21060  stk2 = T | stk3;
21061  stk1 = S ^ stk2;
21062  stk1 = ~stk1;
21063  *D = (stk1 & (~S)) | (*D & S);
21064}
21065
21066/* STDSxoxn source/pattern transparent. */
21067static void rop3_197_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21068{
21069  unsigned char stk1;
21070  unsigned char stk2;
21071  unsigned char stk3;
21072  stk3 = *D ^ S;
21073  stk2 = T | stk3;
21074  stk1 = S ^ stk2;
21075  stk1 = ~stk1;
21076  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21077}
21078
21079/* STDSxoxn source/pattern opaque. */
21080static unsigned xrop3_197_0_0 (unsigned char s, unsigned char t)
21081{
21082  unsigned D = 0x00ff;
21083  unsigned S = ((unsigned)s << 8) | s;
21084  unsigned T = ((unsigned)t << 8) | t;
21085  unsigned stk1;
21086  unsigned stk2;
21087  unsigned stk3;
21088  stk3 = D ^ S;
21089  stk2 = T | stk3;
21090  stk1 = S ^ stk2;
21091  stk1 = ~stk1;
21092  return stk1;
21093}
21094
21095/* STDSxoxn source opaque/pattern transparent. */
21096static unsigned xrop3_197_0_1 (unsigned char s, unsigned char t)
21097{
21098  unsigned D = 0x00ff;
21099  unsigned S = ((unsigned)s << 8) | s;
21100  unsigned T = ((unsigned)t << 8) | t;
21101  unsigned stk1;
21102  unsigned stk2;
21103  unsigned stk3;
21104  stk3 = D ^ S;
21105  stk2 = T | stk3;
21106  stk1 = S ^ stk2;
21107  stk1 = ~stk1;
21108  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21109}
21110
21111/* STDSxoxn source transparent/pattern opaque. */
21112static unsigned xrop3_197_1_0 (unsigned char s, unsigned char t)
21113{
21114  unsigned D = 0x00ff;
21115  unsigned S = ((unsigned)s << 8) | s;
21116  unsigned T = ((unsigned)t << 8) | t;
21117  unsigned stk1;
21118  unsigned stk2;
21119  unsigned stk3;
21120  stk3 = D ^ S;
21121  stk2 = T | stk3;
21122  stk1 = S ^ stk2;
21123  stk1 = ~stk1;
21124  return (stk1 & (~S)) | (D & S);
21125}
21126
21127/* STDSxoxn source/pattern transparent. */
21128static unsigned xrop3_197_1_1 (unsigned char s, unsigned char t)
21129{
21130  unsigned D = 0x00ff;
21131  unsigned S = ((unsigned)s << 8) | s;
21132  unsigned T = ((unsigned)t << 8) | t;
21133  unsigned stk1;
21134  unsigned stk2;
21135  unsigned stk3;
21136  stk3 = D ^ S;
21137  stk2 = T | stk3;
21138  stk1 = S ^ stk2;
21139  stk1 = ~stk1;
21140  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21141}
21142
21143/* SDTnax source/pattern opaque. */
21144static void rop3_198_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21145{
21146  unsigned char stk1;
21147  unsigned char stk2;
21148  unsigned char stk3;
21149  stk3 = ~T;
21150  stk2 = *D & stk3;
21151  stk1 = S ^ stk2;
21152  *D = stk1;
21153}
21154
21155/* SDTnax source opaque/pattern transparent. */
21156static void rop3_198_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21157{
21158  unsigned char stk1;
21159  unsigned char stk2;
21160  unsigned char stk3;
21161  stk3 = ~T;
21162  stk2 = *D & stk3;
21163  stk1 = S ^ stk2;
21164  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21165}
21166
21167/* SDTnax source transparent/pattern opaque. */
21168static void rop3_198_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21169{
21170  unsigned char stk1;
21171  unsigned char stk2;
21172  unsigned char stk3;
21173  stk3 = ~T;
21174  stk2 = *D & stk3;
21175  stk1 = S ^ stk2;
21176  *D = (stk1 & (~S)) | (*D & S);
21177}
21178
21179/* SDTnax source/pattern transparent. */
21180static void rop3_198_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21181{
21182  unsigned char stk1;
21183  unsigned char stk2;
21184  unsigned char stk3;
21185  stk3 = ~T;
21186  stk2 = *D & stk3;
21187  stk1 = S ^ stk2;
21188  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21189}
21190
21191/* SDTnax source/pattern opaque. */
21192static unsigned xrop3_198_0_0 (unsigned char s, unsigned char t)
21193{
21194  unsigned D = 0x00ff;
21195  unsigned S = ((unsigned)s << 8) | s;
21196  unsigned T = ((unsigned)t << 8) | t;
21197  unsigned stk1;
21198  unsigned stk2;
21199  unsigned stk3;
21200  stk3 = ~T;
21201  stk2 = D & stk3;
21202  stk1 = S ^ stk2;
21203  return stk1;
21204}
21205
21206/* SDTnax source opaque/pattern transparent. */
21207static unsigned xrop3_198_0_1 (unsigned char s, unsigned char t)
21208{
21209  unsigned D = 0x00ff;
21210  unsigned S = ((unsigned)s << 8) | s;
21211  unsigned T = ((unsigned)t << 8) | t;
21212  unsigned stk1;
21213  unsigned stk2;
21214  unsigned stk3;
21215  stk3 = ~T;
21216  stk2 = D & stk3;
21217  stk1 = S ^ stk2;
21218  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21219}
21220
21221/* SDTnax source transparent/pattern opaque. */
21222static unsigned xrop3_198_1_0 (unsigned char s, unsigned char t)
21223{
21224  unsigned D = 0x00ff;
21225  unsigned S = ((unsigned)s << 8) | s;
21226  unsigned T = ((unsigned)t << 8) | t;
21227  unsigned stk1;
21228  unsigned stk2;
21229  unsigned stk3;
21230  stk3 = ~T;
21231  stk2 = D & stk3;
21232  stk1 = S ^ stk2;
21233  return (stk1 & (~S)) | (D & S);
21234}
21235
21236/* SDTnax source/pattern transparent. */
21237static unsigned xrop3_198_1_1 (unsigned char s, unsigned char t)
21238{
21239  unsigned D = 0x00ff;
21240  unsigned S = ((unsigned)s << 8) | s;
21241  unsigned T = ((unsigned)t << 8) | t;
21242  unsigned stk1;
21243  unsigned stk2;
21244  unsigned stk3;
21245  stk3 = ~T;
21246  stk2 = D & stk3;
21247  stk1 = S ^ stk2;
21248  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21249}
21250
21251/* TSDToaxn source/pattern opaque. */
21252static void rop3_199_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21253{
21254  unsigned char stk1;
21255  unsigned char stk2;
21256  unsigned char stk3;
21257  stk3 = *D | T;
21258  stk2 = S & stk3;
21259  stk1 = T ^ stk2;
21260  stk1 = ~stk1;
21261  *D = stk1;
21262}
21263
21264/* TSDToaxn source opaque/pattern transparent. */
21265static void rop3_199_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21266{
21267  unsigned char stk1;
21268  unsigned char stk2;
21269  unsigned char stk3;
21270  stk3 = *D | T;
21271  stk2 = S & stk3;
21272  stk1 = T ^ stk2;
21273  stk1 = ~stk1;
21274  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21275}
21276
21277/* TSDToaxn source transparent/pattern opaque. */
21278static void rop3_199_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21279{
21280  unsigned char stk1;
21281  unsigned char stk2;
21282  unsigned char stk3;
21283  stk3 = *D | T;
21284  stk2 = S & stk3;
21285  stk1 = T ^ stk2;
21286  stk1 = ~stk1;
21287  *D = (stk1 & (~S)) | (*D & S);
21288}
21289
21290/* TSDToaxn source/pattern transparent. */
21291static void rop3_199_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21292{
21293  unsigned char stk1;
21294  unsigned char stk2;
21295  unsigned char stk3;
21296  stk3 = *D | T;
21297  stk2 = S & stk3;
21298  stk1 = T ^ stk2;
21299  stk1 = ~stk1;
21300  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21301}
21302
21303/* TSDToaxn source/pattern opaque. */
21304static unsigned xrop3_199_0_0 (unsigned char s, unsigned char t)
21305{
21306  unsigned D = 0x00ff;
21307  unsigned S = ((unsigned)s << 8) | s;
21308  unsigned T = ((unsigned)t << 8) | t;
21309  unsigned stk1;
21310  unsigned stk2;
21311  unsigned stk3;
21312  stk3 = D | T;
21313  stk2 = S & stk3;
21314  stk1 = T ^ stk2;
21315  stk1 = ~stk1;
21316  return stk1;
21317}
21318
21319/* TSDToaxn source opaque/pattern transparent. */
21320static unsigned xrop3_199_0_1 (unsigned char s, unsigned char t)
21321{
21322  unsigned D = 0x00ff;
21323  unsigned S = ((unsigned)s << 8) | s;
21324  unsigned T = ((unsigned)t << 8) | t;
21325  unsigned stk1;
21326  unsigned stk2;
21327  unsigned stk3;
21328  stk3 = D | T;
21329  stk2 = S & stk3;
21330  stk1 = T ^ stk2;
21331  stk1 = ~stk1;
21332  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21333}
21334
21335/* TSDToaxn source transparent/pattern opaque. */
21336static unsigned xrop3_199_1_0 (unsigned char s, unsigned char t)
21337{
21338  unsigned D = 0x00ff;
21339  unsigned S = ((unsigned)s << 8) | s;
21340  unsigned T = ((unsigned)t << 8) | t;
21341  unsigned stk1;
21342  unsigned stk2;
21343  unsigned stk3;
21344  stk3 = D | T;
21345  stk2 = S & stk3;
21346  stk1 = T ^ stk2;
21347  stk1 = ~stk1;
21348  return (stk1 & (~S)) | (D & S);
21349}
21350
21351/* TSDToaxn source/pattern transparent. */
21352static unsigned xrop3_199_1_1 (unsigned char s, unsigned char t)
21353{
21354  unsigned D = 0x00ff;
21355  unsigned S = ((unsigned)s << 8) | s;
21356  unsigned T = ((unsigned)t << 8) | t;
21357  unsigned stk1;
21358  unsigned stk2;
21359  unsigned stk3;
21360  stk3 = D | T;
21361  stk2 = S & stk3;
21362  stk1 = T ^ stk2;
21363  stk1 = ~stk1;
21364  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21365}
21366
21367/* SDToa source/pattern opaque. */
21368static void rop3_200_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21369{
21370  unsigned char stk1;
21371  unsigned char stk2;
21372  stk2 = *D | T;
21373  stk1 = S & stk2;
21374  *D = stk1;
21375}
21376
21377/* SDToa source opaque/pattern transparent. */
21378static void rop3_200_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21379{
21380  unsigned char stk1;
21381  unsigned char stk2;
21382  stk2 = *D | T;
21383  stk1 = S & stk2;
21384  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21385}
21386
21387/* SDToa source transparent/pattern opaque. */
21388static void rop3_200_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21389{
21390  unsigned char stk1;
21391  unsigned char stk2;
21392  stk2 = *D | T;
21393  stk1 = S & stk2;
21394  *D = (stk1 & (~S)) | (*D & S);
21395}
21396
21397/* SDToa source/pattern transparent. */
21398static void rop3_200_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21399{
21400  unsigned char stk1;
21401  unsigned char stk2;
21402  stk2 = *D | T;
21403  stk1 = S & stk2;
21404  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21405}
21406
21407/* SDToa source/pattern opaque. */
21408static unsigned xrop3_200_0_0 (unsigned char s, unsigned char t)
21409{
21410  unsigned D = 0x00ff;
21411  unsigned S = ((unsigned)s << 8) | s;
21412  unsigned T = ((unsigned)t << 8) | t;
21413  unsigned stk1;
21414  unsigned stk2;
21415  stk2 = D | T;
21416  stk1 = S & stk2;
21417  return stk1;
21418}
21419
21420/* SDToa source opaque/pattern transparent. */
21421static unsigned xrop3_200_0_1 (unsigned char s, unsigned char t)
21422{
21423  unsigned D = 0x00ff;
21424  unsigned S = ((unsigned)s << 8) | s;
21425  unsigned T = ((unsigned)t << 8) | t;
21426  unsigned stk1;
21427  unsigned stk2;
21428  stk2 = D | T;
21429  stk1 = S & stk2;
21430  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21431}
21432
21433/* SDToa source transparent/pattern opaque. */
21434static unsigned xrop3_200_1_0 (unsigned char s, unsigned char t)
21435{
21436  unsigned D = 0x00ff;
21437  unsigned S = ((unsigned)s << 8) | s;
21438  unsigned T = ((unsigned)t << 8) | t;
21439  unsigned stk1;
21440  unsigned stk2;
21441  stk2 = D | T;
21442  stk1 = S & stk2;
21443  return (stk1 & (~S)) | (D & S);
21444}
21445
21446/* SDToa source/pattern transparent. */
21447static unsigned xrop3_200_1_1 (unsigned char s, unsigned char t)
21448{
21449  unsigned D = 0x00ff;
21450  unsigned S = ((unsigned)s << 8) | s;
21451  unsigned T = ((unsigned)t << 8) | t;
21452  unsigned stk1;
21453  unsigned stk2;
21454  stk2 = D | T;
21455  stk1 = S & stk2;
21456  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21457}
21458
21459/* STDoxn source/pattern opaque. */
21460static void rop3_201_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21461{
21462  unsigned char stk1;
21463  unsigned char stk2;
21464  stk2 = T | *D;
21465  stk1 = S ^ stk2;
21466  stk1 = ~stk1;
21467  *D = stk1;
21468}
21469
21470/* STDoxn source opaque/pattern transparent. */
21471static void rop3_201_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21472{
21473  unsigned char stk1;
21474  unsigned char stk2;
21475  stk2 = T | *D;
21476  stk1 = S ^ stk2;
21477  stk1 = ~stk1;
21478  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21479}
21480
21481/* STDoxn source transparent/pattern opaque. */
21482static void rop3_201_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21483{
21484  unsigned char stk1;
21485  unsigned char stk2;
21486  stk2 = T | *D;
21487  stk1 = S ^ stk2;
21488  stk1 = ~stk1;
21489  *D = (stk1 & (~S)) | (*D & S);
21490}
21491
21492/* STDoxn source/pattern transparent. */
21493static void rop3_201_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21494{
21495  unsigned char stk1;
21496  unsigned char stk2;
21497  stk2 = T | *D;
21498  stk1 = S ^ stk2;
21499  stk1 = ~stk1;
21500  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21501}
21502
21503/* STDoxn source/pattern opaque. */
21504static unsigned xrop3_201_0_0 (unsigned char s, unsigned char t)
21505{
21506  unsigned D = 0x00ff;
21507  unsigned S = ((unsigned)s << 8) | s;
21508  unsigned T = ((unsigned)t << 8) | t;
21509  unsigned stk1;
21510  unsigned stk2;
21511  stk2 = T | D;
21512  stk1 = S ^ stk2;
21513  stk1 = ~stk1;
21514  return stk1;
21515}
21516
21517/* STDoxn source opaque/pattern transparent. */
21518static unsigned xrop3_201_0_1 (unsigned char s, unsigned char t)
21519{
21520  unsigned D = 0x00ff;
21521  unsigned S = ((unsigned)s << 8) | s;
21522  unsigned T = ((unsigned)t << 8) | t;
21523  unsigned stk1;
21524  unsigned stk2;
21525  stk2 = T | D;
21526  stk1 = S ^ stk2;
21527  stk1 = ~stk1;
21528  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21529}
21530
21531/* STDoxn source transparent/pattern opaque. */
21532static unsigned xrop3_201_1_0 (unsigned char s, unsigned char t)
21533{
21534  unsigned D = 0x00ff;
21535  unsigned S = ((unsigned)s << 8) | s;
21536  unsigned T = ((unsigned)t << 8) | t;
21537  unsigned stk1;
21538  unsigned stk2;
21539  stk2 = T | D;
21540  stk1 = S ^ stk2;
21541  stk1 = ~stk1;
21542  return (stk1 & (~S)) | (D & S);
21543}
21544
21545/* STDoxn source/pattern transparent. */
21546static unsigned xrop3_201_1_1 (unsigned char s, unsigned char t)
21547{
21548  unsigned D = 0x00ff;
21549  unsigned S = ((unsigned)s << 8) | s;
21550  unsigned T = ((unsigned)t << 8) | t;
21551  unsigned stk1;
21552  unsigned stk2;
21553  stk2 = T | D;
21554  stk1 = S ^ stk2;
21555  stk1 = ~stk1;
21556  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21557}
21558
21559/* DTSDxax source/pattern opaque. */
21560static void rop3_202_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21561{
21562  unsigned char stk1;
21563  unsigned char stk2;
21564  unsigned char stk3;
21565  stk3 = S ^ *D;
21566  stk2 = T & stk3;
21567  stk1 = *D ^ stk2;
21568  *D = stk1;
21569}
21570
21571/* DTSDxax source opaque/pattern transparent. */
21572static void rop3_202_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21573{
21574  unsigned char stk1;
21575  unsigned char stk2;
21576  unsigned char stk3;
21577  stk3 = S ^ *D;
21578  stk2 = T & stk3;
21579  stk1 = *D ^ stk2;
21580  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21581}
21582
21583/* DTSDxax source transparent/pattern opaque. */
21584static void rop3_202_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21585{
21586  unsigned char stk1;
21587  unsigned char stk2;
21588  unsigned char stk3;
21589  stk3 = S ^ *D;
21590  stk2 = T & stk3;
21591  stk1 = *D ^ stk2;
21592  *D = (stk1 & (~S)) | (*D & S);
21593}
21594
21595/* DTSDxax source/pattern transparent. */
21596static void rop3_202_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21597{
21598  unsigned char stk1;
21599  unsigned char stk2;
21600  unsigned char stk3;
21601  stk3 = S ^ *D;
21602  stk2 = T & stk3;
21603  stk1 = *D ^ stk2;
21604  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21605}
21606
21607/* DTSDxax source/pattern opaque. */
21608static unsigned xrop3_202_0_0 (unsigned char s, unsigned char t)
21609{
21610  unsigned D = 0x00ff;
21611  unsigned S = ((unsigned)s << 8) | s;
21612  unsigned T = ((unsigned)t << 8) | t;
21613  unsigned stk1;
21614  unsigned stk2;
21615  unsigned stk3;
21616  stk3 = S ^ D;
21617  stk2 = T & stk3;
21618  stk1 = D ^ stk2;
21619  return stk1;
21620}
21621
21622/* DTSDxax source opaque/pattern transparent. */
21623static unsigned xrop3_202_0_1 (unsigned char s, unsigned char t)
21624{
21625  unsigned D = 0x00ff;
21626  unsigned S = ((unsigned)s << 8) | s;
21627  unsigned T = ((unsigned)t << 8) | t;
21628  unsigned stk1;
21629  unsigned stk2;
21630  unsigned stk3;
21631  stk3 = S ^ D;
21632  stk2 = T & stk3;
21633  stk1 = D ^ stk2;
21634  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21635}
21636
21637/* DTSDxax source transparent/pattern opaque. */
21638static unsigned xrop3_202_1_0 (unsigned char s, unsigned char t)
21639{
21640  unsigned D = 0x00ff;
21641  unsigned S = ((unsigned)s << 8) | s;
21642  unsigned T = ((unsigned)t << 8) | t;
21643  unsigned stk1;
21644  unsigned stk2;
21645  unsigned stk3;
21646  stk3 = S ^ D;
21647  stk2 = T & stk3;
21648  stk1 = D ^ stk2;
21649  return (stk1 & (~S)) | (D & S);
21650}
21651
21652/* DTSDxax source/pattern transparent. */
21653static unsigned xrop3_202_1_1 (unsigned char s, unsigned char t)
21654{
21655  unsigned D = 0x00ff;
21656  unsigned S = ((unsigned)s << 8) | s;
21657  unsigned T = ((unsigned)t << 8) | t;
21658  unsigned stk1;
21659  unsigned stk2;
21660  unsigned stk3;
21661  stk3 = S ^ D;
21662  stk2 = T & stk3;
21663  stk1 = D ^ stk2;
21664  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21665}
21666
21667/* STDSaoxn source/pattern opaque. */
21668static void rop3_203_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21669{
21670  unsigned char stk1;
21671  unsigned char stk2;
21672  unsigned char stk3;
21673  stk3 = *D & S;
21674  stk2 = T | stk3;
21675  stk1 = S ^ stk2;
21676  stk1 = ~stk1;
21677  *D = stk1;
21678}
21679
21680/* STDSaoxn source opaque/pattern transparent. */
21681static void rop3_203_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21682{
21683  unsigned char stk1;
21684  unsigned char stk2;
21685  unsigned char stk3;
21686  stk3 = *D & S;
21687  stk2 = T | stk3;
21688  stk1 = S ^ stk2;
21689  stk1 = ~stk1;
21690  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21691}
21692
21693/* STDSaoxn source transparent/pattern opaque. */
21694static void rop3_203_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21695{
21696  unsigned char stk1;
21697  unsigned char stk2;
21698  unsigned char stk3;
21699  stk3 = *D & S;
21700  stk2 = T | stk3;
21701  stk1 = S ^ stk2;
21702  stk1 = ~stk1;
21703  *D = (stk1 & (~S)) | (*D & S);
21704}
21705
21706/* STDSaoxn source/pattern transparent. */
21707static void rop3_203_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21708{
21709  unsigned char stk1;
21710  unsigned char stk2;
21711  unsigned char stk3;
21712  stk3 = *D & S;
21713  stk2 = T | stk3;
21714  stk1 = S ^ stk2;
21715  stk1 = ~stk1;
21716  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21717}
21718
21719/* STDSaoxn source/pattern opaque. */
21720static unsigned xrop3_203_0_0 (unsigned char s, unsigned char t)
21721{
21722  unsigned D = 0x00ff;
21723  unsigned S = ((unsigned)s << 8) | s;
21724  unsigned T = ((unsigned)t << 8) | t;
21725  unsigned stk1;
21726  unsigned stk2;
21727  unsigned stk3;
21728  stk3 = D & S;
21729  stk2 = T | stk3;
21730  stk1 = S ^ stk2;
21731  stk1 = ~stk1;
21732  return stk1;
21733}
21734
21735/* STDSaoxn source opaque/pattern transparent. */
21736static unsigned xrop3_203_0_1 (unsigned char s, unsigned char t)
21737{
21738  unsigned D = 0x00ff;
21739  unsigned S = ((unsigned)s << 8) | s;
21740  unsigned T = ((unsigned)t << 8) | t;
21741  unsigned stk1;
21742  unsigned stk2;
21743  unsigned stk3;
21744  stk3 = D & S;
21745  stk2 = T | stk3;
21746  stk1 = S ^ stk2;
21747  stk1 = ~stk1;
21748  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21749}
21750
21751/* STDSaoxn source transparent/pattern opaque. */
21752static unsigned xrop3_203_1_0 (unsigned char s, unsigned char t)
21753{
21754  unsigned D = 0x00ff;
21755  unsigned S = ((unsigned)s << 8) | s;
21756  unsigned T = ((unsigned)t << 8) | t;
21757  unsigned stk1;
21758  unsigned stk2;
21759  unsigned stk3;
21760  stk3 = D & S;
21761  stk2 = T | stk3;
21762  stk1 = S ^ stk2;
21763  stk1 = ~stk1;
21764  return (stk1 & (~S)) | (D & S);
21765}
21766
21767/* STDSaoxn source/pattern transparent. */
21768static unsigned xrop3_203_1_1 (unsigned char s, unsigned char t)
21769{
21770  unsigned D = 0x00ff;
21771  unsigned S = ((unsigned)s << 8) | s;
21772  unsigned T = ((unsigned)t << 8) | t;
21773  unsigned stk1;
21774  unsigned stk2;
21775  unsigned stk3;
21776  stk3 = D & S;
21777  stk2 = T | stk3;
21778  stk1 = S ^ stk2;
21779  stk1 = ~stk1;
21780  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21781}
21782
21783/* S source/pattern opaque. */
21784static void rop3_204_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21785{
21786  *D = S;
21787}
21788
21789/* S source opaque/pattern transparent. */
21790static void rop3_204_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21791{
21792  *D = (S & S) | (S & (~T)) | (T & (~S) & *D);
21793}
21794
21795/* S source transparent/pattern opaque. */
21796static void rop3_204_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21797{
21798  *D = (S & (~S)) | (*D & S);
21799}
21800
21801/* S source/pattern transparent. */
21802static void rop3_204_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21803{
21804  *D = (S & (~S) & (~T)) | (*D & S) | (*D & T);
21805}
21806
21807/* S source/pattern opaque. */
21808static unsigned xrop3_204_0_0 (unsigned char s, unsigned char t)
21809{
21810  unsigned S = ((unsigned)s << 8) | s;
21811  return S;
21812}
21813
21814/* S source opaque/pattern transparent. */
21815static unsigned xrop3_204_0_1 (unsigned char s, unsigned char t)
21816{
21817  unsigned D = 0x00ff;
21818  unsigned S = ((unsigned)s << 8) | s;
21819  unsigned T = ((unsigned)t << 8) | t;
21820  return (S & S) | (S & (~T)) | (T & (~S) & D);
21821}
21822
21823/* S source transparent/pattern opaque. */
21824static unsigned xrop3_204_1_0 (unsigned char s, unsigned char t)
21825{
21826  unsigned D = 0x00ff;
21827  unsigned S = ((unsigned)s << 8) | s;
21828  return (S & (~S)) | (D & S);
21829}
21830
21831/* S source/pattern transparent. */
21832static unsigned xrop3_204_1_1 (unsigned char s, unsigned char t)
21833{
21834  unsigned D = 0x00ff;
21835  unsigned S = ((unsigned)s << 8) | s;
21836  unsigned T = ((unsigned)t << 8) | t;
21837  return (S & (~S) & (~T)) | (D & S) | (D & T);
21838}
21839
21840/* SDTono source/pattern opaque. */
21841static void rop3_205_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21842{
21843  unsigned char stk1;
21844  unsigned char stk2;
21845  stk2 = *D | T;
21846  stk2 = ~stk2;
21847  stk1 = S | stk2;
21848  *D = stk1;
21849}
21850
21851/* SDTono source opaque/pattern transparent. */
21852static void rop3_205_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21853{
21854  unsigned char stk1;
21855  unsigned char stk2;
21856  stk2 = *D | T;
21857  stk2 = ~stk2;
21858  stk1 = S | stk2;
21859  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21860}
21861
21862/* SDTono source transparent/pattern opaque. */
21863static void rop3_205_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21864{
21865  unsigned char stk1;
21866  unsigned char stk2;
21867  stk2 = *D | T;
21868  stk2 = ~stk2;
21869  stk1 = S | stk2;
21870  *D = (stk1 & (~S)) | (*D & S);
21871}
21872
21873/* SDTono source/pattern transparent. */
21874static void rop3_205_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21875{
21876  unsigned char stk1;
21877  unsigned char stk2;
21878  stk2 = *D | T;
21879  stk2 = ~stk2;
21880  stk1 = S | stk2;
21881  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21882}
21883
21884/* SDTono source/pattern opaque. */
21885static unsigned xrop3_205_0_0 (unsigned char s, unsigned char t)
21886{
21887  unsigned D = 0x00ff;
21888  unsigned S = ((unsigned)s << 8) | s;
21889  unsigned T = ((unsigned)t << 8) | t;
21890  unsigned stk1;
21891  unsigned stk2;
21892  stk2 = D | T;
21893  stk2 = ~stk2;
21894  stk1 = S | stk2;
21895  return stk1;
21896}
21897
21898/* SDTono source opaque/pattern transparent. */
21899static unsigned xrop3_205_0_1 (unsigned char s, unsigned char t)
21900{
21901  unsigned D = 0x00ff;
21902  unsigned S = ((unsigned)s << 8) | s;
21903  unsigned T = ((unsigned)t << 8) | t;
21904  unsigned stk1;
21905  unsigned stk2;
21906  stk2 = D | T;
21907  stk2 = ~stk2;
21908  stk1 = S | stk2;
21909  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
21910}
21911
21912/* SDTono source transparent/pattern opaque. */
21913static unsigned xrop3_205_1_0 (unsigned char s, unsigned char t)
21914{
21915  unsigned D = 0x00ff;
21916  unsigned S = ((unsigned)s << 8) | s;
21917  unsigned T = ((unsigned)t << 8) | t;
21918  unsigned stk1;
21919  unsigned stk2;
21920  stk2 = D | T;
21921  stk2 = ~stk2;
21922  stk1 = S | stk2;
21923  return (stk1 & (~S)) | (D & S);
21924}
21925
21926/* SDTono source/pattern transparent. */
21927static unsigned xrop3_205_1_1 (unsigned char s, unsigned char t)
21928{
21929  unsigned D = 0x00ff;
21930  unsigned S = ((unsigned)s << 8) | s;
21931  unsigned T = ((unsigned)t << 8) | t;
21932  unsigned stk1;
21933  unsigned stk2;
21934  stk2 = D | T;
21935  stk2 = ~stk2;
21936  stk1 = S | stk2;
21937  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
21938}
21939
21940/* SDTnao source/pattern opaque. */
21941static void rop3_206_0_0 (unsigned char *D, unsigned char S, unsigned char T)
21942{
21943  unsigned char stk1;
21944  unsigned char stk2;
21945  unsigned char stk3;
21946  stk3 = ~T;
21947  stk2 = *D & stk3;
21948  stk1 = S | stk2;
21949  *D = stk1;
21950}
21951
21952/* SDTnao source opaque/pattern transparent. */
21953static void rop3_206_0_1 (unsigned char *D, unsigned char S, unsigned char T)
21954{
21955  unsigned char stk1;
21956  unsigned char stk2;
21957  unsigned char stk3;
21958  stk3 = ~T;
21959  stk2 = *D & stk3;
21960  stk1 = S | stk2;
21961  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
21962}
21963
21964/* SDTnao source transparent/pattern opaque. */
21965static void rop3_206_1_0 (unsigned char *D, unsigned char S, unsigned char T)
21966{
21967  unsigned char stk1;
21968  unsigned char stk2;
21969  unsigned char stk3;
21970  stk3 = ~T;
21971  stk2 = *D & stk3;
21972  stk1 = S | stk2;
21973  *D = (stk1 & (~S)) | (*D & S);
21974}
21975
21976/* SDTnao source/pattern transparent. */
21977static void rop3_206_1_1 (unsigned char *D, unsigned char S, unsigned char T)
21978{
21979  unsigned char stk1;
21980  unsigned char stk2;
21981  unsigned char stk3;
21982  stk3 = ~T;
21983  stk2 = *D & stk3;
21984  stk1 = S | stk2;
21985  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
21986}
21987
21988/* SDTnao source/pattern opaque. */
21989static unsigned xrop3_206_0_0 (unsigned char s, unsigned char t)
21990{
21991  unsigned D = 0x00ff;
21992  unsigned S = ((unsigned)s << 8) | s;
21993  unsigned T = ((unsigned)t << 8) | t;
21994  unsigned stk1;
21995  unsigned stk2;
21996  unsigned stk3;
21997  stk3 = ~T;
21998  stk2 = D & stk3;
21999  stk1 = S | stk2;
22000  return stk1;
22001}
22002
22003/* SDTnao source opaque/pattern transparent. */
22004static unsigned xrop3_206_0_1 (unsigned char s, unsigned char t)
22005{
22006  unsigned D = 0x00ff;
22007  unsigned S = ((unsigned)s << 8) | s;
22008  unsigned T = ((unsigned)t << 8) | t;
22009  unsigned stk1;
22010  unsigned stk2;
22011  unsigned stk3;
22012  stk3 = ~T;
22013  stk2 = D & stk3;
22014  stk1 = S | stk2;
22015  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22016}
22017
22018/* SDTnao source transparent/pattern opaque. */
22019static unsigned xrop3_206_1_0 (unsigned char s, unsigned char t)
22020{
22021  unsigned D = 0x00ff;
22022  unsigned S = ((unsigned)s << 8) | s;
22023  unsigned T = ((unsigned)t << 8) | t;
22024  unsigned stk1;
22025  unsigned stk2;
22026  unsigned stk3;
22027  stk3 = ~T;
22028  stk2 = D & stk3;
22029  stk1 = S | stk2;
22030  return (stk1 & (~S)) | (D & S);
22031}
22032
22033/* SDTnao source/pattern transparent. */
22034static unsigned xrop3_206_1_1 (unsigned char s, unsigned char t)
22035{
22036  unsigned D = 0x00ff;
22037  unsigned S = ((unsigned)s << 8) | s;
22038  unsigned T = ((unsigned)t << 8) | t;
22039  unsigned stk1;
22040  unsigned stk2;
22041  unsigned stk3;
22042  stk3 = ~T;
22043  stk2 = D & stk3;
22044  stk1 = S | stk2;
22045  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22046}
22047
22048/* STno source/pattern opaque. */
22049static void rop3_207_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22050{
22051  unsigned char stk1;
22052  unsigned char stk2;
22053  stk2 = ~T;
22054  stk1 = S | stk2;
22055  *D = stk1;
22056}
22057
22058/* STno source opaque/pattern transparent. */
22059static void rop3_207_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22060{
22061  unsigned char stk1;
22062  unsigned char stk2;
22063  stk2 = ~T;
22064  stk1 = S | stk2;
22065  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22066}
22067
22068/* STno source transparent/pattern opaque. */
22069static void rop3_207_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22070{
22071  unsigned char stk1;
22072  unsigned char stk2;
22073  stk2 = ~T;
22074  stk1 = S | stk2;
22075  *D = (stk1 & (~S)) | (*D & S);
22076}
22077
22078/* STno source/pattern transparent. */
22079static void rop3_207_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22080{
22081  unsigned char stk1;
22082  unsigned char stk2;
22083  stk2 = ~T;
22084  stk1 = S | stk2;
22085  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22086}
22087
22088/* STno source/pattern opaque. */
22089static unsigned xrop3_207_0_0 (unsigned char s, unsigned char t)
22090{
22091  unsigned S = ((unsigned)s << 8) | s;
22092  unsigned T = ((unsigned)t << 8) | t;
22093  unsigned stk1;
22094  unsigned stk2;
22095  stk2 = ~T;
22096  stk1 = S | stk2;
22097  return stk1;
22098}
22099
22100/* STno source opaque/pattern transparent. */
22101static unsigned xrop3_207_0_1 (unsigned char s, unsigned char t)
22102{
22103  unsigned D = 0x00ff;
22104  unsigned S = ((unsigned)s << 8) | s;
22105  unsigned T = ((unsigned)t << 8) | t;
22106  unsigned stk1;
22107  unsigned stk2;
22108  stk2 = ~T;
22109  stk1 = S | stk2;
22110  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22111}
22112
22113/* STno source transparent/pattern opaque. */
22114static unsigned xrop3_207_1_0 (unsigned char s, unsigned char t)
22115{
22116  unsigned D = 0x00ff;
22117  unsigned S = ((unsigned)s << 8) | s;
22118  unsigned T = ((unsigned)t << 8) | t;
22119  unsigned stk1;
22120  unsigned stk2;
22121  stk2 = ~T;
22122  stk1 = S | stk2;
22123  return (stk1 & (~S)) | (D & S);
22124}
22125
22126/* STno source/pattern transparent. */
22127static unsigned xrop3_207_1_1 (unsigned char s, unsigned char t)
22128{
22129  unsigned D = 0x00ff;
22130  unsigned S = ((unsigned)s << 8) | s;
22131  unsigned T = ((unsigned)t << 8) | t;
22132  unsigned stk1;
22133  unsigned stk2;
22134  stk2 = ~T;
22135  stk1 = S | stk2;
22136  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22137}
22138
22139/* TSDnoa source/pattern opaque. */
22140static void rop3_208_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22141{
22142  unsigned char stk1;
22143  unsigned char stk2;
22144  unsigned char stk3;
22145  stk3 = ~*D;
22146  stk2 = S | stk3;
22147  stk1 = T & stk2;
22148  *D = stk1;
22149}
22150
22151/* TSDnoa source opaque/pattern transparent. */
22152static void rop3_208_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22153{
22154  unsigned char stk1;
22155  unsigned char stk2;
22156  unsigned char stk3;
22157  stk3 = ~*D;
22158  stk2 = S | stk3;
22159  stk1 = T & stk2;
22160  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22161}
22162
22163/* TSDnoa source transparent/pattern opaque. */
22164static void rop3_208_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22165{
22166  unsigned char stk1;
22167  unsigned char stk2;
22168  unsigned char stk3;
22169  stk3 = ~*D;
22170  stk2 = S | stk3;
22171  stk1 = T & stk2;
22172  *D = (stk1 & (~S)) | (*D & S);
22173}
22174
22175/* TSDnoa source/pattern transparent. */
22176static void rop3_208_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22177{
22178  unsigned char stk1;
22179  unsigned char stk2;
22180  unsigned char stk3;
22181  stk3 = ~*D;
22182  stk2 = S | stk3;
22183  stk1 = T & stk2;
22184  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22185}
22186
22187/* TSDnoa source/pattern opaque. */
22188static unsigned xrop3_208_0_0 (unsigned char s, unsigned char t)
22189{
22190  unsigned D = 0x00ff;
22191  unsigned S = ((unsigned)s << 8) | s;
22192  unsigned T = ((unsigned)t << 8) | t;
22193  unsigned stk1;
22194  unsigned stk2;
22195  unsigned stk3;
22196  stk3 = ~D;
22197  stk2 = S | stk3;
22198  stk1 = T & stk2;
22199  return stk1;
22200}
22201
22202/* TSDnoa source opaque/pattern transparent. */
22203static unsigned xrop3_208_0_1 (unsigned char s, unsigned char t)
22204{
22205  unsigned D = 0x00ff;
22206  unsigned S = ((unsigned)s << 8) | s;
22207  unsigned T = ((unsigned)t << 8) | t;
22208  unsigned stk1;
22209  unsigned stk2;
22210  unsigned stk3;
22211  stk3 = ~D;
22212  stk2 = S | stk3;
22213  stk1 = T & stk2;
22214  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22215}
22216
22217/* TSDnoa source transparent/pattern opaque. */
22218static unsigned xrop3_208_1_0 (unsigned char s, unsigned char t)
22219{
22220  unsigned D = 0x00ff;
22221  unsigned S = ((unsigned)s << 8) | s;
22222  unsigned T = ((unsigned)t << 8) | t;
22223  unsigned stk1;
22224  unsigned stk2;
22225  unsigned stk3;
22226  stk3 = ~D;
22227  stk2 = S | stk3;
22228  stk1 = T & stk2;
22229  return (stk1 & (~S)) | (D & S);
22230}
22231
22232/* TSDnoa source/pattern transparent. */
22233static unsigned xrop3_208_1_1 (unsigned char s, unsigned char t)
22234{
22235  unsigned D = 0x00ff;
22236  unsigned S = ((unsigned)s << 8) | s;
22237  unsigned T = ((unsigned)t << 8) | t;
22238  unsigned stk1;
22239  unsigned stk2;
22240  unsigned stk3;
22241  stk3 = ~D;
22242  stk2 = S | stk3;
22243  stk1 = T & stk2;
22244  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22245}
22246
22247/* TSDTxoxn source/pattern opaque. */
22248static void rop3_209_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22249{
22250  unsigned char stk1;
22251  unsigned char stk2;
22252  unsigned char stk3;
22253  stk3 = *D ^ T;
22254  stk2 = S | stk3;
22255  stk1 = T ^ stk2;
22256  stk1 = ~stk1;
22257  *D = stk1;
22258}
22259
22260/* TSDTxoxn source opaque/pattern transparent. */
22261static void rop3_209_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22262{
22263  unsigned char stk1;
22264  unsigned char stk2;
22265  unsigned char stk3;
22266  stk3 = *D ^ T;
22267  stk2 = S | stk3;
22268  stk1 = T ^ stk2;
22269  stk1 = ~stk1;
22270  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22271}
22272
22273/* TSDTxoxn source transparent/pattern opaque. */
22274static void rop3_209_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22275{
22276  unsigned char stk1;
22277  unsigned char stk2;
22278  unsigned char stk3;
22279  stk3 = *D ^ T;
22280  stk2 = S | stk3;
22281  stk1 = T ^ stk2;
22282  stk1 = ~stk1;
22283  *D = (stk1 & (~S)) | (*D & S);
22284}
22285
22286/* TSDTxoxn source/pattern transparent. */
22287static void rop3_209_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22288{
22289  unsigned char stk1;
22290  unsigned char stk2;
22291  unsigned char stk3;
22292  stk3 = *D ^ T;
22293  stk2 = S | stk3;
22294  stk1 = T ^ stk2;
22295  stk1 = ~stk1;
22296  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22297}
22298
22299/* TSDTxoxn source/pattern opaque. */
22300static unsigned xrop3_209_0_0 (unsigned char s, unsigned char t)
22301{
22302  unsigned D = 0x00ff;
22303  unsigned S = ((unsigned)s << 8) | s;
22304  unsigned T = ((unsigned)t << 8) | t;
22305  unsigned stk1;
22306  unsigned stk2;
22307  unsigned stk3;
22308  stk3 = D ^ T;
22309  stk2 = S | stk3;
22310  stk1 = T ^ stk2;
22311  stk1 = ~stk1;
22312  return stk1;
22313}
22314
22315/* TSDTxoxn source opaque/pattern transparent. */
22316static unsigned xrop3_209_0_1 (unsigned char s, unsigned char t)
22317{
22318  unsigned D = 0x00ff;
22319  unsigned S = ((unsigned)s << 8) | s;
22320  unsigned T = ((unsigned)t << 8) | t;
22321  unsigned stk1;
22322  unsigned stk2;
22323  unsigned stk3;
22324  stk3 = D ^ T;
22325  stk2 = S | stk3;
22326  stk1 = T ^ stk2;
22327  stk1 = ~stk1;
22328  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22329}
22330
22331/* TSDTxoxn source transparent/pattern opaque. */
22332static unsigned xrop3_209_1_0 (unsigned char s, unsigned char t)
22333{
22334  unsigned D = 0x00ff;
22335  unsigned S = ((unsigned)s << 8) | s;
22336  unsigned T = ((unsigned)t << 8) | t;
22337  unsigned stk1;
22338  unsigned stk2;
22339  unsigned stk3;
22340  stk3 = D ^ T;
22341  stk2 = S | stk3;
22342  stk1 = T ^ stk2;
22343  stk1 = ~stk1;
22344  return (stk1 & (~S)) | (D & S);
22345}
22346
22347/* TSDTxoxn source/pattern transparent. */
22348static unsigned xrop3_209_1_1 (unsigned char s, unsigned char t)
22349{
22350  unsigned D = 0x00ff;
22351  unsigned S = ((unsigned)s << 8) | s;
22352  unsigned T = ((unsigned)t << 8) | t;
22353  unsigned stk1;
22354  unsigned stk2;
22355  unsigned stk3;
22356  stk3 = D ^ T;
22357  stk2 = S | stk3;
22358  stk1 = T ^ stk2;
22359  stk1 = ~stk1;
22360  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22361}
22362
22363/* TDSnax source/pattern opaque. */
22364static void rop3_210_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22365{
22366  unsigned char stk1;
22367  unsigned char stk2;
22368  unsigned char stk3;
22369  stk3 = ~S;
22370  stk2 = *D & stk3;
22371  stk1 = T ^ stk2;
22372  *D = stk1;
22373}
22374
22375/* TDSnax source opaque/pattern transparent. */
22376static void rop3_210_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22377{
22378  unsigned char stk1;
22379  unsigned char stk2;
22380  unsigned char stk3;
22381  stk3 = ~S;
22382  stk2 = *D & stk3;
22383  stk1 = T ^ stk2;
22384  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22385}
22386
22387/* TDSnax source transparent/pattern opaque. */
22388static void rop3_210_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22389{
22390  unsigned char stk1;
22391  unsigned char stk2;
22392  unsigned char stk3;
22393  stk3 = ~S;
22394  stk2 = *D & stk3;
22395  stk1 = T ^ stk2;
22396  *D = (stk1 & (~S)) | (*D & S);
22397}
22398
22399/* TDSnax source/pattern transparent. */
22400static void rop3_210_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22401{
22402  unsigned char stk1;
22403  unsigned char stk2;
22404  unsigned char stk3;
22405  stk3 = ~S;
22406  stk2 = *D & stk3;
22407  stk1 = T ^ stk2;
22408  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22409}
22410
22411/* TDSnax source/pattern opaque. */
22412static unsigned xrop3_210_0_0 (unsigned char s, unsigned char t)
22413{
22414  unsigned D = 0x00ff;
22415  unsigned S = ((unsigned)s << 8) | s;
22416  unsigned T = ((unsigned)t << 8) | t;
22417  unsigned stk1;
22418  unsigned stk2;
22419  unsigned stk3;
22420  stk3 = ~S;
22421  stk2 = D & stk3;
22422  stk1 = T ^ stk2;
22423  return stk1;
22424}
22425
22426/* TDSnax source opaque/pattern transparent. */
22427static unsigned xrop3_210_0_1 (unsigned char s, unsigned char t)
22428{
22429  unsigned D = 0x00ff;
22430  unsigned S = ((unsigned)s << 8) | s;
22431  unsigned T = ((unsigned)t << 8) | t;
22432  unsigned stk1;
22433  unsigned stk2;
22434  unsigned stk3;
22435  stk3 = ~S;
22436  stk2 = D & stk3;
22437  stk1 = T ^ stk2;
22438  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22439}
22440
22441/* TDSnax source transparent/pattern opaque. */
22442static unsigned xrop3_210_1_0 (unsigned char s, unsigned char t)
22443{
22444  unsigned D = 0x00ff;
22445  unsigned S = ((unsigned)s << 8) | s;
22446  unsigned T = ((unsigned)t << 8) | t;
22447  unsigned stk1;
22448  unsigned stk2;
22449  unsigned stk3;
22450  stk3 = ~S;
22451  stk2 = D & stk3;
22452  stk1 = T ^ stk2;
22453  return (stk1 & (~S)) | (D & S);
22454}
22455
22456/* TDSnax source/pattern transparent. */
22457static unsigned xrop3_210_1_1 (unsigned char s, unsigned char t)
22458{
22459  unsigned D = 0x00ff;
22460  unsigned S = ((unsigned)s << 8) | s;
22461  unsigned T = ((unsigned)t << 8) | t;
22462  unsigned stk1;
22463  unsigned stk2;
22464  unsigned stk3;
22465  stk3 = ~S;
22466  stk2 = D & stk3;
22467  stk1 = T ^ stk2;
22468  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22469}
22470
22471/* STDSoaxn source/pattern opaque. */
22472static void rop3_211_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22473{
22474  unsigned char stk1;
22475  unsigned char stk2;
22476  unsigned char stk3;
22477  stk3 = *D | S;
22478  stk2 = T & stk3;
22479  stk1 = S ^ stk2;
22480  stk1 = ~stk1;
22481  *D = stk1;
22482}
22483
22484/* STDSoaxn source opaque/pattern transparent. */
22485static void rop3_211_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22486{
22487  unsigned char stk1;
22488  unsigned char stk2;
22489  unsigned char stk3;
22490  stk3 = *D | S;
22491  stk2 = T & stk3;
22492  stk1 = S ^ stk2;
22493  stk1 = ~stk1;
22494  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22495}
22496
22497/* STDSoaxn source transparent/pattern opaque. */
22498static void rop3_211_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22499{
22500  unsigned char stk1;
22501  unsigned char stk2;
22502  unsigned char stk3;
22503  stk3 = *D | S;
22504  stk2 = T & stk3;
22505  stk1 = S ^ stk2;
22506  stk1 = ~stk1;
22507  *D = (stk1 & (~S)) | (*D & S);
22508}
22509
22510/* STDSoaxn source/pattern transparent. */
22511static void rop3_211_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22512{
22513  unsigned char stk1;
22514  unsigned char stk2;
22515  unsigned char stk3;
22516  stk3 = *D | S;
22517  stk2 = T & stk3;
22518  stk1 = S ^ stk2;
22519  stk1 = ~stk1;
22520  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22521}
22522
22523/* STDSoaxn source/pattern opaque. */
22524static unsigned xrop3_211_0_0 (unsigned char s, unsigned char t)
22525{
22526  unsigned D = 0x00ff;
22527  unsigned S = ((unsigned)s << 8) | s;
22528  unsigned T = ((unsigned)t << 8) | t;
22529  unsigned stk1;
22530  unsigned stk2;
22531  unsigned stk3;
22532  stk3 = D | S;
22533  stk2 = T & stk3;
22534  stk1 = S ^ stk2;
22535  stk1 = ~stk1;
22536  return stk1;
22537}
22538
22539/* STDSoaxn source opaque/pattern transparent. */
22540static unsigned xrop3_211_0_1 (unsigned char s, unsigned char t)
22541{
22542  unsigned D = 0x00ff;
22543  unsigned S = ((unsigned)s << 8) | s;
22544  unsigned T = ((unsigned)t << 8) | t;
22545  unsigned stk1;
22546  unsigned stk2;
22547  unsigned stk3;
22548  stk3 = D | S;
22549  stk2 = T & stk3;
22550  stk1 = S ^ stk2;
22551  stk1 = ~stk1;
22552  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22553}
22554
22555/* STDSoaxn source transparent/pattern opaque. */
22556static unsigned xrop3_211_1_0 (unsigned char s, unsigned char t)
22557{
22558  unsigned D = 0x00ff;
22559  unsigned S = ((unsigned)s << 8) | s;
22560  unsigned T = ((unsigned)t << 8) | t;
22561  unsigned stk1;
22562  unsigned stk2;
22563  unsigned stk3;
22564  stk3 = D | S;
22565  stk2 = T & stk3;
22566  stk1 = S ^ stk2;
22567  stk1 = ~stk1;
22568  return (stk1 & (~S)) | (D & S);
22569}
22570
22571/* STDSoaxn source/pattern transparent. */
22572static unsigned xrop3_211_1_1 (unsigned char s, unsigned char t)
22573{
22574  unsigned D = 0x00ff;
22575  unsigned S = ((unsigned)s << 8) | s;
22576  unsigned T = ((unsigned)t << 8) | t;
22577  unsigned stk1;
22578  unsigned stk2;
22579  unsigned stk3;
22580  stk3 = D | S;
22581  stk2 = T & stk3;
22582  stk1 = S ^ stk2;
22583  stk1 = ~stk1;
22584  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22585}
22586
22587/* SSTxTDxax source/pattern opaque. */
22588static void rop3_212_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22589{
22590  unsigned char stk1;
22591  unsigned char stk2;
22592  unsigned char stk3;
22593  stk2 = S ^ T;
22594  stk3 = T ^ *D;
22595  stk2 = stk2 & stk3;
22596  stk1 = S ^ stk2;
22597  *D = stk1;
22598}
22599
22600/* SSTxTDxax source opaque/pattern transparent. */
22601static void rop3_212_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22602{
22603  unsigned char stk1;
22604  unsigned char stk2;
22605  unsigned char stk3;
22606  stk2 = S ^ T;
22607  stk3 = T ^ *D;
22608  stk2 = stk2 & stk3;
22609  stk1 = S ^ stk2;
22610  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22611}
22612
22613/* SSTxTDxax source transparent/pattern opaque. */
22614static void rop3_212_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22615{
22616  unsigned char stk1;
22617  unsigned char stk2;
22618  unsigned char stk3;
22619  stk2 = S ^ T;
22620  stk3 = T ^ *D;
22621  stk2 = stk2 & stk3;
22622  stk1 = S ^ stk2;
22623  *D = (stk1 & (~S)) | (*D & S);
22624}
22625
22626/* SSTxTDxax source/pattern transparent. */
22627static void rop3_212_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22628{
22629  unsigned char stk1;
22630  unsigned char stk2;
22631  unsigned char stk3;
22632  stk2 = S ^ T;
22633  stk3 = T ^ *D;
22634  stk2 = stk2 & stk3;
22635  stk1 = S ^ stk2;
22636  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22637}
22638
22639/* SSTxTDxax source/pattern opaque. */
22640static unsigned xrop3_212_0_0 (unsigned char s, unsigned char t)
22641{
22642  unsigned D = 0x00ff;
22643  unsigned S = ((unsigned)s << 8) | s;
22644  unsigned T = ((unsigned)t << 8) | t;
22645  unsigned stk1;
22646  unsigned stk2;
22647  unsigned stk3;
22648  stk2 = S ^ T;
22649  stk3 = T ^ D;
22650  stk2 = stk2 & stk3;
22651  stk1 = S ^ stk2;
22652  return stk1;
22653}
22654
22655/* SSTxTDxax source opaque/pattern transparent. */
22656static unsigned xrop3_212_0_1 (unsigned char s, unsigned char t)
22657{
22658  unsigned D = 0x00ff;
22659  unsigned S = ((unsigned)s << 8) | s;
22660  unsigned T = ((unsigned)t << 8) | t;
22661  unsigned stk1;
22662  unsigned stk2;
22663  unsigned stk3;
22664  stk2 = S ^ T;
22665  stk3 = T ^ D;
22666  stk2 = stk2 & stk3;
22667  stk1 = S ^ stk2;
22668  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22669}
22670
22671/* SSTxTDxax source transparent/pattern opaque. */
22672static unsigned xrop3_212_1_0 (unsigned char s, unsigned char t)
22673{
22674  unsigned D = 0x00ff;
22675  unsigned S = ((unsigned)s << 8) | s;
22676  unsigned T = ((unsigned)t << 8) | t;
22677  unsigned stk1;
22678  unsigned stk2;
22679  unsigned stk3;
22680  stk2 = S ^ T;
22681  stk3 = T ^ D;
22682  stk2 = stk2 & stk3;
22683  stk1 = S ^ stk2;
22684  return (stk1 & (~S)) | (D & S);
22685}
22686
22687/* SSTxTDxax source/pattern transparent. */
22688static unsigned xrop3_212_1_1 (unsigned char s, unsigned char t)
22689{
22690  unsigned D = 0x00ff;
22691  unsigned S = ((unsigned)s << 8) | s;
22692  unsigned T = ((unsigned)t << 8) | t;
22693  unsigned stk1;
22694  unsigned stk2;
22695  unsigned stk3;
22696  stk2 = S ^ T;
22697  stk3 = T ^ D;
22698  stk2 = stk2 & stk3;
22699  stk1 = S ^ stk2;
22700  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22701}
22702
22703/* DTSanan source/pattern opaque. */
22704static void rop3_213_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22705{
22706  unsigned char stk1;
22707  unsigned char stk2;
22708  stk2 = T & S;
22709  stk2 = ~stk2;
22710  stk1 = *D & stk2;
22711  stk1 = ~stk1;
22712  *D = stk1;
22713}
22714
22715/* DTSanan source opaque/pattern transparent. */
22716static void rop3_213_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22717{
22718  unsigned char stk1;
22719  unsigned char stk2;
22720  stk2 = T & S;
22721  stk2 = ~stk2;
22722  stk1 = *D & stk2;
22723  stk1 = ~stk1;
22724  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22725}
22726
22727/* DTSanan source transparent/pattern opaque. */
22728static void rop3_213_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22729{
22730  unsigned char stk1;
22731  unsigned char stk2;
22732  stk2 = T & S;
22733  stk2 = ~stk2;
22734  stk1 = *D & stk2;
22735  stk1 = ~stk1;
22736  *D = (stk1 & (~S)) | (*D & S);
22737}
22738
22739/* DTSanan source/pattern transparent. */
22740static void rop3_213_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22741{
22742  unsigned char stk1;
22743  unsigned char stk2;
22744  stk2 = T & S;
22745  stk2 = ~stk2;
22746  stk1 = *D & stk2;
22747  stk1 = ~stk1;
22748  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22749}
22750
22751/* DTSanan source/pattern opaque. */
22752static unsigned xrop3_213_0_0 (unsigned char s, unsigned char t)
22753{
22754  unsigned D = 0x00ff;
22755  unsigned S = ((unsigned)s << 8) | s;
22756  unsigned T = ((unsigned)t << 8) | t;
22757  unsigned stk1;
22758  unsigned stk2;
22759  stk2 = T & S;
22760  stk2 = ~stk2;
22761  stk1 = D & stk2;
22762  stk1 = ~stk1;
22763  return stk1;
22764}
22765
22766/* DTSanan source opaque/pattern transparent. */
22767static unsigned xrop3_213_0_1 (unsigned char s, unsigned char t)
22768{
22769  unsigned D = 0x00ff;
22770  unsigned S = ((unsigned)s << 8) | s;
22771  unsigned T = ((unsigned)t << 8) | t;
22772  unsigned stk1;
22773  unsigned stk2;
22774  stk2 = T & S;
22775  stk2 = ~stk2;
22776  stk1 = D & stk2;
22777  stk1 = ~stk1;
22778  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22779}
22780
22781/* DTSanan source transparent/pattern opaque. */
22782static unsigned xrop3_213_1_0 (unsigned char s, unsigned char t)
22783{
22784  unsigned D = 0x00ff;
22785  unsigned S = ((unsigned)s << 8) | s;
22786  unsigned T = ((unsigned)t << 8) | t;
22787  unsigned stk1;
22788  unsigned stk2;
22789  stk2 = T & S;
22790  stk2 = ~stk2;
22791  stk1 = D & stk2;
22792  stk1 = ~stk1;
22793  return (stk1 & (~S)) | (D & S);
22794}
22795
22796/* DTSanan source/pattern transparent. */
22797static unsigned xrop3_213_1_1 (unsigned char s, unsigned char t)
22798{
22799  unsigned D = 0x00ff;
22800  unsigned S = ((unsigned)s << 8) | s;
22801  unsigned T = ((unsigned)t << 8) | t;
22802  unsigned stk1;
22803  unsigned stk2;
22804  stk2 = T & S;
22805  stk2 = ~stk2;
22806  stk1 = D & stk2;
22807  stk1 = ~stk1;
22808  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22809}
22810
22811/* TSDTSaoxx source/pattern opaque. */
22812static void rop3_214_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22813{
22814  unsigned char stk1;
22815  unsigned char stk2;
22816  unsigned char stk3;
22817  unsigned char stk4;
22818  stk4 = T & S;
22819  stk3 = *D | stk4;
22820  stk2 = S ^ stk3;
22821  stk1 = T ^ stk2;
22822  *D = stk1;
22823}
22824
22825/* TSDTSaoxx source opaque/pattern transparent. */
22826static void rop3_214_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22827{
22828  unsigned char stk1;
22829  unsigned char stk2;
22830  unsigned char stk3;
22831  unsigned char stk4;
22832  stk4 = T & S;
22833  stk3 = *D | stk4;
22834  stk2 = S ^ stk3;
22835  stk1 = T ^ stk2;
22836  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22837}
22838
22839/* TSDTSaoxx source transparent/pattern opaque. */
22840static void rop3_214_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22841{
22842  unsigned char stk1;
22843  unsigned char stk2;
22844  unsigned char stk3;
22845  unsigned char stk4;
22846  stk4 = T & S;
22847  stk3 = *D | stk4;
22848  stk2 = S ^ stk3;
22849  stk1 = T ^ stk2;
22850  *D = (stk1 & (~S)) | (*D & S);
22851}
22852
22853/* TSDTSaoxx source/pattern transparent. */
22854static void rop3_214_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22855{
22856  unsigned char stk1;
22857  unsigned char stk2;
22858  unsigned char stk3;
22859  unsigned char stk4;
22860  stk4 = T & S;
22861  stk3 = *D | stk4;
22862  stk2 = S ^ stk3;
22863  stk1 = T ^ stk2;
22864  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22865}
22866
22867/* TSDTSaoxx source/pattern opaque. */
22868static unsigned xrop3_214_0_0 (unsigned char s, unsigned char t)
22869{
22870  unsigned D = 0x00ff;
22871  unsigned S = ((unsigned)s << 8) | s;
22872  unsigned T = ((unsigned)t << 8) | t;
22873  unsigned stk1;
22874  unsigned stk2;
22875  unsigned stk3;
22876  unsigned stk4;
22877  stk4 = T & S;
22878  stk3 = D | stk4;
22879  stk2 = S ^ stk3;
22880  stk1 = T ^ stk2;
22881  return stk1;
22882}
22883
22884/* TSDTSaoxx source opaque/pattern transparent. */
22885static unsigned xrop3_214_0_1 (unsigned char s, unsigned char t)
22886{
22887  unsigned D = 0x00ff;
22888  unsigned S = ((unsigned)s << 8) | s;
22889  unsigned T = ((unsigned)t << 8) | t;
22890  unsigned stk1;
22891  unsigned stk2;
22892  unsigned stk3;
22893  unsigned stk4;
22894  stk4 = T & S;
22895  stk3 = D | stk4;
22896  stk2 = S ^ stk3;
22897  stk1 = T ^ stk2;
22898  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
22899}
22900
22901/* TSDTSaoxx source transparent/pattern opaque. */
22902static unsigned xrop3_214_1_0 (unsigned char s, unsigned char t)
22903{
22904  unsigned D = 0x00ff;
22905  unsigned S = ((unsigned)s << 8) | s;
22906  unsigned T = ((unsigned)t << 8) | t;
22907  unsigned stk1;
22908  unsigned stk2;
22909  unsigned stk3;
22910  unsigned stk4;
22911  stk4 = T & S;
22912  stk3 = D | stk4;
22913  stk2 = S ^ stk3;
22914  stk1 = T ^ stk2;
22915  return (stk1 & (~S)) | (D & S);
22916}
22917
22918/* TSDTSaoxx source/pattern transparent. */
22919static unsigned xrop3_214_1_1 (unsigned char s, unsigned char t)
22920{
22921  unsigned D = 0x00ff;
22922  unsigned S = ((unsigned)s << 8) | s;
22923  unsigned T = ((unsigned)t << 8) | t;
22924  unsigned stk1;
22925  unsigned stk2;
22926  unsigned stk3;
22927  unsigned stk4;
22928  stk4 = T & S;
22929  stk3 = D | stk4;
22930  stk2 = S ^ stk3;
22931  stk1 = T ^ stk2;
22932  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
22933}
22934
22935/* DTSxan source/pattern opaque. */
22936static void rop3_215_0_0 (unsigned char *D, unsigned char S, unsigned char T)
22937{
22938  unsigned char stk1;
22939  unsigned char stk2;
22940  stk2 = T ^ S;
22941  stk1 = *D & stk2;
22942  stk1 = ~stk1;
22943  *D = stk1;
22944}
22945
22946/* DTSxan source opaque/pattern transparent. */
22947static void rop3_215_0_1 (unsigned char *D, unsigned char S, unsigned char T)
22948{
22949  unsigned char stk1;
22950  unsigned char stk2;
22951  stk2 = T ^ S;
22952  stk1 = *D & stk2;
22953  stk1 = ~stk1;
22954  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
22955}
22956
22957/* DTSxan source transparent/pattern opaque. */
22958static void rop3_215_1_0 (unsigned char *D, unsigned char S, unsigned char T)
22959{
22960  unsigned char stk1;
22961  unsigned char stk2;
22962  stk2 = T ^ S;
22963  stk1 = *D & stk2;
22964  stk1 = ~stk1;
22965  *D = (stk1 & (~S)) | (*D & S);
22966}
22967
22968/* DTSxan source/pattern transparent. */
22969static void rop3_215_1_1 (unsigned char *D, unsigned char S, unsigned char T)
22970{
22971  unsigned char stk1;
22972  unsigned char stk2;
22973  stk2 = T ^ S;
22974  stk1 = *D & stk2;
22975  stk1 = ~stk1;
22976  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
22977}
22978
22979/* DTSxan source/pattern opaque. */
22980static unsigned xrop3_215_0_0 (unsigned char s, unsigned char t)
22981{
22982  unsigned D = 0x00ff;
22983  unsigned S = ((unsigned)s << 8) | s;
22984  unsigned T = ((unsigned)t << 8) | t;
22985  unsigned stk1;
22986  unsigned stk2;
22987  stk2 = T ^ S;
22988  stk1 = D & stk2;
22989  stk1 = ~stk1;
22990  return stk1;
22991}
22992
22993/* DTSxan source opaque/pattern transparent. */
22994static unsigned xrop3_215_0_1 (unsigned char s, unsigned char t)
22995{
22996  unsigned D = 0x00ff;
22997  unsigned S = ((unsigned)s << 8) | s;
22998  unsigned T = ((unsigned)t << 8) | t;
22999  unsigned stk1;
23000  unsigned stk2;
23001  stk2 = T ^ S;
23002  stk1 = D & stk2;
23003  stk1 = ~stk1;
23004  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23005}
23006
23007/* DTSxan source transparent/pattern opaque. */
23008static unsigned xrop3_215_1_0 (unsigned char s, unsigned char t)
23009{
23010  unsigned D = 0x00ff;
23011  unsigned S = ((unsigned)s << 8) | s;
23012  unsigned T = ((unsigned)t << 8) | t;
23013  unsigned stk1;
23014  unsigned stk2;
23015  stk2 = T ^ S;
23016  stk1 = D & stk2;
23017  stk1 = ~stk1;
23018  return (stk1 & (~S)) | (D & S);
23019}
23020
23021/* DTSxan source/pattern transparent. */
23022static unsigned xrop3_215_1_1 (unsigned char s, unsigned char t)
23023{
23024  unsigned D = 0x00ff;
23025  unsigned S = ((unsigned)s << 8) | s;
23026  unsigned T = ((unsigned)t << 8) | t;
23027  unsigned stk1;
23028  unsigned stk2;
23029  stk2 = T ^ S;
23030  stk1 = D & stk2;
23031  stk1 = ~stk1;
23032  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23033}
23034
23035/* TDSTxax source/pattern opaque. */
23036static void rop3_216_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23037{
23038  unsigned char stk1;
23039  unsigned char stk2;
23040  unsigned char stk3;
23041  stk3 = S ^ T;
23042  stk2 = *D & stk3;
23043  stk1 = T ^ stk2;
23044  *D = stk1;
23045}
23046
23047/* TDSTxax source opaque/pattern transparent. */
23048static void rop3_216_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23049{
23050  unsigned char stk1;
23051  unsigned char stk2;
23052  unsigned char stk3;
23053  stk3 = S ^ T;
23054  stk2 = *D & stk3;
23055  stk1 = T ^ stk2;
23056  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23057}
23058
23059/* TDSTxax source transparent/pattern opaque. */
23060static void rop3_216_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23061{
23062  unsigned char stk1;
23063  unsigned char stk2;
23064  unsigned char stk3;
23065  stk3 = S ^ T;
23066  stk2 = *D & stk3;
23067  stk1 = T ^ stk2;
23068  *D = (stk1 & (~S)) | (*D & S);
23069}
23070
23071/* TDSTxax source/pattern transparent. */
23072static void rop3_216_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23073{
23074  unsigned char stk1;
23075  unsigned char stk2;
23076  unsigned char stk3;
23077  stk3 = S ^ T;
23078  stk2 = *D & stk3;
23079  stk1 = T ^ stk2;
23080  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23081}
23082
23083/* TDSTxax source/pattern opaque. */
23084static unsigned xrop3_216_0_0 (unsigned char s, unsigned char t)
23085{
23086  unsigned D = 0x00ff;
23087  unsigned S = ((unsigned)s << 8) | s;
23088  unsigned T = ((unsigned)t << 8) | t;
23089  unsigned stk1;
23090  unsigned stk2;
23091  unsigned stk3;
23092  stk3 = S ^ T;
23093  stk2 = D & stk3;
23094  stk1 = T ^ stk2;
23095  return stk1;
23096}
23097
23098/* TDSTxax source opaque/pattern transparent. */
23099static unsigned xrop3_216_0_1 (unsigned char s, unsigned char t)
23100{
23101  unsigned D = 0x00ff;
23102  unsigned S = ((unsigned)s << 8) | s;
23103  unsigned T = ((unsigned)t << 8) | t;
23104  unsigned stk1;
23105  unsigned stk2;
23106  unsigned stk3;
23107  stk3 = S ^ T;
23108  stk2 = D & stk3;
23109  stk1 = T ^ stk2;
23110  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23111}
23112
23113/* TDSTxax source transparent/pattern opaque. */
23114static unsigned xrop3_216_1_0 (unsigned char s, unsigned char t)
23115{
23116  unsigned D = 0x00ff;
23117  unsigned S = ((unsigned)s << 8) | s;
23118  unsigned T = ((unsigned)t << 8) | t;
23119  unsigned stk1;
23120  unsigned stk2;
23121  unsigned stk3;
23122  stk3 = S ^ T;
23123  stk2 = D & stk3;
23124  stk1 = T ^ stk2;
23125  return (stk1 & (~S)) | (D & S);
23126}
23127
23128/* TDSTxax source/pattern transparent. */
23129static unsigned xrop3_216_1_1 (unsigned char s, unsigned char t)
23130{
23131  unsigned D = 0x00ff;
23132  unsigned S = ((unsigned)s << 8) | s;
23133  unsigned T = ((unsigned)t << 8) | t;
23134  unsigned stk1;
23135  unsigned stk2;
23136  unsigned stk3;
23137  stk3 = S ^ T;
23138  stk2 = D & stk3;
23139  stk1 = T ^ stk2;
23140  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23141}
23142
23143/* SDTSaoxn source/pattern opaque. */
23144static void rop3_217_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23145{
23146  unsigned char stk1;
23147  unsigned char stk2;
23148  unsigned char stk3;
23149  stk3 = T & S;
23150  stk2 = *D | stk3;
23151  stk1 = S ^ stk2;
23152  stk1 = ~stk1;
23153  *D = stk1;
23154}
23155
23156/* SDTSaoxn source opaque/pattern transparent. */
23157static void rop3_217_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23158{
23159  unsigned char stk1;
23160  unsigned char stk2;
23161  unsigned char stk3;
23162  stk3 = T & S;
23163  stk2 = *D | stk3;
23164  stk1 = S ^ stk2;
23165  stk1 = ~stk1;
23166  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23167}
23168
23169/* SDTSaoxn source transparent/pattern opaque. */
23170static void rop3_217_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23171{
23172  unsigned char stk1;
23173  unsigned char stk2;
23174  unsigned char stk3;
23175  stk3 = T & S;
23176  stk2 = *D | stk3;
23177  stk1 = S ^ stk2;
23178  stk1 = ~stk1;
23179  *D = (stk1 & (~S)) | (*D & S);
23180}
23181
23182/* SDTSaoxn source/pattern transparent. */
23183static void rop3_217_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23184{
23185  unsigned char stk1;
23186  unsigned char stk2;
23187  unsigned char stk3;
23188  stk3 = T & S;
23189  stk2 = *D | stk3;
23190  stk1 = S ^ stk2;
23191  stk1 = ~stk1;
23192  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23193}
23194
23195/* SDTSaoxn source/pattern opaque. */
23196static unsigned xrop3_217_0_0 (unsigned char s, unsigned char t)
23197{
23198  unsigned D = 0x00ff;
23199  unsigned S = ((unsigned)s << 8) | s;
23200  unsigned T = ((unsigned)t << 8) | t;
23201  unsigned stk1;
23202  unsigned stk2;
23203  unsigned stk3;
23204  stk3 = T & S;
23205  stk2 = D | stk3;
23206  stk1 = S ^ stk2;
23207  stk1 = ~stk1;
23208  return stk1;
23209}
23210
23211/* SDTSaoxn source opaque/pattern transparent. */
23212static unsigned xrop3_217_0_1 (unsigned char s, unsigned char t)
23213{
23214  unsigned D = 0x00ff;
23215  unsigned S = ((unsigned)s << 8) | s;
23216  unsigned T = ((unsigned)t << 8) | t;
23217  unsigned stk1;
23218  unsigned stk2;
23219  unsigned stk3;
23220  stk3 = T & S;
23221  stk2 = D | stk3;
23222  stk1 = S ^ stk2;
23223  stk1 = ~stk1;
23224  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23225}
23226
23227/* SDTSaoxn source transparent/pattern opaque. */
23228static unsigned xrop3_217_1_0 (unsigned char s, unsigned char t)
23229{
23230  unsigned D = 0x00ff;
23231  unsigned S = ((unsigned)s << 8) | s;
23232  unsigned T = ((unsigned)t << 8) | t;
23233  unsigned stk1;
23234  unsigned stk2;
23235  unsigned stk3;
23236  stk3 = T & S;
23237  stk2 = D | stk3;
23238  stk1 = S ^ stk2;
23239  stk1 = ~stk1;
23240  return (stk1 & (~S)) | (D & S);
23241}
23242
23243/* SDTSaoxn source/pattern transparent. */
23244static unsigned xrop3_217_1_1 (unsigned char s, unsigned char t)
23245{
23246  unsigned D = 0x00ff;
23247  unsigned S = ((unsigned)s << 8) | s;
23248  unsigned T = ((unsigned)t << 8) | t;
23249  unsigned stk1;
23250  unsigned stk2;
23251  unsigned stk3;
23252  stk3 = T & S;
23253  stk2 = D | stk3;
23254  stk1 = S ^ stk2;
23255  stk1 = ~stk1;
23256  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23257}
23258
23259/* DTSDanax source/pattern opaque. */
23260static void rop3_218_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23261{
23262  unsigned char stk1;
23263  unsigned char stk2;
23264  unsigned char stk3;
23265  stk3 = S & *D;
23266  stk3 = ~stk3;
23267  stk2 = T & stk3;
23268  stk1 = *D ^ stk2;
23269  *D = stk1;
23270}
23271
23272/* DTSDanax source opaque/pattern transparent. */
23273static void rop3_218_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23274{
23275  unsigned char stk1;
23276  unsigned char stk2;
23277  unsigned char stk3;
23278  stk3 = S & *D;
23279  stk3 = ~stk3;
23280  stk2 = T & stk3;
23281  stk1 = *D ^ stk2;
23282  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23283}
23284
23285/* DTSDanax source transparent/pattern opaque. */
23286static void rop3_218_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23287{
23288  unsigned char stk1;
23289  unsigned char stk2;
23290  unsigned char stk3;
23291  stk3 = S & *D;
23292  stk3 = ~stk3;
23293  stk2 = T & stk3;
23294  stk1 = *D ^ stk2;
23295  *D = (stk1 & (~S)) | (*D & S);
23296}
23297
23298/* DTSDanax source/pattern transparent. */
23299static void rop3_218_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23300{
23301  unsigned char stk1;
23302  unsigned char stk2;
23303  unsigned char stk3;
23304  stk3 = S & *D;
23305  stk3 = ~stk3;
23306  stk2 = T & stk3;
23307  stk1 = *D ^ stk2;
23308  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23309}
23310
23311/* DTSDanax source/pattern opaque. */
23312static unsigned xrop3_218_0_0 (unsigned char s, unsigned char t)
23313{
23314  unsigned D = 0x00ff;
23315  unsigned S = ((unsigned)s << 8) | s;
23316  unsigned T = ((unsigned)t << 8) | t;
23317  unsigned stk1;
23318  unsigned stk2;
23319  unsigned stk3;
23320  stk3 = S & D;
23321  stk3 = ~stk3;
23322  stk2 = T & stk3;
23323  stk1 = D ^ stk2;
23324  return stk1;
23325}
23326
23327/* DTSDanax source opaque/pattern transparent. */
23328static unsigned xrop3_218_0_1 (unsigned char s, unsigned char t)
23329{
23330  unsigned D = 0x00ff;
23331  unsigned S = ((unsigned)s << 8) | s;
23332  unsigned T = ((unsigned)t << 8) | t;
23333  unsigned stk1;
23334  unsigned stk2;
23335  unsigned stk3;
23336  stk3 = S & D;
23337  stk3 = ~stk3;
23338  stk2 = T & stk3;
23339  stk1 = D ^ stk2;
23340  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23341}
23342
23343/* DTSDanax source transparent/pattern opaque. */
23344static unsigned xrop3_218_1_0 (unsigned char s, unsigned char t)
23345{
23346  unsigned D = 0x00ff;
23347  unsigned S = ((unsigned)s << 8) | s;
23348  unsigned T = ((unsigned)t << 8) | t;
23349  unsigned stk1;
23350  unsigned stk2;
23351  unsigned stk3;
23352  stk3 = S & D;
23353  stk3 = ~stk3;
23354  stk2 = T & stk3;
23355  stk1 = D ^ stk2;
23356  return (stk1 & (~S)) | (D & S);
23357}
23358
23359/* DTSDanax source/pattern transparent. */
23360static unsigned xrop3_218_1_1 (unsigned char s, unsigned char t)
23361{
23362  unsigned D = 0x00ff;
23363  unsigned S = ((unsigned)s << 8) | s;
23364  unsigned T = ((unsigned)t << 8) | t;
23365  unsigned stk1;
23366  unsigned stk2;
23367  unsigned stk3;
23368  stk3 = S & D;
23369  stk3 = ~stk3;
23370  stk2 = T & stk3;
23371  stk1 = D ^ stk2;
23372  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23373}
23374
23375/* STxDSxan source/pattern opaque. */
23376static void rop3_219_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23377{
23378  unsigned char stk1;
23379  unsigned char stk2;
23380  stk1 = S ^ T;
23381  stk2 = *D ^ S;
23382  stk1 = stk1 & stk2;
23383  stk1 = ~stk1;
23384  *D = stk1;
23385}
23386
23387/* STxDSxan source opaque/pattern transparent. */
23388static void rop3_219_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23389{
23390  unsigned char stk1;
23391  unsigned char stk2;
23392  stk1 = S ^ T;
23393  stk2 = *D ^ S;
23394  stk1 = stk1 & stk2;
23395  stk1 = ~stk1;
23396  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23397}
23398
23399/* STxDSxan source transparent/pattern opaque. */
23400static void rop3_219_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23401{
23402  unsigned char stk1;
23403  unsigned char stk2;
23404  stk1 = S ^ T;
23405  stk2 = *D ^ S;
23406  stk1 = stk1 & stk2;
23407  stk1 = ~stk1;
23408  *D = (stk1 & (~S)) | (*D & S);
23409}
23410
23411/* STxDSxan source/pattern transparent. */
23412static void rop3_219_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23413{
23414  unsigned char stk1;
23415  unsigned char stk2;
23416  stk1 = S ^ T;
23417  stk2 = *D ^ S;
23418  stk1 = stk1 & stk2;
23419  stk1 = ~stk1;
23420  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23421}
23422
23423/* STxDSxan source/pattern opaque. */
23424static unsigned xrop3_219_0_0 (unsigned char s, unsigned char t)
23425{
23426  unsigned D = 0x00ff;
23427  unsigned S = ((unsigned)s << 8) | s;
23428  unsigned T = ((unsigned)t << 8) | t;
23429  unsigned stk1;
23430  unsigned stk2;
23431  stk1 = S ^ T;
23432  stk2 = D ^ S;
23433  stk1 = stk1 & stk2;
23434  stk1 = ~stk1;
23435  return stk1;
23436}
23437
23438/* STxDSxan source opaque/pattern transparent. */
23439static unsigned xrop3_219_0_1 (unsigned char s, unsigned char t)
23440{
23441  unsigned D = 0x00ff;
23442  unsigned S = ((unsigned)s << 8) | s;
23443  unsigned T = ((unsigned)t << 8) | t;
23444  unsigned stk1;
23445  unsigned stk2;
23446  stk1 = S ^ T;
23447  stk2 = D ^ S;
23448  stk1 = stk1 & stk2;
23449  stk1 = ~stk1;
23450  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23451}
23452
23453/* STxDSxan source transparent/pattern opaque. */
23454static unsigned xrop3_219_1_0 (unsigned char s, unsigned char t)
23455{
23456  unsigned D = 0x00ff;
23457  unsigned S = ((unsigned)s << 8) | s;
23458  unsigned T = ((unsigned)t << 8) | t;
23459  unsigned stk1;
23460  unsigned stk2;
23461  stk1 = S ^ T;
23462  stk2 = D ^ S;
23463  stk1 = stk1 & stk2;
23464  stk1 = ~stk1;
23465  return (stk1 & (~S)) | (D & S);
23466}
23467
23468/* STxDSxan source/pattern transparent. */
23469static unsigned xrop3_219_1_1 (unsigned char s, unsigned char t)
23470{
23471  unsigned D = 0x00ff;
23472  unsigned S = ((unsigned)s << 8) | s;
23473  unsigned T = ((unsigned)t << 8) | t;
23474  unsigned stk1;
23475  unsigned stk2;
23476  stk1 = S ^ T;
23477  stk2 = D ^ S;
23478  stk1 = stk1 & stk2;
23479  stk1 = ~stk1;
23480  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23481}
23482
23483/* STDnao source/pattern opaque. */
23484static void rop3_220_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23485{
23486  unsigned char stk1;
23487  unsigned char stk2;
23488  unsigned char stk3;
23489  stk3 = ~*D;
23490  stk2 = T & stk3;
23491  stk1 = S | stk2;
23492  *D = stk1;
23493}
23494
23495/* STDnao source opaque/pattern transparent. */
23496static void rop3_220_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23497{
23498  unsigned char stk1;
23499  unsigned char stk2;
23500  unsigned char stk3;
23501  stk3 = ~*D;
23502  stk2 = T & stk3;
23503  stk1 = S | stk2;
23504  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23505}
23506
23507/* STDnao source transparent/pattern opaque. */
23508static void rop3_220_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23509{
23510  unsigned char stk1;
23511  unsigned char stk2;
23512  unsigned char stk3;
23513  stk3 = ~*D;
23514  stk2 = T & stk3;
23515  stk1 = S | stk2;
23516  *D = (stk1 & (~S)) | (*D & S);
23517}
23518
23519/* STDnao source/pattern transparent. */
23520static void rop3_220_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23521{
23522  unsigned char stk1;
23523  unsigned char stk2;
23524  unsigned char stk3;
23525  stk3 = ~*D;
23526  stk2 = T & stk3;
23527  stk1 = S | stk2;
23528  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23529}
23530
23531/* STDnao source/pattern opaque. */
23532static unsigned xrop3_220_0_0 (unsigned char s, unsigned char t)
23533{
23534  unsigned D = 0x00ff;
23535  unsigned S = ((unsigned)s << 8) | s;
23536  unsigned T = ((unsigned)t << 8) | t;
23537  unsigned stk1;
23538  unsigned stk2;
23539  unsigned stk3;
23540  stk3 = ~D;
23541  stk2 = T & stk3;
23542  stk1 = S | stk2;
23543  return stk1;
23544}
23545
23546/* STDnao source opaque/pattern transparent. */
23547static unsigned xrop3_220_0_1 (unsigned char s, unsigned char t)
23548{
23549  unsigned D = 0x00ff;
23550  unsigned S = ((unsigned)s << 8) | s;
23551  unsigned T = ((unsigned)t << 8) | t;
23552  unsigned stk1;
23553  unsigned stk2;
23554  unsigned stk3;
23555  stk3 = ~D;
23556  stk2 = T & stk3;
23557  stk1 = S | stk2;
23558  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23559}
23560
23561/* STDnao source transparent/pattern opaque. */
23562static unsigned xrop3_220_1_0 (unsigned char s, unsigned char t)
23563{
23564  unsigned D = 0x00ff;
23565  unsigned S = ((unsigned)s << 8) | s;
23566  unsigned T = ((unsigned)t << 8) | t;
23567  unsigned stk1;
23568  unsigned stk2;
23569  unsigned stk3;
23570  stk3 = ~D;
23571  stk2 = T & stk3;
23572  stk1 = S | stk2;
23573  return (stk1 & (~S)) | (D & S);
23574}
23575
23576/* STDnao source/pattern transparent. */
23577static unsigned xrop3_220_1_1 (unsigned char s, unsigned char t)
23578{
23579  unsigned D = 0x00ff;
23580  unsigned S = ((unsigned)s << 8) | s;
23581  unsigned T = ((unsigned)t << 8) | t;
23582  unsigned stk1;
23583  unsigned stk2;
23584  unsigned stk3;
23585  stk3 = ~D;
23586  stk2 = T & stk3;
23587  stk1 = S | stk2;
23588  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23589}
23590
23591/* SDno source/pattern opaque. */
23592static void rop3_221_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23593{
23594  unsigned char stk1;
23595  unsigned char stk2;
23596  stk2 = ~*D;
23597  stk1 = S | stk2;
23598  *D = stk1;
23599}
23600
23601/* SDno source opaque/pattern transparent. */
23602static void rop3_221_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23603{
23604  unsigned char stk1;
23605  unsigned char stk2;
23606  stk2 = ~*D;
23607  stk1 = S | stk2;
23608  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23609}
23610
23611/* SDno source transparent/pattern opaque. */
23612static void rop3_221_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23613{
23614  unsigned char stk1;
23615  unsigned char stk2;
23616  stk2 = ~*D;
23617  stk1 = S | stk2;
23618  *D = (stk1 & (~S)) | (*D & S);
23619}
23620
23621/* SDno source/pattern transparent. */
23622static void rop3_221_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23623{
23624  unsigned char stk1;
23625  unsigned char stk2;
23626  stk2 = ~*D;
23627  stk1 = S | stk2;
23628  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23629}
23630
23631/* SDno source/pattern opaque. */
23632static unsigned xrop3_221_0_0 (unsigned char s, unsigned char t)
23633{
23634  unsigned D = 0x00ff;
23635  unsigned S = ((unsigned)s << 8) | s;
23636  unsigned stk1;
23637  unsigned stk2;
23638  stk2 = ~D;
23639  stk1 = S | stk2;
23640  return stk1;
23641}
23642
23643/* SDno source opaque/pattern transparent. */
23644static unsigned xrop3_221_0_1 (unsigned char s, unsigned char t)
23645{
23646  unsigned D = 0x00ff;
23647  unsigned S = ((unsigned)s << 8) | s;
23648  unsigned T = ((unsigned)t << 8) | t;
23649  unsigned stk1;
23650  unsigned stk2;
23651  stk2 = ~D;
23652  stk1 = S | stk2;
23653  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23654}
23655
23656/* SDno source transparent/pattern opaque. */
23657static unsigned xrop3_221_1_0 (unsigned char s, unsigned char t)
23658{
23659  unsigned D = 0x00ff;
23660  unsigned S = ((unsigned)s << 8) | s;
23661  unsigned stk1;
23662  unsigned stk2;
23663  stk2 = ~D;
23664  stk1 = S | stk2;
23665  return (stk1 & (~S)) | (D & S);
23666}
23667
23668/* SDno source/pattern transparent. */
23669static unsigned xrop3_221_1_1 (unsigned char s, unsigned char t)
23670{
23671  unsigned D = 0x00ff;
23672  unsigned S = ((unsigned)s << 8) | s;
23673  unsigned T = ((unsigned)t << 8) | t;
23674  unsigned stk1;
23675  unsigned stk2;
23676  stk2 = ~D;
23677  stk1 = S | stk2;
23678  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23679}
23680
23681/* SDTxo source/pattern opaque. */
23682static void rop3_222_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23683{
23684  unsigned char stk1;
23685  unsigned char stk2;
23686  stk2 = *D ^ T;
23687  stk1 = S | stk2;
23688  *D = stk1;
23689}
23690
23691/* SDTxo source opaque/pattern transparent. */
23692static void rop3_222_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23693{
23694  unsigned char stk1;
23695  unsigned char stk2;
23696  stk2 = *D ^ T;
23697  stk1 = S | stk2;
23698  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23699}
23700
23701/* SDTxo source transparent/pattern opaque. */
23702static void rop3_222_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23703{
23704  unsigned char stk1;
23705  unsigned char stk2;
23706  stk2 = *D ^ T;
23707  stk1 = S | stk2;
23708  *D = (stk1 & (~S)) | (*D & S);
23709}
23710
23711/* SDTxo source/pattern transparent. */
23712static void rop3_222_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23713{
23714  unsigned char stk1;
23715  unsigned char stk2;
23716  stk2 = *D ^ T;
23717  stk1 = S | stk2;
23718  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23719}
23720
23721/* SDTxo source/pattern opaque. */
23722static unsigned xrop3_222_0_0 (unsigned char s, unsigned char t)
23723{
23724  unsigned D = 0x00ff;
23725  unsigned S = ((unsigned)s << 8) | s;
23726  unsigned T = ((unsigned)t << 8) | t;
23727  unsigned stk1;
23728  unsigned stk2;
23729  stk2 = D ^ T;
23730  stk1 = S | stk2;
23731  return stk1;
23732}
23733
23734/* SDTxo source opaque/pattern transparent. */
23735static unsigned xrop3_222_0_1 (unsigned char s, unsigned char t)
23736{
23737  unsigned D = 0x00ff;
23738  unsigned S = ((unsigned)s << 8) | s;
23739  unsigned T = ((unsigned)t << 8) | t;
23740  unsigned stk1;
23741  unsigned stk2;
23742  stk2 = D ^ T;
23743  stk1 = S | stk2;
23744  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23745}
23746
23747/* SDTxo source transparent/pattern opaque. */
23748static unsigned xrop3_222_1_0 (unsigned char s, unsigned char t)
23749{
23750  unsigned D = 0x00ff;
23751  unsigned S = ((unsigned)s << 8) | s;
23752  unsigned T = ((unsigned)t << 8) | t;
23753  unsigned stk1;
23754  unsigned stk2;
23755  stk2 = D ^ T;
23756  stk1 = S | stk2;
23757  return (stk1 & (~S)) | (D & S);
23758}
23759
23760/* SDTxo source/pattern transparent. */
23761static unsigned xrop3_222_1_1 (unsigned char s, unsigned char t)
23762{
23763  unsigned D = 0x00ff;
23764  unsigned S = ((unsigned)s << 8) | s;
23765  unsigned T = ((unsigned)t << 8) | t;
23766  unsigned stk1;
23767  unsigned stk2;
23768  stk2 = D ^ T;
23769  stk1 = S | stk2;
23770  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23771}
23772
23773/* SDTano source/pattern opaque. */
23774static void rop3_223_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23775{
23776  unsigned char stk1;
23777  unsigned char stk2;
23778  stk2 = *D & T;
23779  stk2 = ~stk2;
23780  stk1 = S | stk2;
23781  *D = stk1;
23782}
23783
23784/* SDTano source opaque/pattern transparent. */
23785static void rop3_223_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23786{
23787  unsigned char stk1;
23788  unsigned char stk2;
23789  stk2 = *D & T;
23790  stk2 = ~stk2;
23791  stk1 = S | stk2;
23792  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23793}
23794
23795/* SDTano source transparent/pattern opaque. */
23796static void rop3_223_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23797{
23798  unsigned char stk1;
23799  unsigned char stk2;
23800  stk2 = *D & T;
23801  stk2 = ~stk2;
23802  stk1 = S | stk2;
23803  *D = (stk1 & (~S)) | (*D & S);
23804}
23805
23806/* SDTano source/pattern transparent. */
23807static void rop3_223_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23808{
23809  unsigned char stk1;
23810  unsigned char stk2;
23811  stk2 = *D & T;
23812  stk2 = ~stk2;
23813  stk1 = S | stk2;
23814  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23815}
23816
23817/* SDTano source/pattern opaque. */
23818static unsigned xrop3_223_0_0 (unsigned char s, unsigned char t)
23819{
23820  unsigned D = 0x00ff;
23821  unsigned S = ((unsigned)s << 8) | s;
23822  unsigned T = ((unsigned)t << 8) | t;
23823  unsigned stk1;
23824  unsigned stk2;
23825  stk2 = D & T;
23826  stk2 = ~stk2;
23827  stk1 = S | stk2;
23828  return stk1;
23829}
23830
23831/* SDTano source opaque/pattern transparent. */
23832static unsigned xrop3_223_0_1 (unsigned char s, unsigned char t)
23833{
23834  unsigned D = 0x00ff;
23835  unsigned S = ((unsigned)s << 8) | s;
23836  unsigned T = ((unsigned)t << 8) | t;
23837  unsigned stk1;
23838  unsigned stk2;
23839  stk2 = D & T;
23840  stk2 = ~stk2;
23841  stk1 = S | stk2;
23842  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23843}
23844
23845/* SDTano source transparent/pattern opaque. */
23846static unsigned xrop3_223_1_0 (unsigned char s, unsigned char t)
23847{
23848  unsigned D = 0x00ff;
23849  unsigned S = ((unsigned)s << 8) | s;
23850  unsigned T = ((unsigned)t << 8) | t;
23851  unsigned stk1;
23852  unsigned stk2;
23853  stk2 = D & T;
23854  stk2 = ~stk2;
23855  stk1 = S | stk2;
23856  return (stk1 & (~S)) | (D & S);
23857}
23858
23859/* SDTano source/pattern transparent. */
23860static unsigned xrop3_223_1_1 (unsigned char s, unsigned char t)
23861{
23862  unsigned D = 0x00ff;
23863  unsigned S = ((unsigned)s << 8) | s;
23864  unsigned T = ((unsigned)t << 8) | t;
23865  unsigned stk1;
23866  unsigned stk2;
23867  stk2 = D & T;
23868  stk2 = ~stk2;
23869  stk1 = S | stk2;
23870  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23871}
23872
23873/* TDSoa source/pattern opaque. */
23874static void rop3_224_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23875{
23876  unsigned char stk1;
23877  unsigned char stk2;
23878  stk2 = *D | S;
23879  stk1 = T & stk2;
23880  *D = stk1;
23881}
23882
23883/* TDSoa source opaque/pattern transparent. */
23884static void rop3_224_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23885{
23886  unsigned char stk1;
23887  unsigned char stk2;
23888  stk2 = *D | S;
23889  stk1 = T & stk2;
23890  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23891}
23892
23893/* TDSoa source transparent/pattern opaque. */
23894static void rop3_224_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23895{
23896  unsigned char stk1;
23897  unsigned char stk2;
23898  stk2 = *D | S;
23899  stk1 = T & stk2;
23900  *D = (stk1 & (~S)) | (*D & S);
23901}
23902
23903/* TDSoa source/pattern transparent. */
23904static void rop3_224_1_1 (unsigned char *D, unsigned char S, unsigned char T)
23905{
23906  unsigned char stk1;
23907  unsigned char stk2;
23908  stk2 = *D | S;
23909  stk1 = T & stk2;
23910  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
23911}
23912
23913/* TDSoa source/pattern opaque. */
23914static unsigned xrop3_224_0_0 (unsigned char s, unsigned char t)
23915{
23916  unsigned D = 0x00ff;
23917  unsigned S = ((unsigned)s << 8) | s;
23918  unsigned T = ((unsigned)t << 8) | t;
23919  unsigned stk1;
23920  unsigned stk2;
23921  stk2 = D | S;
23922  stk1 = T & stk2;
23923  return stk1;
23924}
23925
23926/* TDSoa source opaque/pattern transparent. */
23927static unsigned xrop3_224_0_1 (unsigned char s, unsigned char t)
23928{
23929  unsigned D = 0x00ff;
23930  unsigned S = ((unsigned)s << 8) | s;
23931  unsigned T = ((unsigned)t << 8) | t;
23932  unsigned stk1;
23933  unsigned stk2;
23934  stk2 = D | S;
23935  stk1 = T & stk2;
23936  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
23937}
23938
23939/* TDSoa source transparent/pattern opaque. */
23940static unsigned xrop3_224_1_0 (unsigned char s, unsigned char t)
23941{
23942  unsigned D = 0x00ff;
23943  unsigned S = ((unsigned)s << 8) | s;
23944  unsigned T = ((unsigned)t << 8) | t;
23945  unsigned stk1;
23946  unsigned stk2;
23947  stk2 = D | S;
23948  stk1 = T & stk2;
23949  return (stk1 & (~S)) | (D & S);
23950}
23951
23952/* TDSoa source/pattern transparent. */
23953static unsigned xrop3_224_1_1 (unsigned char s, unsigned char t)
23954{
23955  unsigned D = 0x00ff;
23956  unsigned S = ((unsigned)s << 8) | s;
23957  unsigned T = ((unsigned)t << 8) | t;
23958  unsigned stk1;
23959  unsigned stk2;
23960  stk2 = D | S;
23961  stk1 = T & stk2;
23962  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
23963}
23964
23965/* TDSoxn source/pattern opaque. */
23966static void rop3_225_0_0 (unsigned char *D, unsigned char S, unsigned char T)
23967{
23968  unsigned char stk1;
23969  unsigned char stk2;
23970  stk2 = *D | S;
23971  stk1 = T ^ stk2;
23972  stk1 = ~stk1;
23973  *D = stk1;
23974}
23975
23976/* TDSoxn source opaque/pattern transparent. */
23977static void rop3_225_0_1 (unsigned char *D, unsigned char S, unsigned char T)
23978{
23979  unsigned char stk1;
23980  unsigned char stk2;
23981  stk2 = *D | S;
23982  stk1 = T ^ stk2;
23983  stk1 = ~stk1;
23984  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
23985}
23986
23987/* TDSoxn source transparent/pattern opaque. */
23988static void rop3_225_1_0 (unsigned char *D, unsigned char S, unsigned char T)
23989{
23990  unsigned char stk1;
23991  unsigned char stk2;
23992  stk2 = *D | S;
23993  stk1 = T ^ stk2;
23994  stk1 = ~stk1;
23995  *D = (stk1 & (~S)) | (*D & S);
23996}
23997
23998/* TDSoxn source/pattern transparent. */
23999static void rop3_225_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24000{
24001  unsigned char stk1;
24002  unsigned char stk2;
24003  stk2 = *D | S;
24004  stk1 = T ^ stk2;
24005  stk1 = ~stk1;
24006  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24007}
24008
24009/* TDSoxn source/pattern opaque. */
24010static unsigned xrop3_225_0_0 (unsigned char s, unsigned char t)
24011{
24012  unsigned D = 0x00ff;
24013  unsigned S = ((unsigned)s << 8) | s;
24014  unsigned T = ((unsigned)t << 8) | t;
24015  unsigned stk1;
24016  unsigned stk2;
24017  stk2 = D | S;
24018  stk1 = T ^ stk2;
24019  stk1 = ~stk1;
24020  return stk1;
24021}
24022
24023/* TDSoxn source opaque/pattern transparent. */
24024static unsigned xrop3_225_0_1 (unsigned char s, unsigned char t)
24025{
24026  unsigned D = 0x00ff;
24027  unsigned S = ((unsigned)s << 8) | s;
24028  unsigned T = ((unsigned)t << 8) | t;
24029  unsigned stk1;
24030  unsigned stk2;
24031  stk2 = D | S;
24032  stk1 = T ^ stk2;
24033  stk1 = ~stk1;
24034  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24035}
24036
24037/* TDSoxn source transparent/pattern opaque. */
24038static unsigned xrop3_225_1_0 (unsigned char s, unsigned char t)
24039{
24040  unsigned D = 0x00ff;
24041  unsigned S = ((unsigned)s << 8) | s;
24042  unsigned T = ((unsigned)t << 8) | t;
24043  unsigned stk1;
24044  unsigned stk2;
24045  stk2 = D | S;
24046  stk1 = T ^ stk2;
24047  stk1 = ~stk1;
24048  return (stk1 & (~S)) | (D & S);
24049}
24050
24051/* TDSoxn source/pattern transparent. */
24052static unsigned xrop3_225_1_1 (unsigned char s, unsigned char t)
24053{
24054  unsigned D = 0x00ff;
24055  unsigned S = ((unsigned)s << 8) | s;
24056  unsigned T = ((unsigned)t << 8) | t;
24057  unsigned stk1;
24058  unsigned stk2;
24059  stk2 = D | S;
24060  stk1 = T ^ stk2;
24061  stk1 = ~stk1;
24062  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24063}
24064
24065/* DSTDxax source/pattern opaque. */
24066static void rop3_226_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24067{
24068  unsigned char stk1;
24069  unsigned char stk2;
24070  unsigned char stk3;
24071  stk3 = T ^ *D;
24072  stk2 = S & stk3;
24073  stk1 = *D ^ stk2;
24074  *D = stk1;
24075}
24076
24077/* DSTDxax source opaque/pattern transparent. */
24078static void rop3_226_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24079{
24080  unsigned char stk1;
24081  unsigned char stk2;
24082  unsigned char stk3;
24083  stk3 = T ^ *D;
24084  stk2 = S & stk3;
24085  stk1 = *D ^ stk2;
24086  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24087}
24088
24089/* DSTDxax source transparent/pattern opaque. */
24090static void rop3_226_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24091{
24092  unsigned char stk1;
24093  unsigned char stk2;
24094  unsigned char stk3;
24095  stk3 = T ^ *D;
24096  stk2 = S & stk3;
24097  stk1 = *D ^ stk2;
24098  *D = (stk1 & (~S)) | (*D & S);
24099}
24100
24101/* DSTDxax source/pattern transparent. */
24102static void rop3_226_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24103{
24104  unsigned char stk1;
24105  unsigned char stk2;
24106  unsigned char stk3;
24107  stk3 = T ^ *D;
24108  stk2 = S & stk3;
24109  stk1 = *D ^ stk2;
24110  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24111}
24112
24113/* DSTDxax source/pattern opaque. */
24114static unsigned xrop3_226_0_0 (unsigned char s, unsigned char t)
24115{
24116  unsigned D = 0x00ff;
24117  unsigned S = ((unsigned)s << 8) | s;
24118  unsigned T = ((unsigned)t << 8) | t;
24119  unsigned stk1;
24120  unsigned stk2;
24121  unsigned stk3;
24122  stk3 = T ^ D;
24123  stk2 = S & stk3;
24124  stk1 = D ^ stk2;
24125  return stk1;
24126}
24127
24128/* DSTDxax source opaque/pattern transparent. */
24129static unsigned xrop3_226_0_1 (unsigned char s, unsigned char t)
24130{
24131  unsigned D = 0x00ff;
24132  unsigned S = ((unsigned)s << 8) | s;
24133  unsigned T = ((unsigned)t << 8) | t;
24134  unsigned stk1;
24135  unsigned stk2;
24136  unsigned stk3;
24137  stk3 = T ^ D;
24138  stk2 = S & stk3;
24139  stk1 = D ^ stk2;
24140  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24141}
24142
24143/* DSTDxax source transparent/pattern opaque. */
24144static unsigned xrop3_226_1_0 (unsigned char s, unsigned char t)
24145{
24146  unsigned D = 0x00ff;
24147  unsigned S = ((unsigned)s << 8) | s;
24148  unsigned T = ((unsigned)t << 8) | t;
24149  unsigned stk1;
24150  unsigned stk2;
24151  unsigned stk3;
24152  stk3 = T ^ D;
24153  stk2 = S & stk3;
24154  stk1 = D ^ stk2;
24155  return (stk1 & (~S)) | (D & S);
24156}
24157
24158/* DSTDxax source/pattern transparent. */
24159static unsigned xrop3_226_1_1 (unsigned char s, unsigned char t)
24160{
24161  unsigned D = 0x00ff;
24162  unsigned S = ((unsigned)s << 8) | s;
24163  unsigned T = ((unsigned)t << 8) | t;
24164  unsigned stk1;
24165  unsigned stk2;
24166  unsigned stk3;
24167  stk3 = T ^ D;
24168  stk2 = S & stk3;
24169  stk1 = D ^ stk2;
24170  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24171}
24172
24173/* TSDTaoxn source/pattern opaque. */
24174static void rop3_227_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24175{
24176  unsigned char stk1;
24177  unsigned char stk2;
24178  unsigned char stk3;
24179  stk3 = *D & T;
24180  stk2 = S | stk3;
24181  stk1 = T ^ stk2;
24182  stk1 = ~stk1;
24183  *D = stk1;
24184}
24185
24186/* TSDTaoxn source opaque/pattern transparent. */
24187static void rop3_227_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24188{
24189  unsigned char stk1;
24190  unsigned char stk2;
24191  unsigned char stk3;
24192  stk3 = *D & T;
24193  stk2 = S | stk3;
24194  stk1 = T ^ stk2;
24195  stk1 = ~stk1;
24196  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24197}
24198
24199/* TSDTaoxn source transparent/pattern opaque. */
24200static void rop3_227_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24201{
24202  unsigned char stk1;
24203  unsigned char stk2;
24204  unsigned char stk3;
24205  stk3 = *D & T;
24206  stk2 = S | stk3;
24207  stk1 = T ^ stk2;
24208  stk1 = ~stk1;
24209  *D = (stk1 & (~S)) | (*D & S);
24210}
24211
24212/* TSDTaoxn source/pattern transparent. */
24213static void rop3_227_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24214{
24215  unsigned char stk1;
24216  unsigned char stk2;
24217  unsigned char stk3;
24218  stk3 = *D & T;
24219  stk2 = S | stk3;
24220  stk1 = T ^ stk2;
24221  stk1 = ~stk1;
24222  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24223}
24224
24225/* TSDTaoxn source/pattern opaque. */
24226static unsigned xrop3_227_0_0 (unsigned char s, unsigned char t)
24227{
24228  unsigned D = 0x00ff;
24229  unsigned S = ((unsigned)s << 8) | s;
24230  unsigned T = ((unsigned)t << 8) | t;
24231  unsigned stk1;
24232  unsigned stk2;
24233  unsigned stk3;
24234  stk3 = D & T;
24235  stk2 = S | stk3;
24236  stk1 = T ^ stk2;
24237  stk1 = ~stk1;
24238  return stk1;
24239}
24240
24241/* TSDTaoxn source opaque/pattern transparent. */
24242static unsigned xrop3_227_0_1 (unsigned char s, unsigned char t)
24243{
24244  unsigned D = 0x00ff;
24245  unsigned S = ((unsigned)s << 8) | s;
24246  unsigned T = ((unsigned)t << 8) | t;
24247  unsigned stk1;
24248  unsigned stk2;
24249  unsigned stk3;
24250  stk3 = D & T;
24251  stk2 = S | stk3;
24252  stk1 = T ^ stk2;
24253  stk1 = ~stk1;
24254  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24255}
24256
24257/* TSDTaoxn source transparent/pattern opaque. */
24258static unsigned xrop3_227_1_0 (unsigned char s, unsigned char t)
24259{
24260  unsigned D = 0x00ff;
24261  unsigned S = ((unsigned)s << 8) | s;
24262  unsigned T = ((unsigned)t << 8) | t;
24263  unsigned stk1;
24264  unsigned stk2;
24265  unsigned stk3;
24266  stk3 = D & T;
24267  stk2 = S | stk3;
24268  stk1 = T ^ stk2;
24269  stk1 = ~stk1;
24270  return (stk1 & (~S)) | (D & S);
24271}
24272
24273/* TSDTaoxn source/pattern transparent. */
24274static unsigned xrop3_227_1_1 (unsigned char s, unsigned char t)
24275{
24276  unsigned D = 0x00ff;
24277  unsigned S = ((unsigned)s << 8) | s;
24278  unsigned T = ((unsigned)t << 8) | t;
24279  unsigned stk1;
24280  unsigned stk2;
24281  unsigned stk3;
24282  stk3 = D & T;
24283  stk2 = S | stk3;
24284  stk1 = T ^ stk2;
24285  stk1 = ~stk1;
24286  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24287}
24288
24289/* SDTSxax source/pattern opaque. */
24290static void rop3_228_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24291{
24292  unsigned char stk1;
24293  unsigned char stk2;
24294  unsigned char stk3;
24295  stk3 = T ^ S;
24296  stk2 = *D & stk3;
24297  stk1 = S ^ stk2;
24298  *D = stk1;
24299}
24300
24301/* SDTSxax source opaque/pattern transparent. */
24302static void rop3_228_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24303{
24304  unsigned char stk1;
24305  unsigned char stk2;
24306  unsigned char stk3;
24307  stk3 = T ^ S;
24308  stk2 = *D & stk3;
24309  stk1 = S ^ stk2;
24310  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24311}
24312
24313/* SDTSxax source transparent/pattern opaque. */
24314static void rop3_228_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24315{
24316  unsigned char stk1;
24317  unsigned char stk2;
24318  unsigned char stk3;
24319  stk3 = T ^ S;
24320  stk2 = *D & stk3;
24321  stk1 = S ^ stk2;
24322  *D = (stk1 & (~S)) | (*D & S);
24323}
24324
24325/* SDTSxax source/pattern transparent. */
24326static void rop3_228_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24327{
24328  unsigned char stk1;
24329  unsigned char stk2;
24330  unsigned char stk3;
24331  stk3 = T ^ S;
24332  stk2 = *D & stk3;
24333  stk1 = S ^ stk2;
24334  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24335}
24336
24337/* SDTSxax source/pattern opaque. */
24338static unsigned xrop3_228_0_0 (unsigned char s, unsigned char t)
24339{
24340  unsigned D = 0x00ff;
24341  unsigned S = ((unsigned)s << 8) | s;
24342  unsigned T = ((unsigned)t << 8) | t;
24343  unsigned stk1;
24344  unsigned stk2;
24345  unsigned stk3;
24346  stk3 = T ^ S;
24347  stk2 = D & stk3;
24348  stk1 = S ^ stk2;
24349  return stk1;
24350}
24351
24352/* SDTSxax source opaque/pattern transparent. */
24353static unsigned xrop3_228_0_1 (unsigned char s, unsigned char t)
24354{
24355  unsigned D = 0x00ff;
24356  unsigned S = ((unsigned)s << 8) | s;
24357  unsigned T = ((unsigned)t << 8) | t;
24358  unsigned stk1;
24359  unsigned stk2;
24360  unsigned stk3;
24361  stk3 = T ^ S;
24362  stk2 = D & stk3;
24363  stk1 = S ^ stk2;
24364  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24365}
24366
24367/* SDTSxax source transparent/pattern opaque. */
24368static unsigned xrop3_228_1_0 (unsigned char s, unsigned char t)
24369{
24370  unsigned D = 0x00ff;
24371  unsigned S = ((unsigned)s << 8) | s;
24372  unsigned T = ((unsigned)t << 8) | t;
24373  unsigned stk1;
24374  unsigned stk2;
24375  unsigned stk3;
24376  stk3 = T ^ S;
24377  stk2 = D & stk3;
24378  stk1 = S ^ stk2;
24379  return (stk1 & (~S)) | (D & S);
24380}
24381
24382/* SDTSxax source/pattern transparent. */
24383static unsigned xrop3_228_1_1 (unsigned char s, unsigned char t)
24384{
24385  unsigned D = 0x00ff;
24386  unsigned S = ((unsigned)s << 8) | s;
24387  unsigned T = ((unsigned)t << 8) | t;
24388  unsigned stk1;
24389  unsigned stk2;
24390  unsigned stk3;
24391  stk3 = T ^ S;
24392  stk2 = D & stk3;
24393  stk1 = S ^ stk2;
24394  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24395}
24396
24397/* TDSTaoxn source/pattern opaque. */
24398static void rop3_229_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24399{
24400  unsigned char stk1;
24401  unsigned char stk2;
24402  unsigned char stk3;
24403  stk3 = S & T;
24404  stk2 = *D | stk3;
24405  stk1 = T ^ stk2;
24406  stk1 = ~stk1;
24407  *D = stk1;
24408}
24409
24410/* TDSTaoxn source opaque/pattern transparent. */
24411static void rop3_229_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24412{
24413  unsigned char stk1;
24414  unsigned char stk2;
24415  unsigned char stk3;
24416  stk3 = S & T;
24417  stk2 = *D | stk3;
24418  stk1 = T ^ stk2;
24419  stk1 = ~stk1;
24420  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24421}
24422
24423/* TDSTaoxn source transparent/pattern opaque. */
24424static void rop3_229_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24425{
24426  unsigned char stk1;
24427  unsigned char stk2;
24428  unsigned char stk3;
24429  stk3 = S & T;
24430  stk2 = *D | stk3;
24431  stk1 = T ^ stk2;
24432  stk1 = ~stk1;
24433  *D = (stk1 & (~S)) | (*D & S);
24434}
24435
24436/* TDSTaoxn source/pattern transparent. */
24437static void rop3_229_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24438{
24439  unsigned char stk1;
24440  unsigned char stk2;
24441  unsigned char stk3;
24442  stk3 = S & T;
24443  stk2 = *D | stk3;
24444  stk1 = T ^ stk2;
24445  stk1 = ~stk1;
24446  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24447}
24448
24449/* TDSTaoxn source/pattern opaque. */
24450static unsigned xrop3_229_0_0 (unsigned char s, unsigned char t)
24451{
24452  unsigned D = 0x00ff;
24453  unsigned S = ((unsigned)s << 8) | s;
24454  unsigned T = ((unsigned)t << 8) | t;
24455  unsigned stk1;
24456  unsigned stk2;
24457  unsigned stk3;
24458  stk3 = S & T;
24459  stk2 = D | stk3;
24460  stk1 = T ^ stk2;
24461  stk1 = ~stk1;
24462  return stk1;
24463}
24464
24465/* TDSTaoxn source opaque/pattern transparent. */
24466static unsigned xrop3_229_0_1 (unsigned char s, unsigned char t)
24467{
24468  unsigned D = 0x00ff;
24469  unsigned S = ((unsigned)s << 8) | s;
24470  unsigned T = ((unsigned)t << 8) | t;
24471  unsigned stk1;
24472  unsigned stk2;
24473  unsigned stk3;
24474  stk3 = S & T;
24475  stk2 = D | stk3;
24476  stk1 = T ^ stk2;
24477  stk1 = ~stk1;
24478  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24479}
24480
24481/* TDSTaoxn source transparent/pattern opaque. */
24482static unsigned xrop3_229_1_0 (unsigned char s, unsigned char t)
24483{
24484  unsigned D = 0x00ff;
24485  unsigned S = ((unsigned)s << 8) | s;
24486  unsigned T = ((unsigned)t << 8) | t;
24487  unsigned stk1;
24488  unsigned stk2;
24489  unsigned stk3;
24490  stk3 = S & T;
24491  stk2 = D | stk3;
24492  stk1 = T ^ stk2;
24493  stk1 = ~stk1;
24494  return (stk1 & (~S)) | (D & S);
24495}
24496
24497/* TDSTaoxn source/pattern transparent. */
24498static unsigned xrop3_229_1_1 (unsigned char s, unsigned char t)
24499{
24500  unsigned D = 0x00ff;
24501  unsigned S = ((unsigned)s << 8) | s;
24502  unsigned T = ((unsigned)t << 8) | t;
24503  unsigned stk1;
24504  unsigned stk2;
24505  unsigned stk3;
24506  stk3 = S & T;
24507  stk2 = D | stk3;
24508  stk1 = T ^ stk2;
24509  stk1 = ~stk1;
24510  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24511}
24512
24513/* SDTSanax source/pattern opaque. */
24514static void rop3_230_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24515{
24516  unsigned char stk1;
24517  unsigned char stk2;
24518  unsigned char stk3;
24519  stk3 = T & S;
24520  stk3 = ~stk3;
24521  stk2 = *D & stk3;
24522  stk1 = S ^ stk2;
24523  *D = stk1;
24524}
24525
24526/* SDTSanax source opaque/pattern transparent. */
24527static void rop3_230_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24528{
24529  unsigned char stk1;
24530  unsigned char stk2;
24531  unsigned char stk3;
24532  stk3 = T & S;
24533  stk3 = ~stk3;
24534  stk2 = *D & stk3;
24535  stk1 = S ^ stk2;
24536  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24537}
24538
24539/* SDTSanax source transparent/pattern opaque. */
24540static void rop3_230_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24541{
24542  unsigned char stk1;
24543  unsigned char stk2;
24544  unsigned char stk3;
24545  stk3 = T & S;
24546  stk3 = ~stk3;
24547  stk2 = *D & stk3;
24548  stk1 = S ^ stk2;
24549  *D = (stk1 & (~S)) | (*D & S);
24550}
24551
24552/* SDTSanax source/pattern transparent. */
24553static void rop3_230_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24554{
24555  unsigned char stk1;
24556  unsigned char stk2;
24557  unsigned char stk3;
24558  stk3 = T & S;
24559  stk3 = ~stk3;
24560  stk2 = *D & stk3;
24561  stk1 = S ^ stk2;
24562  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24563}
24564
24565/* SDTSanax source/pattern opaque. */
24566static unsigned xrop3_230_0_0 (unsigned char s, unsigned char t)
24567{
24568  unsigned D = 0x00ff;
24569  unsigned S = ((unsigned)s << 8) | s;
24570  unsigned T = ((unsigned)t << 8) | t;
24571  unsigned stk1;
24572  unsigned stk2;
24573  unsigned stk3;
24574  stk3 = T & S;
24575  stk3 = ~stk3;
24576  stk2 = D & stk3;
24577  stk1 = S ^ stk2;
24578  return stk1;
24579}
24580
24581/* SDTSanax source opaque/pattern transparent. */
24582static unsigned xrop3_230_0_1 (unsigned char s, unsigned char t)
24583{
24584  unsigned D = 0x00ff;
24585  unsigned S = ((unsigned)s << 8) | s;
24586  unsigned T = ((unsigned)t << 8) | t;
24587  unsigned stk1;
24588  unsigned stk2;
24589  unsigned stk3;
24590  stk3 = T & S;
24591  stk3 = ~stk3;
24592  stk2 = D & stk3;
24593  stk1 = S ^ stk2;
24594  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24595}
24596
24597/* SDTSanax source transparent/pattern opaque. */
24598static unsigned xrop3_230_1_0 (unsigned char s, unsigned char t)
24599{
24600  unsigned D = 0x00ff;
24601  unsigned S = ((unsigned)s << 8) | s;
24602  unsigned T = ((unsigned)t << 8) | t;
24603  unsigned stk1;
24604  unsigned stk2;
24605  unsigned stk3;
24606  stk3 = T & S;
24607  stk3 = ~stk3;
24608  stk2 = D & stk3;
24609  stk1 = S ^ stk2;
24610  return (stk1 & (~S)) | (D & S);
24611}
24612
24613/* SDTSanax source/pattern transparent. */
24614static unsigned xrop3_230_1_1 (unsigned char s, unsigned char t)
24615{
24616  unsigned D = 0x00ff;
24617  unsigned S = ((unsigned)s << 8) | s;
24618  unsigned T = ((unsigned)t << 8) | t;
24619  unsigned stk1;
24620  unsigned stk2;
24621  unsigned stk3;
24622  stk3 = T & S;
24623  stk3 = ~stk3;
24624  stk2 = D & stk3;
24625  stk1 = S ^ stk2;
24626  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24627}
24628
24629/* STxTDxan source/pattern opaque. */
24630static void rop3_231_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24631{
24632  unsigned char stk1;
24633  unsigned char stk2;
24634  stk1 = S ^ T;
24635  stk2 = T ^ *D;
24636  stk1 = stk1 & stk2;
24637  stk1 = ~stk1;
24638  *D = stk1;
24639}
24640
24641/* STxTDxan source opaque/pattern transparent. */
24642static void rop3_231_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24643{
24644  unsigned char stk1;
24645  unsigned char stk2;
24646  stk1 = S ^ T;
24647  stk2 = T ^ *D;
24648  stk1 = stk1 & stk2;
24649  stk1 = ~stk1;
24650  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24651}
24652
24653/* STxTDxan source transparent/pattern opaque. */
24654static void rop3_231_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24655{
24656  unsigned char stk1;
24657  unsigned char stk2;
24658  stk1 = S ^ T;
24659  stk2 = T ^ *D;
24660  stk1 = stk1 & stk2;
24661  stk1 = ~stk1;
24662  *D = (stk1 & (~S)) | (*D & S);
24663}
24664
24665/* STxTDxan source/pattern transparent. */
24666static void rop3_231_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24667{
24668  unsigned char stk1;
24669  unsigned char stk2;
24670  stk1 = S ^ T;
24671  stk2 = T ^ *D;
24672  stk1 = stk1 & stk2;
24673  stk1 = ~stk1;
24674  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24675}
24676
24677/* STxTDxan source/pattern opaque. */
24678static unsigned xrop3_231_0_0 (unsigned char s, unsigned char t)
24679{
24680  unsigned D = 0x00ff;
24681  unsigned S = ((unsigned)s << 8) | s;
24682  unsigned T = ((unsigned)t << 8) | t;
24683  unsigned stk1;
24684  unsigned stk2;
24685  stk1 = S ^ T;
24686  stk2 = T ^ D;
24687  stk1 = stk1 & stk2;
24688  stk1 = ~stk1;
24689  return stk1;
24690}
24691
24692/* STxTDxan source opaque/pattern transparent. */
24693static unsigned xrop3_231_0_1 (unsigned char s, unsigned char t)
24694{
24695  unsigned D = 0x00ff;
24696  unsigned S = ((unsigned)s << 8) | s;
24697  unsigned T = ((unsigned)t << 8) | t;
24698  unsigned stk1;
24699  unsigned stk2;
24700  stk1 = S ^ T;
24701  stk2 = T ^ D;
24702  stk1 = stk1 & stk2;
24703  stk1 = ~stk1;
24704  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24705}
24706
24707/* STxTDxan source transparent/pattern opaque. */
24708static unsigned xrop3_231_1_0 (unsigned char s, unsigned char t)
24709{
24710  unsigned D = 0x00ff;
24711  unsigned S = ((unsigned)s << 8) | s;
24712  unsigned T = ((unsigned)t << 8) | t;
24713  unsigned stk1;
24714  unsigned stk2;
24715  stk1 = S ^ T;
24716  stk2 = T ^ D;
24717  stk1 = stk1 & stk2;
24718  stk1 = ~stk1;
24719  return (stk1 & (~S)) | (D & S);
24720}
24721
24722/* STxTDxan source/pattern transparent. */
24723static unsigned xrop3_231_1_1 (unsigned char s, unsigned char t)
24724{
24725  unsigned D = 0x00ff;
24726  unsigned S = ((unsigned)s << 8) | s;
24727  unsigned T = ((unsigned)t << 8) | t;
24728  unsigned stk1;
24729  unsigned stk2;
24730  stk1 = S ^ T;
24731  stk2 = T ^ D;
24732  stk1 = stk1 & stk2;
24733  stk1 = ~stk1;
24734  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24735}
24736
24737/* SSTxDSxax source/pattern opaque. */
24738static void rop3_232_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24739{
24740  unsigned char stk1;
24741  unsigned char stk2;
24742  unsigned char stk3;
24743  stk2 = S ^ T;
24744  stk3 = *D ^ S;
24745  stk2 = stk2 & stk3;
24746  stk1 = S ^ stk2;
24747  *D = stk1;
24748}
24749
24750/* SSTxDSxax source opaque/pattern transparent. */
24751static void rop3_232_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24752{
24753  unsigned char stk1;
24754  unsigned char stk2;
24755  unsigned char stk3;
24756  stk2 = S ^ T;
24757  stk3 = *D ^ S;
24758  stk2 = stk2 & stk3;
24759  stk1 = S ^ stk2;
24760  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24761}
24762
24763/* SSTxDSxax source transparent/pattern opaque. */
24764static void rop3_232_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24765{
24766  unsigned char stk1;
24767  unsigned char stk2;
24768  unsigned char stk3;
24769  stk2 = S ^ T;
24770  stk3 = *D ^ S;
24771  stk2 = stk2 & stk3;
24772  stk1 = S ^ stk2;
24773  *D = (stk1 & (~S)) | (*D & S);
24774}
24775
24776/* SSTxDSxax source/pattern transparent. */
24777static void rop3_232_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24778{
24779  unsigned char stk1;
24780  unsigned char stk2;
24781  unsigned char stk3;
24782  stk2 = S ^ T;
24783  stk3 = *D ^ S;
24784  stk2 = stk2 & stk3;
24785  stk1 = S ^ stk2;
24786  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24787}
24788
24789/* SSTxDSxax source/pattern opaque. */
24790static unsigned xrop3_232_0_0 (unsigned char s, unsigned char t)
24791{
24792  unsigned D = 0x00ff;
24793  unsigned S = ((unsigned)s << 8) | s;
24794  unsigned T = ((unsigned)t << 8) | t;
24795  unsigned stk1;
24796  unsigned stk2;
24797  unsigned stk3;
24798  stk2 = S ^ T;
24799  stk3 = D ^ S;
24800  stk2 = stk2 & stk3;
24801  stk1 = S ^ stk2;
24802  return stk1;
24803}
24804
24805/* SSTxDSxax source opaque/pattern transparent. */
24806static unsigned xrop3_232_0_1 (unsigned char s, unsigned char t)
24807{
24808  unsigned D = 0x00ff;
24809  unsigned S = ((unsigned)s << 8) | s;
24810  unsigned T = ((unsigned)t << 8) | t;
24811  unsigned stk1;
24812  unsigned stk2;
24813  unsigned stk3;
24814  stk2 = S ^ T;
24815  stk3 = D ^ S;
24816  stk2 = stk2 & stk3;
24817  stk1 = S ^ stk2;
24818  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24819}
24820
24821/* SSTxDSxax source transparent/pattern opaque. */
24822static unsigned xrop3_232_1_0 (unsigned char s, unsigned char t)
24823{
24824  unsigned D = 0x00ff;
24825  unsigned S = ((unsigned)s << 8) | s;
24826  unsigned T = ((unsigned)t << 8) | t;
24827  unsigned stk1;
24828  unsigned stk2;
24829  unsigned stk3;
24830  stk2 = S ^ T;
24831  stk3 = D ^ S;
24832  stk2 = stk2 & stk3;
24833  stk1 = S ^ stk2;
24834  return (stk1 & (~S)) | (D & S);
24835}
24836
24837/* SSTxDSxax source/pattern transparent. */
24838static unsigned xrop3_232_1_1 (unsigned char s, unsigned char t)
24839{
24840  unsigned D = 0x00ff;
24841  unsigned S = ((unsigned)s << 8) | s;
24842  unsigned T = ((unsigned)t << 8) | t;
24843  unsigned stk1;
24844  unsigned stk2;
24845  unsigned stk3;
24846  stk2 = S ^ T;
24847  stk3 = D ^ S;
24848  stk2 = stk2 & stk3;
24849  stk1 = S ^ stk2;
24850  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24851}
24852
24853/* DSTDSanaxxn source/pattern opaque. */
24854static void rop3_233_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24855{
24856  unsigned char stk1;
24857  unsigned char stk2;
24858  unsigned char stk3;
24859  unsigned char stk4;
24860  stk4 = *D & S;
24861  stk4 = ~stk4;
24862  stk3 = T & stk4;
24863  stk2 = S ^ stk3;
24864  stk1 = *D ^ stk2;
24865  stk1 = ~stk1;
24866  *D = stk1;
24867}
24868
24869/* DSTDSanaxxn source opaque/pattern transparent. */
24870static void rop3_233_0_1 (unsigned char *D, unsigned char S, unsigned char T)
24871{
24872  unsigned char stk1;
24873  unsigned char stk2;
24874  unsigned char stk3;
24875  unsigned char stk4;
24876  stk4 = *D & S;
24877  stk4 = ~stk4;
24878  stk3 = T & stk4;
24879  stk2 = S ^ stk3;
24880  stk1 = *D ^ stk2;
24881  stk1 = ~stk1;
24882  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
24883}
24884
24885/* DSTDSanaxxn source transparent/pattern opaque. */
24886static void rop3_233_1_0 (unsigned char *D, unsigned char S, unsigned char T)
24887{
24888  unsigned char stk1;
24889  unsigned char stk2;
24890  unsigned char stk3;
24891  unsigned char stk4;
24892  stk4 = *D & S;
24893  stk4 = ~stk4;
24894  stk3 = T & stk4;
24895  stk2 = S ^ stk3;
24896  stk1 = *D ^ stk2;
24897  stk1 = ~stk1;
24898  *D = (stk1 & (~S)) | (*D & S);
24899}
24900
24901/* DSTDSanaxxn source/pattern transparent. */
24902static void rop3_233_1_1 (unsigned char *D, unsigned char S, unsigned char T)
24903{
24904  unsigned char stk1;
24905  unsigned char stk2;
24906  unsigned char stk3;
24907  unsigned char stk4;
24908  stk4 = *D & S;
24909  stk4 = ~stk4;
24910  stk3 = T & stk4;
24911  stk2 = S ^ stk3;
24912  stk1 = *D ^ stk2;
24913  stk1 = ~stk1;
24914  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
24915}
24916
24917/* DSTDSanaxxn source/pattern opaque. */
24918static unsigned xrop3_233_0_0 (unsigned char s, unsigned char t)
24919{
24920  unsigned D = 0x00ff;
24921  unsigned S = ((unsigned)s << 8) | s;
24922  unsigned T = ((unsigned)t << 8) | t;
24923  unsigned stk1;
24924  unsigned stk2;
24925  unsigned stk3;
24926  unsigned stk4;
24927  stk4 = D & S;
24928  stk4 = ~stk4;
24929  stk3 = T & stk4;
24930  stk2 = S ^ stk3;
24931  stk1 = D ^ stk2;
24932  stk1 = ~stk1;
24933  return stk1;
24934}
24935
24936/* DSTDSanaxxn source opaque/pattern transparent. */
24937static unsigned xrop3_233_0_1 (unsigned char s, unsigned char t)
24938{
24939  unsigned D = 0x00ff;
24940  unsigned S = ((unsigned)s << 8) | s;
24941  unsigned T = ((unsigned)t << 8) | t;
24942  unsigned stk1;
24943  unsigned stk2;
24944  unsigned stk3;
24945  unsigned stk4;
24946  stk4 = D & S;
24947  stk4 = ~stk4;
24948  stk3 = T & stk4;
24949  stk2 = S ^ stk3;
24950  stk1 = D ^ stk2;
24951  stk1 = ~stk1;
24952  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
24953}
24954
24955/* DSTDSanaxxn source transparent/pattern opaque. */
24956static unsigned xrop3_233_1_0 (unsigned char s, unsigned char t)
24957{
24958  unsigned D = 0x00ff;
24959  unsigned S = ((unsigned)s << 8) | s;
24960  unsigned T = ((unsigned)t << 8) | t;
24961  unsigned stk1;
24962  unsigned stk2;
24963  unsigned stk3;
24964  unsigned stk4;
24965  stk4 = D & S;
24966  stk4 = ~stk4;
24967  stk3 = T & stk4;
24968  stk2 = S ^ stk3;
24969  stk1 = D ^ stk2;
24970  stk1 = ~stk1;
24971  return (stk1 & (~S)) | (D & S);
24972}
24973
24974/* DSTDSanaxxn source/pattern transparent. */
24975static unsigned xrop3_233_1_1 (unsigned char s, unsigned char t)
24976{
24977  unsigned D = 0x00ff;
24978  unsigned S = ((unsigned)s << 8) | s;
24979  unsigned T = ((unsigned)t << 8) | t;
24980  unsigned stk1;
24981  unsigned stk2;
24982  unsigned stk3;
24983  unsigned stk4;
24984  stk4 = D & S;
24985  stk4 = ~stk4;
24986  stk3 = T & stk4;
24987  stk2 = S ^ stk3;
24988  stk1 = D ^ stk2;
24989  stk1 = ~stk1;
24990  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
24991}
24992
24993/* DTSao source/pattern opaque. */
24994static void rop3_234_0_0 (unsigned char *D, unsigned char S, unsigned char T)
24995{
24996  unsigned char stk1;
24997  unsigned char stk2;
24998  stk2 = T & S;
24999  stk1 = *D | stk2;
25000  *D = stk1;
25001}
25002
25003/* DTSao source opaque/pattern transparent. */
25004static void rop3_234_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25005{
25006  unsigned char stk1;
25007  unsigned char stk2;
25008  stk2 = T & S;
25009  stk1 = *D | stk2;
25010  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25011}
25012
25013/* DTSao source transparent/pattern opaque. */
25014static void rop3_234_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25015{
25016  unsigned char stk1;
25017  unsigned char stk2;
25018  stk2 = T & S;
25019  stk1 = *D | stk2;
25020  *D = (stk1 & (~S)) | (*D & S);
25021}
25022
25023/* DTSao source/pattern transparent. */
25024static void rop3_234_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25025{
25026  unsigned char stk1;
25027  unsigned char stk2;
25028  stk2 = T & S;
25029  stk1 = *D | stk2;
25030  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25031}
25032
25033/* DTSao source/pattern opaque. */
25034static unsigned xrop3_234_0_0 (unsigned char s, unsigned char t)
25035{
25036  unsigned D = 0x00ff;
25037  unsigned S = ((unsigned)s << 8) | s;
25038  unsigned T = ((unsigned)t << 8) | t;
25039  unsigned stk1;
25040  unsigned stk2;
25041  stk2 = T & S;
25042  stk1 = D | stk2;
25043  return stk1;
25044}
25045
25046/* DTSao source opaque/pattern transparent. */
25047static unsigned xrop3_234_0_1 (unsigned char s, unsigned char t)
25048{
25049  unsigned D = 0x00ff;
25050  unsigned S = ((unsigned)s << 8) | s;
25051  unsigned T = ((unsigned)t << 8) | t;
25052  unsigned stk1;
25053  unsigned stk2;
25054  stk2 = T & S;
25055  stk1 = D | stk2;
25056  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25057}
25058
25059/* DTSao source transparent/pattern opaque. */
25060static unsigned xrop3_234_1_0 (unsigned char s, unsigned char t)
25061{
25062  unsigned D = 0x00ff;
25063  unsigned S = ((unsigned)s << 8) | s;
25064  unsigned T = ((unsigned)t << 8) | t;
25065  unsigned stk1;
25066  unsigned stk2;
25067  stk2 = T & S;
25068  stk1 = D | stk2;
25069  return (stk1 & (~S)) | (D & S);
25070}
25071
25072/* DTSao source/pattern transparent. */
25073static unsigned xrop3_234_1_1 (unsigned char s, unsigned char t)
25074{
25075  unsigned D = 0x00ff;
25076  unsigned S = ((unsigned)s << 8) | s;
25077  unsigned T = ((unsigned)t << 8) | t;
25078  unsigned stk1;
25079  unsigned stk2;
25080  stk2 = T & S;
25081  stk1 = D | stk2;
25082  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25083}
25084
25085/* DTSxno source/pattern opaque. */
25086static void rop3_235_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25087{
25088  unsigned char stk1;
25089  unsigned char stk2;
25090  stk2 = T ^ S;
25091  stk2 = ~stk2;
25092  stk1 = *D | stk2;
25093  *D = stk1;
25094}
25095
25096/* DTSxno source opaque/pattern transparent. */
25097static void rop3_235_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25098{
25099  unsigned char stk1;
25100  unsigned char stk2;
25101  stk2 = T ^ S;
25102  stk2 = ~stk2;
25103  stk1 = *D | stk2;
25104  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25105}
25106
25107/* DTSxno source transparent/pattern opaque. */
25108static void rop3_235_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25109{
25110  unsigned char stk1;
25111  unsigned char stk2;
25112  stk2 = T ^ S;
25113  stk2 = ~stk2;
25114  stk1 = *D | stk2;
25115  *D = (stk1 & (~S)) | (*D & S);
25116}
25117
25118/* DTSxno source/pattern transparent. */
25119static void rop3_235_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25120{
25121  unsigned char stk1;
25122  unsigned char stk2;
25123  stk2 = T ^ S;
25124  stk2 = ~stk2;
25125  stk1 = *D | stk2;
25126  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25127}
25128
25129/* DTSxno source/pattern opaque. */
25130static unsigned xrop3_235_0_0 (unsigned char s, unsigned char t)
25131{
25132  unsigned D = 0x00ff;
25133  unsigned S = ((unsigned)s << 8) | s;
25134  unsigned T = ((unsigned)t << 8) | t;
25135  unsigned stk1;
25136  unsigned stk2;
25137  stk2 = T ^ S;
25138  stk2 = ~stk2;
25139  stk1 = D | stk2;
25140  return stk1;
25141}
25142
25143/* DTSxno source opaque/pattern transparent. */
25144static unsigned xrop3_235_0_1 (unsigned char s, unsigned char t)
25145{
25146  unsigned D = 0x00ff;
25147  unsigned S = ((unsigned)s << 8) | s;
25148  unsigned T = ((unsigned)t << 8) | t;
25149  unsigned stk1;
25150  unsigned stk2;
25151  stk2 = T ^ S;
25152  stk2 = ~stk2;
25153  stk1 = D | stk2;
25154  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25155}
25156
25157/* DTSxno source transparent/pattern opaque. */
25158static unsigned xrop3_235_1_0 (unsigned char s, unsigned char t)
25159{
25160  unsigned D = 0x00ff;
25161  unsigned S = ((unsigned)s << 8) | s;
25162  unsigned T = ((unsigned)t << 8) | t;
25163  unsigned stk1;
25164  unsigned stk2;
25165  stk2 = T ^ S;
25166  stk2 = ~stk2;
25167  stk1 = D | stk2;
25168  return (stk1 & (~S)) | (D & S);
25169}
25170
25171/* DTSxno source/pattern transparent. */
25172static unsigned xrop3_235_1_1 (unsigned char s, unsigned char t)
25173{
25174  unsigned D = 0x00ff;
25175  unsigned S = ((unsigned)s << 8) | s;
25176  unsigned T = ((unsigned)t << 8) | t;
25177  unsigned stk1;
25178  unsigned stk2;
25179  stk2 = T ^ S;
25180  stk2 = ~stk2;
25181  stk1 = D | stk2;
25182  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25183}
25184
25185/* SDTao source/pattern opaque. */
25186static void rop3_236_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25187{
25188  unsigned char stk1;
25189  unsigned char stk2;
25190  stk2 = *D & T;
25191  stk1 = S | stk2;
25192  *D = stk1;
25193}
25194
25195/* SDTao source opaque/pattern transparent. */
25196static void rop3_236_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25197{
25198  unsigned char stk1;
25199  unsigned char stk2;
25200  stk2 = *D & T;
25201  stk1 = S | stk2;
25202  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25203}
25204
25205/* SDTao source transparent/pattern opaque. */
25206static void rop3_236_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25207{
25208  unsigned char stk1;
25209  unsigned char stk2;
25210  stk2 = *D & T;
25211  stk1 = S | stk2;
25212  *D = (stk1 & (~S)) | (*D & S);
25213}
25214
25215/* SDTao source/pattern transparent. */
25216static void rop3_236_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25217{
25218  unsigned char stk1;
25219  unsigned char stk2;
25220  stk2 = *D & T;
25221  stk1 = S | stk2;
25222  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25223}
25224
25225/* SDTao source/pattern opaque. */
25226static unsigned xrop3_236_0_0 (unsigned char s, unsigned char t)
25227{
25228  unsigned D = 0x00ff;
25229  unsigned S = ((unsigned)s << 8) | s;
25230  unsigned T = ((unsigned)t << 8) | t;
25231  unsigned stk1;
25232  unsigned stk2;
25233  stk2 = D & T;
25234  stk1 = S | stk2;
25235  return stk1;
25236}
25237
25238/* SDTao source opaque/pattern transparent. */
25239static unsigned xrop3_236_0_1 (unsigned char s, unsigned char t)
25240{
25241  unsigned D = 0x00ff;
25242  unsigned S = ((unsigned)s << 8) | s;
25243  unsigned T = ((unsigned)t << 8) | t;
25244  unsigned stk1;
25245  unsigned stk2;
25246  stk2 = D & T;
25247  stk1 = S | stk2;
25248  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25249}
25250
25251/* SDTao source transparent/pattern opaque. */
25252static unsigned xrop3_236_1_0 (unsigned char s, unsigned char t)
25253{
25254  unsigned D = 0x00ff;
25255  unsigned S = ((unsigned)s << 8) | s;
25256  unsigned T = ((unsigned)t << 8) | t;
25257  unsigned stk1;
25258  unsigned stk2;
25259  stk2 = D & T;
25260  stk1 = S | stk2;
25261  return (stk1 & (~S)) | (D & S);
25262}
25263
25264/* SDTao source/pattern transparent. */
25265static unsigned xrop3_236_1_1 (unsigned char s, unsigned char t)
25266{
25267  unsigned D = 0x00ff;
25268  unsigned S = ((unsigned)s << 8) | s;
25269  unsigned T = ((unsigned)t << 8) | t;
25270  unsigned stk1;
25271  unsigned stk2;
25272  stk2 = D & T;
25273  stk1 = S | stk2;
25274  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25275}
25276
25277/* SDTxno source/pattern opaque. */
25278static void rop3_237_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25279{
25280  unsigned char stk1;
25281  unsigned char stk2;
25282  stk2 = *D ^ T;
25283  stk2 = ~stk2;
25284  stk1 = S | stk2;
25285  *D = stk1;
25286}
25287
25288/* SDTxno source opaque/pattern transparent. */
25289static void rop3_237_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25290{
25291  unsigned char stk1;
25292  unsigned char stk2;
25293  stk2 = *D ^ T;
25294  stk2 = ~stk2;
25295  stk1 = S | stk2;
25296  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25297}
25298
25299/* SDTxno source transparent/pattern opaque. */
25300static void rop3_237_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25301{
25302  unsigned char stk1;
25303  unsigned char stk2;
25304  stk2 = *D ^ T;
25305  stk2 = ~stk2;
25306  stk1 = S | stk2;
25307  *D = (stk1 & (~S)) | (*D & S);
25308}
25309
25310/* SDTxno source/pattern transparent. */
25311static void rop3_237_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25312{
25313  unsigned char stk1;
25314  unsigned char stk2;
25315  stk2 = *D ^ T;
25316  stk2 = ~stk2;
25317  stk1 = S | stk2;
25318  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25319}
25320
25321/* SDTxno source/pattern opaque. */
25322static unsigned xrop3_237_0_0 (unsigned char s, unsigned char t)
25323{
25324  unsigned D = 0x00ff;
25325  unsigned S = ((unsigned)s << 8) | s;
25326  unsigned T = ((unsigned)t << 8) | t;
25327  unsigned stk1;
25328  unsigned stk2;
25329  stk2 = D ^ T;
25330  stk2 = ~stk2;
25331  stk1 = S | stk2;
25332  return stk1;
25333}
25334
25335/* SDTxno source opaque/pattern transparent. */
25336static unsigned xrop3_237_0_1 (unsigned char s, unsigned char t)
25337{
25338  unsigned D = 0x00ff;
25339  unsigned S = ((unsigned)s << 8) | s;
25340  unsigned T = ((unsigned)t << 8) | t;
25341  unsigned stk1;
25342  unsigned stk2;
25343  stk2 = D ^ T;
25344  stk2 = ~stk2;
25345  stk1 = S | stk2;
25346  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25347}
25348
25349/* SDTxno source transparent/pattern opaque. */
25350static unsigned xrop3_237_1_0 (unsigned char s, unsigned char t)
25351{
25352  unsigned D = 0x00ff;
25353  unsigned S = ((unsigned)s << 8) | s;
25354  unsigned T = ((unsigned)t << 8) | t;
25355  unsigned stk1;
25356  unsigned stk2;
25357  stk2 = D ^ T;
25358  stk2 = ~stk2;
25359  stk1 = S | stk2;
25360  return (stk1 & (~S)) | (D & S);
25361}
25362
25363/* SDTxno source/pattern transparent. */
25364static unsigned xrop3_237_1_1 (unsigned char s, unsigned char t)
25365{
25366  unsigned D = 0x00ff;
25367  unsigned S = ((unsigned)s << 8) | s;
25368  unsigned T = ((unsigned)t << 8) | t;
25369  unsigned stk1;
25370  unsigned stk2;
25371  stk2 = D ^ T;
25372  stk2 = ~stk2;
25373  stk1 = S | stk2;
25374  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25375}
25376
25377/* DSo source/pattern opaque. */
25378static void rop3_238_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25379{
25380  unsigned char stk1;
25381  stk1 = *D | S;
25382  *D = stk1;
25383}
25384
25385/* DSo source opaque/pattern transparent. */
25386static void rop3_238_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25387{
25388  unsigned char stk1;
25389  stk1 = *D | S;
25390  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25391}
25392
25393/* DSo source transparent/pattern opaque. */
25394static void rop3_238_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25395{
25396  unsigned char stk1;
25397  stk1 = *D | S;
25398  *D = (stk1 & (~S)) | (*D & S);
25399}
25400
25401/* DSo source/pattern transparent. */
25402static void rop3_238_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25403{
25404  unsigned char stk1;
25405  stk1 = *D | S;
25406  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25407}
25408
25409/* DSo source/pattern opaque. */
25410static unsigned xrop3_238_0_0 (unsigned char s, unsigned char t)
25411{
25412  unsigned D = 0x00ff;
25413  unsigned S = ((unsigned)s << 8) | s;
25414  unsigned stk1;
25415  stk1 = D | S;
25416  return stk1;
25417}
25418
25419/* DSo source opaque/pattern transparent. */
25420static unsigned xrop3_238_0_1 (unsigned char s, unsigned char t)
25421{
25422  unsigned D = 0x00ff;
25423  unsigned S = ((unsigned)s << 8) | s;
25424  unsigned T = ((unsigned)t << 8) | t;
25425  unsigned stk1;
25426  stk1 = D | S;
25427  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25428}
25429
25430/* DSo source transparent/pattern opaque. */
25431static unsigned xrop3_238_1_0 (unsigned char s, unsigned char t)
25432{
25433  unsigned D = 0x00ff;
25434  unsigned S = ((unsigned)s << 8) | s;
25435  unsigned stk1;
25436  stk1 = D | S;
25437  return (stk1 & (~S)) | (D & S);
25438}
25439
25440/* DSo source/pattern transparent. */
25441static unsigned xrop3_238_1_1 (unsigned char s, unsigned char t)
25442{
25443  unsigned D = 0x00ff;
25444  unsigned S = ((unsigned)s << 8) | s;
25445  unsigned T = ((unsigned)t << 8) | t;
25446  unsigned stk1;
25447  stk1 = D | S;
25448  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25449}
25450
25451/* SDTnoo source/pattern opaque. */
25452static void rop3_239_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25453{
25454  unsigned char stk1;
25455  unsigned char stk2;
25456  unsigned char stk3;
25457  stk3 = ~T;
25458  stk2 = *D | stk3;
25459  stk1 = S | stk2;
25460  *D = stk1;
25461}
25462
25463/* SDTnoo source opaque/pattern transparent. */
25464static void rop3_239_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25465{
25466  unsigned char stk1;
25467  unsigned char stk2;
25468  unsigned char stk3;
25469  stk3 = ~T;
25470  stk2 = *D | stk3;
25471  stk1 = S | stk2;
25472  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25473}
25474
25475/* SDTnoo source transparent/pattern opaque. */
25476static void rop3_239_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25477{
25478  unsigned char stk1;
25479  unsigned char stk2;
25480  unsigned char stk3;
25481  stk3 = ~T;
25482  stk2 = *D | stk3;
25483  stk1 = S | stk2;
25484  *D = (stk1 & (~S)) | (*D & S);
25485}
25486
25487/* SDTnoo source/pattern transparent. */
25488static void rop3_239_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25489{
25490  unsigned char stk1;
25491  unsigned char stk2;
25492  unsigned char stk3;
25493  stk3 = ~T;
25494  stk2 = *D | stk3;
25495  stk1 = S | stk2;
25496  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25497}
25498
25499/* SDTnoo source/pattern opaque. */
25500static unsigned xrop3_239_0_0 (unsigned char s, unsigned char t)
25501{
25502  unsigned D = 0x00ff;
25503  unsigned S = ((unsigned)s << 8) | s;
25504  unsigned T = ((unsigned)t << 8) | t;
25505  unsigned stk1;
25506  unsigned stk2;
25507  unsigned stk3;
25508  stk3 = ~T;
25509  stk2 = D | stk3;
25510  stk1 = S | stk2;
25511  return stk1;
25512}
25513
25514/* SDTnoo source opaque/pattern transparent. */
25515static unsigned xrop3_239_0_1 (unsigned char s, unsigned char t)
25516{
25517  unsigned D = 0x00ff;
25518  unsigned S = ((unsigned)s << 8) | s;
25519  unsigned T = ((unsigned)t << 8) | t;
25520  unsigned stk1;
25521  unsigned stk2;
25522  unsigned stk3;
25523  stk3 = ~T;
25524  stk2 = D | stk3;
25525  stk1 = S | stk2;
25526  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25527}
25528
25529/* SDTnoo source transparent/pattern opaque. */
25530static unsigned xrop3_239_1_0 (unsigned char s, unsigned char t)
25531{
25532  unsigned D = 0x00ff;
25533  unsigned S = ((unsigned)s << 8) | s;
25534  unsigned T = ((unsigned)t << 8) | t;
25535  unsigned stk1;
25536  unsigned stk2;
25537  unsigned stk3;
25538  stk3 = ~T;
25539  stk2 = D | stk3;
25540  stk1 = S | stk2;
25541  return (stk1 & (~S)) | (D & S);
25542}
25543
25544/* SDTnoo source/pattern transparent. */
25545static unsigned xrop3_239_1_1 (unsigned char s, unsigned char t)
25546{
25547  unsigned D = 0x00ff;
25548  unsigned S = ((unsigned)s << 8) | s;
25549  unsigned T = ((unsigned)t << 8) | t;
25550  unsigned stk1;
25551  unsigned stk2;
25552  unsigned stk3;
25553  stk3 = ~T;
25554  stk2 = D | stk3;
25555  stk1 = S | stk2;
25556  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25557}
25558
25559/* T source/pattern opaque. */
25560static void rop3_240_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25561{
25562  *D = T;
25563}
25564
25565/* T source opaque/pattern transparent. */
25566static void rop3_240_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25567{
25568  *D = (T & S) | (T & (~T)) | (T & (~S) & *D);
25569}
25570
25571/* T source transparent/pattern opaque. */
25572static void rop3_240_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25573{
25574  *D = (T & (~S)) | (*D & S);
25575}
25576
25577/* T source/pattern transparent. */
25578static void rop3_240_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25579{
25580  *D = (T & (~S) & (~T)) | (*D & S) | (*D & T);
25581}
25582
25583/* T source/pattern opaque. */
25584static unsigned xrop3_240_0_0 (unsigned char s, unsigned char t)
25585{
25586  unsigned T = ((unsigned)t << 8) | t;
25587  return T;
25588}
25589
25590/* T source opaque/pattern transparent. */
25591static unsigned xrop3_240_0_1 (unsigned char s, unsigned char t)
25592{
25593  unsigned D = 0x00ff;
25594  unsigned S = ((unsigned)s << 8) | s;
25595  unsigned T = ((unsigned)t << 8) | t;
25596  return (T & S) | (T & (~T)) | (T & (~S) & D);
25597}
25598
25599/* T source transparent/pattern opaque. */
25600static unsigned xrop3_240_1_0 (unsigned char s, unsigned char t)
25601{
25602  unsigned D = 0x00ff;
25603  unsigned S = ((unsigned)s << 8) | s;
25604  unsigned T = ((unsigned)t << 8) | t;
25605  return (T & (~S)) | (D & S);
25606}
25607
25608/* T source/pattern transparent. */
25609static unsigned xrop3_240_1_1 (unsigned char s, unsigned char t)
25610{
25611  unsigned D = 0x00ff;
25612  unsigned S = ((unsigned)s << 8) | s;
25613  unsigned T = ((unsigned)t << 8) | t;
25614  return (T & (~S) & (~T)) | (D & S) | (D & T);
25615}
25616
25617/* TDSono source/pattern opaque. */
25618static void rop3_241_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25619{
25620  unsigned char stk1;
25621  unsigned char stk2;
25622  stk2 = *D | S;
25623  stk2 = ~stk2;
25624  stk1 = T | stk2;
25625  *D = stk1;
25626}
25627
25628/* TDSono source opaque/pattern transparent. */
25629static void rop3_241_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25630{
25631  unsigned char stk1;
25632  unsigned char stk2;
25633  stk2 = *D | S;
25634  stk2 = ~stk2;
25635  stk1 = T | stk2;
25636  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25637}
25638
25639/* TDSono source transparent/pattern opaque. */
25640static void rop3_241_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25641{
25642  unsigned char stk1;
25643  unsigned char stk2;
25644  stk2 = *D | S;
25645  stk2 = ~stk2;
25646  stk1 = T | stk2;
25647  *D = (stk1 & (~S)) | (*D & S);
25648}
25649
25650/* TDSono source/pattern transparent. */
25651static void rop3_241_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25652{
25653  unsigned char stk1;
25654  unsigned char stk2;
25655  stk2 = *D | S;
25656  stk2 = ~stk2;
25657  stk1 = T | stk2;
25658  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25659}
25660
25661/* TDSono source/pattern opaque. */
25662static unsigned xrop3_241_0_0 (unsigned char s, unsigned char t)
25663{
25664  unsigned D = 0x00ff;
25665  unsigned S = ((unsigned)s << 8) | s;
25666  unsigned T = ((unsigned)t << 8) | t;
25667  unsigned stk1;
25668  unsigned stk2;
25669  stk2 = D | S;
25670  stk2 = ~stk2;
25671  stk1 = T | stk2;
25672  return stk1;
25673}
25674
25675/* TDSono source opaque/pattern transparent. */
25676static unsigned xrop3_241_0_1 (unsigned char s, unsigned char t)
25677{
25678  unsigned D = 0x00ff;
25679  unsigned S = ((unsigned)s << 8) | s;
25680  unsigned T = ((unsigned)t << 8) | t;
25681  unsigned stk1;
25682  unsigned stk2;
25683  stk2 = D | S;
25684  stk2 = ~stk2;
25685  stk1 = T | stk2;
25686  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25687}
25688
25689/* TDSono source transparent/pattern opaque. */
25690static unsigned xrop3_241_1_0 (unsigned char s, unsigned char t)
25691{
25692  unsigned D = 0x00ff;
25693  unsigned S = ((unsigned)s << 8) | s;
25694  unsigned T = ((unsigned)t << 8) | t;
25695  unsigned stk1;
25696  unsigned stk2;
25697  stk2 = D | S;
25698  stk2 = ~stk2;
25699  stk1 = T | stk2;
25700  return (stk1 & (~S)) | (D & S);
25701}
25702
25703/* TDSono source/pattern transparent. */
25704static unsigned xrop3_241_1_1 (unsigned char s, unsigned char t)
25705{
25706  unsigned D = 0x00ff;
25707  unsigned S = ((unsigned)s << 8) | s;
25708  unsigned T = ((unsigned)t << 8) | t;
25709  unsigned stk1;
25710  unsigned stk2;
25711  stk2 = D | S;
25712  stk2 = ~stk2;
25713  stk1 = T | stk2;
25714  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25715}
25716
25717/* TDSnao source/pattern opaque. */
25718static void rop3_242_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25719{
25720  unsigned char stk1;
25721  unsigned char stk2;
25722  unsigned char stk3;
25723  stk3 = ~S;
25724  stk2 = *D & stk3;
25725  stk1 = T | stk2;
25726  *D = stk1;
25727}
25728
25729/* TDSnao source opaque/pattern transparent. */
25730static void rop3_242_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25731{
25732  unsigned char stk1;
25733  unsigned char stk2;
25734  unsigned char stk3;
25735  stk3 = ~S;
25736  stk2 = *D & stk3;
25737  stk1 = T | stk2;
25738  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25739}
25740
25741/* TDSnao source transparent/pattern opaque. */
25742static void rop3_242_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25743{
25744  unsigned char stk1;
25745  unsigned char stk2;
25746  unsigned char stk3;
25747  stk3 = ~S;
25748  stk2 = *D & stk3;
25749  stk1 = T | stk2;
25750  *D = (stk1 & (~S)) | (*D & S);
25751}
25752
25753/* TDSnao source/pattern transparent. */
25754static void rop3_242_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25755{
25756  unsigned char stk1;
25757  unsigned char stk2;
25758  unsigned char stk3;
25759  stk3 = ~S;
25760  stk2 = *D & stk3;
25761  stk1 = T | stk2;
25762  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25763}
25764
25765/* TDSnao source/pattern opaque. */
25766static unsigned xrop3_242_0_0 (unsigned char s, unsigned char t)
25767{
25768  unsigned D = 0x00ff;
25769  unsigned S = ((unsigned)s << 8) | s;
25770  unsigned T = ((unsigned)t << 8) | t;
25771  unsigned stk1;
25772  unsigned stk2;
25773  unsigned stk3;
25774  stk3 = ~S;
25775  stk2 = D & stk3;
25776  stk1 = T | stk2;
25777  return stk1;
25778}
25779
25780/* TDSnao source opaque/pattern transparent. */
25781static unsigned xrop3_242_0_1 (unsigned char s, unsigned char t)
25782{
25783  unsigned D = 0x00ff;
25784  unsigned S = ((unsigned)s << 8) | s;
25785  unsigned T = ((unsigned)t << 8) | t;
25786  unsigned stk1;
25787  unsigned stk2;
25788  unsigned stk3;
25789  stk3 = ~S;
25790  stk2 = D & stk3;
25791  stk1 = T | stk2;
25792  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25793}
25794
25795/* TDSnao source transparent/pattern opaque. */
25796static unsigned xrop3_242_1_0 (unsigned char s, unsigned char t)
25797{
25798  unsigned D = 0x00ff;
25799  unsigned S = ((unsigned)s << 8) | s;
25800  unsigned T = ((unsigned)t << 8) | t;
25801  unsigned stk1;
25802  unsigned stk2;
25803  unsigned stk3;
25804  stk3 = ~S;
25805  stk2 = D & stk3;
25806  stk1 = T | stk2;
25807  return (stk1 & (~S)) | (D & S);
25808}
25809
25810/* TDSnao source/pattern transparent. */
25811static unsigned xrop3_242_1_1 (unsigned char s, unsigned char t)
25812{
25813  unsigned D = 0x00ff;
25814  unsigned S = ((unsigned)s << 8) | s;
25815  unsigned T = ((unsigned)t << 8) | t;
25816  unsigned stk1;
25817  unsigned stk2;
25818  unsigned stk3;
25819  stk3 = ~S;
25820  stk2 = D & stk3;
25821  stk1 = T | stk2;
25822  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25823}
25824
25825/* TSno source/pattern opaque. */
25826static void rop3_243_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25827{
25828  unsigned char stk1;
25829  unsigned char stk2;
25830  stk2 = ~S;
25831  stk1 = T | stk2;
25832  *D = stk1;
25833}
25834
25835/* TSno source opaque/pattern transparent. */
25836static void rop3_243_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25837{
25838  unsigned char stk1;
25839  unsigned char stk2;
25840  stk2 = ~S;
25841  stk1 = T | stk2;
25842  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25843}
25844
25845/* TSno source transparent/pattern opaque. */
25846static void rop3_243_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25847{
25848  unsigned char stk1;
25849  unsigned char stk2;
25850  stk2 = ~S;
25851  stk1 = T | stk2;
25852  *D = (stk1 & (~S)) | (*D & S);
25853}
25854
25855/* TSno source/pattern transparent. */
25856static void rop3_243_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25857{
25858  unsigned char stk1;
25859  unsigned char stk2;
25860  stk2 = ~S;
25861  stk1 = T | stk2;
25862  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25863}
25864
25865/* TSno source/pattern opaque. */
25866static unsigned xrop3_243_0_0 (unsigned char s, unsigned char t)
25867{
25868  unsigned S = ((unsigned)s << 8) | s;
25869  unsigned T = ((unsigned)t << 8) | t;
25870  unsigned stk1;
25871  unsigned stk2;
25872  stk2 = ~S;
25873  stk1 = T | stk2;
25874  return stk1;
25875}
25876
25877/* TSno source opaque/pattern transparent. */
25878static unsigned xrop3_243_0_1 (unsigned char s, unsigned char t)
25879{
25880  unsigned D = 0x00ff;
25881  unsigned S = ((unsigned)s << 8) | s;
25882  unsigned T = ((unsigned)t << 8) | t;
25883  unsigned stk1;
25884  unsigned stk2;
25885  stk2 = ~S;
25886  stk1 = T | stk2;
25887  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25888}
25889
25890/* TSno source transparent/pattern opaque. */
25891static unsigned xrop3_243_1_0 (unsigned char s, unsigned char t)
25892{
25893  unsigned D = 0x00ff;
25894  unsigned S = ((unsigned)s << 8) | s;
25895  unsigned T = ((unsigned)t << 8) | t;
25896  unsigned stk1;
25897  unsigned stk2;
25898  stk2 = ~S;
25899  stk1 = T | stk2;
25900  return (stk1 & (~S)) | (D & S);
25901}
25902
25903/* TSno source/pattern transparent. */
25904static unsigned xrop3_243_1_1 (unsigned char s, unsigned char t)
25905{
25906  unsigned D = 0x00ff;
25907  unsigned S = ((unsigned)s << 8) | s;
25908  unsigned T = ((unsigned)t << 8) | t;
25909  unsigned stk1;
25910  unsigned stk2;
25911  stk2 = ~S;
25912  stk1 = T | stk2;
25913  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
25914}
25915
25916/* TSDnao source/pattern opaque. */
25917static void rop3_244_0_0 (unsigned char *D, unsigned char S, unsigned char T)
25918{
25919  unsigned char stk1;
25920  unsigned char stk2;
25921  unsigned char stk3;
25922  stk3 = ~*D;
25923  stk2 = S & stk3;
25924  stk1 = T | stk2;
25925  *D = stk1;
25926}
25927
25928/* TSDnao source opaque/pattern transparent. */
25929static void rop3_244_0_1 (unsigned char *D, unsigned char S, unsigned char T)
25930{
25931  unsigned char stk1;
25932  unsigned char stk2;
25933  unsigned char stk3;
25934  stk3 = ~*D;
25935  stk2 = S & stk3;
25936  stk1 = T | stk2;
25937  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
25938}
25939
25940/* TSDnao source transparent/pattern opaque. */
25941static void rop3_244_1_0 (unsigned char *D, unsigned char S, unsigned char T)
25942{
25943  unsigned char stk1;
25944  unsigned char stk2;
25945  unsigned char stk3;
25946  stk3 = ~*D;
25947  stk2 = S & stk3;
25948  stk1 = T | stk2;
25949  *D = (stk1 & (~S)) | (*D & S);
25950}
25951
25952/* TSDnao source/pattern transparent. */
25953static void rop3_244_1_1 (unsigned char *D, unsigned char S, unsigned char T)
25954{
25955  unsigned char stk1;
25956  unsigned char stk2;
25957  unsigned char stk3;
25958  stk3 = ~*D;
25959  stk2 = S & stk3;
25960  stk1 = T | stk2;
25961  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
25962}
25963
25964/* TSDnao source/pattern opaque. */
25965static unsigned xrop3_244_0_0 (unsigned char s, unsigned char t)
25966{
25967  unsigned D = 0x00ff;
25968  unsigned S = ((unsigned)s << 8) | s;
25969  unsigned T = ((unsigned)t << 8) | t;
25970  unsigned stk1;
25971  unsigned stk2;
25972  unsigned stk3;
25973  stk3 = ~D;
25974  stk2 = S & stk3;
25975  stk1 = T | stk2;
25976  return stk1;
25977}
25978
25979/* TSDnao source opaque/pattern transparent. */
25980static unsigned xrop3_244_0_1 (unsigned char s, unsigned char t)
25981{
25982  unsigned D = 0x00ff;
25983  unsigned S = ((unsigned)s << 8) | s;
25984  unsigned T = ((unsigned)t << 8) | t;
25985  unsigned stk1;
25986  unsigned stk2;
25987  unsigned stk3;
25988  stk3 = ~D;
25989  stk2 = S & stk3;
25990  stk1 = T | stk2;
25991  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
25992}
25993
25994/* TSDnao source transparent/pattern opaque. */
25995static unsigned xrop3_244_1_0 (unsigned char s, unsigned char t)
25996{
25997  unsigned D = 0x00ff;
25998  unsigned S = ((unsigned)s << 8) | s;
25999  unsigned T = ((unsigned)t << 8) | t;
26000  unsigned stk1;
26001  unsigned stk2;
26002  unsigned stk3;
26003  stk3 = ~D;
26004  stk2 = S & stk3;
26005  stk1 = T | stk2;
26006  return (stk1 & (~S)) | (D & S);
26007}
26008
26009/* TSDnao source/pattern transparent. */
26010static unsigned xrop3_244_1_1 (unsigned char s, unsigned char t)
26011{
26012  unsigned D = 0x00ff;
26013  unsigned S = ((unsigned)s << 8) | s;
26014  unsigned T = ((unsigned)t << 8) | t;
26015  unsigned stk1;
26016  unsigned stk2;
26017  unsigned stk3;
26018  stk3 = ~D;
26019  stk2 = S & stk3;
26020  stk1 = T | stk2;
26021  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26022}
26023
26024/* TDno source/pattern opaque. */
26025static void rop3_245_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26026{
26027  unsigned char stk1;
26028  unsigned char stk2;
26029  stk2 = ~*D;
26030  stk1 = T | stk2;
26031  *D = stk1;
26032}
26033
26034/* TDno source opaque/pattern transparent. */
26035static void rop3_245_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26036{
26037  unsigned char stk1;
26038  unsigned char stk2;
26039  stk2 = ~*D;
26040  stk1 = T | stk2;
26041  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26042}
26043
26044/* TDno source transparent/pattern opaque. */
26045static void rop3_245_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26046{
26047  unsigned char stk1;
26048  unsigned char stk2;
26049  stk2 = ~*D;
26050  stk1 = T | stk2;
26051  *D = (stk1 & (~S)) | (*D & S);
26052}
26053
26054/* TDno source/pattern transparent. */
26055static void rop3_245_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26056{
26057  unsigned char stk1;
26058  unsigned char stk2;
26059  stk2 = ~*D;
26060  stk1 = T | stk2;
26061  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26062}
26063
26064/* TDno source/pattern opaque. */
26065static unsigned xrop3_245_0_0 (unsigned char s, unsigned char t)
26066{
26067  unsigned D = 0x00ff;
26068  unsigned T = ((unsigned)t << 8) | t;
26069  unsigned stk1;
26070  unsigned stk2;
26071  stk2 = ~D;
26072  stk1 = T | stk2;
26073  return stk1;
26074}
26075
26076/* TDno source opaque/pattern transparent. */
26077static unsigned xrop3_245_0_1 (unsigned char s, unsigned char t)
26078{
26079  unsigned D = 0x00ff;
26080  unsigned S = ((unsigned)s << 8) | s;
26081  unsigned T = ((unsigned)t << 8) | t;
26082  unsigned stk1;
26083  unsigned stk2;
26084  stk2 = ~D;
26085  stk1 = T | stk2;
26086  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26087}
26088
26089/* TDno source transparent/pattern opaque. */
26090static unsigned xrop3_245_1_0 (unsigned char s, unsigned char t)
26091{
26092  unsigned D = 0x00ff;
26093  unsigned S = ((unsigned)s << 8) | s;
26094  unsigned T = ((unsigned)t << 8) | t;
26095  unsigned stk1;
26096  unsigned stk2;
26097  stk2 = ~D;
26098  stk1 = T | stk2;
26099  return (stk1 & (~S)) | (D & S);
26100}
26101
26102/* TDno source/pattern transparent. */
26103static unsigned xrop3_245_1_1 (unsigned char s, unsigned char t)
26104{
26105  unsigned D = 0x00ff;
26106  unsigned S = ((unsigned)s << 8) | s;
26107  unsigned T = ((unsigned)t << 8) | t;
26108  unsigned stk1;
26109  unsigned stk2;
26110  stk2 = ~D;
26111  stk1 = T | stk2;
26112  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26113}
26114
26115/* TDSxo source/pattern opaque. */
26116static void rop3_246_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26117{
26118  unsigned char stk1;
26119  unsigned char stk2;
26120  stk2 = *D ^ S;
26121  stk1 = T | stk2;
26122  *D = stk1;
26123}
26124
26125/* TDSxo source opaque/pattern transparent. */
26126static void rop3_246_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26127{
26128  unsigned char stk1;
26129  unsigned char stk2;
26130  stk2 = *D ^ S;
26131  stk1 = T | stk2;
26132  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26133}
26134
26135/* TDSxo source transparent/pattern opaque. */
26136static void rop3_246_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26137{
26138  unsigned char stk1;
26139  unsigned char stk2;
26140  stk2 = *D ^ S;
26141  stk1 = T | stk2;
26142  *D = (stk1 & (~S)) | (*D & S);
26143}
26144
26145/* TDSxo source/pattern transparent. */
26146static void rop3_246_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26147{
26148  unsigned char stk1;
26149  unsigned char stk2;
26150  stk2 = *D ^ S;
26151  stk1 = T | stk2;
26152  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26153}
26154
26155/* TDSxo source/pattern opaque. */
26156static unsigned xrop3_246_0_0 (unsigned char s, unsigned char t)
26157{
26158  unsigned D = 0x00ff;
26159  unsigned S = ((unsigned)s << 8) | s;
26160  unsigned T = ((unsigned)t << 8) | t;
26161  unsigned stk1;
26162  unsigned stk2;
26163  stk2 = D ^ S;
26164  stk1 = T | stk2;
26165  return stk1;
26166}
26167
26168/* TDSxo source opaque/pattern transparent. */
26169static unsigned xrop3_246_0_1 (unsigned char s, unsigned char t)
26170{
26171  unsigned D = 0x00ff;
26172  unsigned S = ((unsigned)s << 8) | s;
26173  unsigned T = ((unsigned)t << 8) | t;
26174  unsigned stk1;
26175  unsigned stk2;
26176  stk2 = D ^ S;
26177  stk1 = T | stk2;
26178  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26179}
26180
26181/* TDSxo source transparent/pattern opaque. */
26182static unsigned xrop3_246_1_0 (unsigned char s, unsigned char t)
26183{
26184  unsigned D = 0x00ff;
26185  unsigned S = ((unsigned)s << 8) | s;
26186  unsigned T = ((unsigned)t << 8) | t;
26187  unsigned stk1;
26188  unsigned stk2;
26189  stk2 = D ^ S;
26190  stk1 = T | stk2;
26191  return (stk1 & (~S)) | (D & S);
26192}
26193
26194/* TDSxo source/pattern transparent. */
26195static unsigned xrop3_246_1_1 (unsigned char s, unsigned char t)
26196{
26197  unsigned D = 0x00ff;
26198  unsigned S = ((unsigned)s << 8) | s;
26199  unsigned T = ((unsigned)t << 8) | t;
26200  unsigned stk1;
26201  unsigned stk2;
26202  stk2 = D ^ S;
26203  stk1 = T | stk2;
26204  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26205}
26206
26207/* TDSano source/pattern opaque. */
26208static void rop3_247_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26209{
26210  unsigned char stk1;
26211  unsigned char stk2;
26212  stk2 = *D & S;
26213  stk2 = ~stk2;
26214  stk1 = T | stk2;
26215  *D = stk1;
26216}
26217
26218/* TDSano source opaque/pattern transparent. */
26219static void rop3_247_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26220{
26221  unsigned char stk1;
26222  unsigned char stk2;
26223  stk2 = *D & S;
26224  stk2 = ~stk2;
26225  stk1 = T | stk2;
26226  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26227}
26228
26229/* TDSano source transparent/pattern opaque. */
26230static void rop3_247_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26231{
26232  unsigned char stk1;
26233  unsigned char stk2;
26234  stk2 = *D & S;
26235  stk2 = ~stk2;
26236  stk1 = T | stk2;
26237  *D = (stk1 & (~S)) | (*D & S);
26238}
26239
26240/* TDSano source/pattern transparent. */
26241static void rop3_247_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26242{
26243  unsigned char stk1;
26244  unsigned char stk2;
26245  stk2 = *D & S;
26246  stk2 = ~stk2;
26247  stk1 = T | stk2;
26248  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26249}
26250
26251/* TDSano source/pattern opaque. */
26252static unsigned xrop3_247_0_0 (unsigned char s, unsigned char t)
26253{
26254  unsigned D = 0x00ff;
26255  unsigned S = ((unsigned)s << 8) | s;
26256  unsigned T = ((unsigned)t << 8) | t;
26257  unsigned stk1;
26258  unsigned stk2;
26259  stk2 = D & S;
26260  stk2 = ~stk2;
26261  stk1 = T | stk2;
26262  return stk1;
26263}
26264
26265/* TDSano source opaque/pattern transparent. */
26266static unsigned xrop3_247_0_1 (unsigned char s, unsigned char t)
26267{
26268  unsigned D = 0x00ff;
26269  unsigned S = ((unsigned)s << 8) | s;
26270  unsigned T = ((unsigned)t << 8) | t;
26271  unsigned stk1;
26272  unsigned stk2;
26273  stk2 = D & S;
26274  stk2 = ~stk2;
26275  stk1 = T | stk2;
26276  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26277}
26278
26279/* TDSano source transparent/pattern opaque. */
26280static unsigned xrop3_247_1_0 (unsigned char s, unsigned char t)
26281{
26282  unsigned D = 0x00ff;
26283  unsigned S = ((unsigned)s << 8) | s;
26284  unsigned T = ((unsigned)t << 8) | t;
26285  unsigned stk1;
26286  unsigned stk2;
26287  stk2 = D & S;
26288  stk2 = ~stk2;
26289  stk1 = T | stk2;
26290  return (stk1 & (~S)) | (D & S);
26291}
26292
26293/* TDSano source/pattern transparent. */
26294static unsigned xrop3_247_1_1 (unsigned char s, unsigned char t)
26295{
26296  unsigned D = 0x00ff;
26297  unsigned S = ((unsigned)s << 8) | s;
26298  unsigned T = ((unsigned)t << 8) | t;
26299  unsigned stk1;
26300  unsigned stk2;
26301  stk2 = D & S;
26302  stk2 = ~stk2;
26303  stk1 = T | stk2;
26304  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26305}
26306
26307/* TDSao source/pattern opaque. */
26308static void rop3_248_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26309{
26310  unsigned char stk1;
26311  unsigned char stk2;
26312  stk2 = *D & S;
26313  stk1 = T | stk2;
26314  *D = stk1;
26315}
26316
26317/* TDSao source opaque/pattern transparent. */
26318static void rop3_248_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26319{
26320  unsigned char stk1;
26321  unsigned char stk2;
26322  stk2 = *D & S;
26323  stk1 = T | stk2;
26324  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26325}
26326
26327/* TDSao source transparent/pattern opaque. */
26328static void rop3_248_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26329{
26330  unsigned char stk1;
26331  unsigned char stk2;
26332  stk2 = *D & S;
26333  stk1 = T | stk2;
26334  *D = (stk1 & (~S)) | (*D & S);
26335}
26336
26337/* TDSao source/pattern transparent. */
26338static void rop3_248_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26339{
26340  unsigned char stk1;
26341  unsigned char stk2;
26342  stk2 = *D & S;
26343  stk1 = T | stk2;
26344  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26345}
26346
26347/* TDSao source/pattern opaque. */
26348static unsigned xrop3_248_0_0 (unsigned char s, unsigned char t)
26349{
26350  unsigned D = 0x00ff;
26351  unsigned S = ((unsigned)s << 8) | s;
26352  unsigned T = ((unsigned)t << 8) | t;
26353  unsigned stk1;
26354  unsigned stk2;
26355  stk2 = D & S;
26356  stk1 = T | stk2;
26357  return stk1;
26358}
26359
26360/* TDSao source opaque/pattern transparent. */
26361static unsigned xrop3_248_0_1 (unsigned char s, unsigned char t)
26362{
26363  unsigned D = 0x00ff;
26364  unsigned S = ((unsigned)s << 8) | s;
26365  unsigned T = ((unsigned)t << 8) | t;
26366  unsigned stk1;
26367  unsigned stk2;
26368  stk2 = D & S;
26369  stk1 = T | stk2;
26370  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26371}
26372
26373/* TDSao source transparent/pattern opaque. */
26374static unsigned xrop3_248_1_0 (unsigned char s, unsigned char t)
26375{
26376  unsigned D = 0x00ff;
26377  unsigned S = ((unsigned)s << 8) | s;
26378  unsigned T = ((unsigned)t << 8) | t;
26379  unsigned stk1;
26380  unsigned stk2;
26381  stk2 = D & S;
26382  stk1 = T | stk2;
26383  return (stk1 & (~S)) | (D & S);
26384}
26385
26386/* TDSao source/pattern transparent. */
26387static unsigned xrop3_248_1_1 (unsigned char s, unsigned char t)
26388{
26389  unsigned D = 0x00ff;
26390  unsigned S = ((unsigned)s << 8) | s;
26391  unsigned T = ((unsigned)t << 8) | t;
26392  unsigned stk1;
26393  unsigned stk2;
26394  stk2 = D & S;
26395  stk1 = T | stk2;
26396  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26397}
26398
26399/* TDSxno source/pattern opaque. */
26400static void rop3_249_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26401{
26402  unsigned char stk1;
26403  unsigned char stk2;
26404  stk2 = *D ^ S;
26405  stk2 = ~stk2;
26406  stk1 = T | stk2;
26407  *D = stk1;
26408}
26409
26410/* TDSxno source opaque/pattern transparent. */
26411static void rop3_249_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26412{
26413  unsigned char stk1;
26414  unsigned char stk2;
26415  stk2 = *D ^ S;
26416  stk2 = ~stk2;
26417  stk1 = T | stk2;
26418  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26419}
26420
26421/* TDSxno source transparent/pattern opaque. */
26422static void rop3_249_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26423{
26424  unsigned char stk1;
26425  unsigned char stk2;
26426  stk2 = *D ^ S;
26427  stk2 = ~stk2;
26428  stk1 = T | stk2;
26429  *D = (stk1 & (~S)) | (*D & S);
26430}
26431
26432/* TDSxno source/pattern transparent. */
26433static void rop3_249_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26434{
26435  unsigned char stk1;
26436  unsigned char stk2;
26437  stk2 = *D ^ S;
26438  stk2 = ~stk2;
26439  stk1 = T | stk2;
26440  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26441}
26442
26443/* TDSxno source/pattern opaque. */
26444static unsigned xrop3_249_0_0 (unsigned char s, unsigned char t)
26445{
26446  unsigned D = 0x00ff;
26447  unsigned S = ((unsigned)s << 8) | s;
26448  unsigned T = ((unsigned)t << 8) | t;
26449  unsigned stk1;
26450  unsigned stk2;
26451  stk2 = D ^ S;
26452  stk2 = ~stk2;
26453  stk1 = T | stk2;
26454  return stk1;
26455}
26456
26457/* TDSxno source opaque/pattern transparent. */
26458static unsigned xrop3_249_0_1 (unsigned char s, unsigned char t)
26459{
26460  unsigned D = 0x00ff;
26461  unsigned S = ((unsigned)s << 8) | s;
26462  unsigned T = ((unsigned)t << 8) | t;
26463  unsigned stk1;
26464  unsigned stk2;
26465  stk2 = D ^ S;
26466  stk2 = ~stk2;
26467  stk1 = T | stk2;
26468  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26469}
26470
26471/* TDSxno source transparent/pattern opaque. */
26472static unsigned xrop3_249_1_0 (unsigned char s, unsigned char t)
26473{
26474  unsigned D = 0x00ff;
26475  unsigned S = ((unsigned)s << 8) | s;
26476  unsigned T = ((unsigned)t << 8) | t;
26477  unsigned stk1;
26478  unsigned stk2;
26479  stk2 = D ^ S;
26480  stk2 = ~stk2;
26481  stk1 = T | stk2;
26482  return (stk1 & (~S)) | (D & S);
26483}
26484
26485/* TDSxno source/pattern transparent. */
26486static unsigned xrop3_249_1_1 (unsigned char s, unsigned char t)
26487{
26488  unsigned D = 0x00ff;
26489  unsigned S = ((unsigned)s << 8) | s;
26490  unsigned T = ((unsigned)t << 8) | t;
26491  unsigned stk1;
26492  unsigned stk2;
26493  stk2 = D ^ S;
26494  stk2 = ~stk2;
26495  stk1 = T | stk2;
26496  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26497}
26498
26499/* DTo source/pattern opaque. */
26500static void rop3_250_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26501{
26502  unsigned char stk1;
26503  stk1 = *D | T;
26504  *D = stk1;
26505}
26506
26507/* DTo source opaque/pattern transparent. */
26508static void rop3_250_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26509{
26510  unsigned char stk1;
26511  stk1 = *D | T;
26512  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26513}
26514
26515/* DTo source transparent/pattern opaque. */
26516static void rop3_250_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26517{
26518  unsigned char stk1;
26519  stk1 = *D | T;
26520  *D = (stk1 & (~S)) | (*D & S);
26521}
26522
26523/* DTo source/pattern transparent. */
26524static void rop3_250_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26525{
26526  unsigned char stk1;
26527  stk1 = *D | T;
26528  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26529}
26530
26531/* DTo source/pattern opaque. */
26532static unsigned xrop3_250_0_0 (unsigned char s, unsigned char t)
26533{
26534  unsigned D = 0x00ff;
26535  unsigned T = ((unsigned)t << 8) | t;
26536  unsigned stk1;
26537  stk1 = D | T;
26538  return stk1;
26539}
26540
26541/* DTo source opaque/pattern transparent. */
26542static unsigned xrop3_250_0_1 (unsigned char s, unsigned char t)
26543{
26544  unsigned D = 0x00ff;
26545  unsigned S = ((unsigned)s << 8) | s;
26546  unsigned T = ((unsigned)t << 8) | t;
26547  unsigned stk1;
26548  stk1 = D | T;
26549  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26550}
26551
26552/* DTo source transparent/pattern opaque. */
26553static unsigned xrop3_250_1_0 (unsigned char s, unsigned char t)
26554{
26555  unsigned D = 0x00ff;
26556  unsigned S = ((unsigned)s << 8) | s;
26557  unsigned T = ((unsigned)t << 8) | t;
26558  unsigned stk1;
26559  stk1 = D | T;
26560  return (stk1 & (~S)) | (D & S);
26561}
26562
26563/* DTo source/pattern transparent. */
26564static unsigned xrop3_250_1_1 (unsigned char s, unsigned char t)
26565{
26566  unsigned D = 0x00ff;
26567  unsigned S = ((unsigned)s << 8) | s;
26568  unsigned T = ((unsigned)t << 8) | t;
26569  unsigned stk1;
26570  stk1 = D | T;
26571  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26572}
26573
26574/* DTSnoo source/pattern opaque. */
26575static void rop3_251_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26576{
26577  unsigned char stk1;
26578  unsigned char stk2;
26579  unsigned char stk3;
26580  stk3 = ~S;
26581  stk2 = T | stk3;
26582  stk1 = *D | stk2;
26583  *D = stk1;
26584}
26585
26586/* DTSnoo source opaque/pattern transparent. */
26587static void rop3_251_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26588{
26589  unsigned char stk1;
26590  unsigned char stk2;
26591  unsigned char stk3;
26592  stk3 = ~S;
26593  stk2 = T | stk3;
26594  stk1 = *D | stk2;
26595  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26596}
26597
26598/* DTSnoo source transparent/pattern opaque. */
26599static void rop3_251_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26600{
26601  unsigned char stk1;
26602  unsigned char stk2;
26603  unsigned char stk3;
26604  stk3 = ~S;
26605  stk2 = T | stk3;
26606  stk1 = *D | stk2;
26607  *D = (stk1 & (~S)) | (*D & S);
26608}
26609
26610/* DTSnoo source/pattern transparent. */
26611static void rop3_251_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26612{
26613  unsigned char stk1;
26614  unsigned char stk2;
26615  unsigned char stk3;
26616  stk3 = ~S;
26617  stk2 = T | stk3;
26618  stk1 = *D | stk2;
26619  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26620}
26621
26622/* DTSnoo source/pattern opaque. */
26623static unsigned xrop3_251_0_0 (unsigned char s, unsigned char t)
26624{
26625  unsigned D = 0x00ff;
26626  unsigned S = ((unsigned)s << 8) | s;
26627  unsigned T = ((unsigned)t << 8) | t;
26628  unsigned stk1;
26629  unsigned stk2;
26630  unsigned stk3;
26631  stk3 = ~S;
26632  stk2 = T | stk3;
26633  stk1 = D | stk2;
26634  return stk1;
26635}
26636
26637/* DTSnoo source opaque/pattern transparent. */
26638static unsigned xrop3_251_0_1 (unsigned char s, unsigned char t)
26639{
26640  unsigned D = 0x00ff;
26641  unsigned S = ((unsigned)s << 8) | s;
26642  unsigned T = ((unsigned)t << 8) | t;
26643  unsigned stk1;
26644  unsigned stk2;
26645  unsigned stk3;
26646  stk3 = ~S;
26647  stk2 = T | stk3;
26648  stk1 = D | stk2;
26649  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26650}
26651
26652/* DTSnoo source transparent/pattern opaque. */
26653static unsigned xrop3_251_1_0 (unsigned char s, unsigned char t)
26654{
26655  unsigned D = 0x00ff;
26656  unsigned S = ((unsigned)s << 8) | s;
26657  unsigned T = ((unsigned)t << 8) | t;
26658  unsigned stk1;
26659  unsigned stk2;
26660  unsigned stk3;
26661  stk3 = ~S;
26662  stk2 = T | stk3;
26663  stk1 = D | stk2;
26664  return (stk1 & (~S)) | (D & S);
26665}
26666
26667/* DTSnoo source/pattern transparent. */
26668static unsigned xrop3_251_1_1 (unsigned char s, unsigned char t)
26669{
26670  unsigned D = 0x00ff;
26671  unsigned S = ((unsigned)s << 8) | s;
26672  unsigned T = ((unsigned)t << 8) | t;
26673  unsigned stk1;
26674  unsigned stk2;
26675  unsigned stk3;
26676  stk3 = ~S;
26677  stk2 = T | stk3;
26678  stk1 = D | stk2;
26679  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26680}
26681
26682/* TSo source/pattern opaque. */
26683static void rop3_252_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26684{
26685  unsigned char stk1;
26686  stk1 = T | S;
26687  *D = stk1;
26688}
26689
26690/* TSo source opaque/pattern transparent. */
26691static void rop3_252_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26692{
26693  unsigned char stk1;
26694  stk1 = T | S;
26695  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26696}
26697
26698/* TSo source transparent/pattern opaque. */
26699static void rop3_252_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26700{
26701  unsigned char stk1;
26702  stk1 = T | S;
26703  *D = (stk1 & (~S)) | (*D & S);
26704}
26705
26706/* TSo source/pattern transparent. */
26707static void rop3_252_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26708{
26709  unsigned char stk1;
26710  stk1 = T | S;
26711  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26712}
26713
26714/* TSo source/pattern opaque. */
26715static unsigned xrop3_252_0_0 (unsigned char s, unsigned char t)
26716{
26717  unsigned S = ((unsigned)s << 8) | s;
26718  unsigned T = ((unsigned)t << 8) | t;
26719  unsigned stk1;
26720  stk1 = T | S;
26721  return stk1;
26722}
26723
26724/* TSo source opaque/pattern transparent. */
26725static unsigned xrop3_252_0_1 (unsigned char s, unsigned char t)
26726{
26727  unsigned D = 0x00ff;
26728  unsigned S = ((unsigned)s << 8) | s;
26729  unsigned T = ((unsigned)t << 8) | t;
26730  unsigned stk1;
26731  stk1 = T | S;
26732  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26733}
26734
26735/* TSo source transparent/pattern opaque. */
26736static unsigned xrop3_252_1_0 (unsigned char s, unsigned char t)
26737{
26738  unsigned D = 0x00ff;
26739  unsigned S = ((unsigned)s << 8) | s;
26740  unsigned T = ((unsigned)t << 8) | t;
26741  unsigned stk1;
26742  stk1 = T | S;
26743  return (stk1 & (~S)) | (D & S);
26744}
26745
26746/* TSo source/pattern transparent. */
26747static unsigned xrop3_252_1_1 (unsigned char s, unsigned char t)
26748{
26749  unsigned D = 0x00ff;
26750  unsigned S = ((unsigned)s << 8) | s;
26751  unsigned T = ((unsigned)t << 8) | t;
26752  unsigned stk1;
26753  stk1 = T | S;
26754  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26755}
26756
26757/* TSDnoo source/pattern opaque. */
26758static void rop3_253_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26759{
26760  unsigned char stk1;
26761  unsigned char stk2;
26762  unsigned char stk3;
26763  stk3 = ~*D;
26764  stk2 = S | stk3;
26765  stk1 = T | stk2;
26766  *D = stk1;
26767}
26768
26769/* TSDnoo source opaque/pattern transparent. */
26770static void rop3_253_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26771{
26772  unsigned char stk1;
26773  unsigned char stk2;
26774  unsigned char stk3;
26775  stk3 = ~*D;
26776  stk2 = S | stk3;
26777  stk1 = T | stk2;
26778  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26779}
26780
26781/* TSDnoo source transparent/pattern opaque. */
26782static void rop3_253_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26783{
26784  unsigned char stk1;
26785  unsigned char stk2;
26786  unsigned char stk3;
26787  stk3 = ~*D;
26788  stk2 = S | stk3;
26789  stk1 = T | stk2;
26790  *D = (stk1 & (~S)) | (*D & S);
26791}
26792
26793/* TSDnoo source/pattern transparent. */
26794static void rop3_253_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26795{
26796  unsigned char stk1;
26797  unsigned char stk2;
26798  unsigned char stk3;
26799  stk3 = ~*D;
26800  stk2 = S | stk3;
26801  stk1 = T | stk2;
26802  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26803}
26804
26805/* TSDnoo source/pattern opaque. */
26806static unsigned xrop3_253_0_0 (unsigned char s, unsigned char t)
26807{
26808  unsigned D = 0x00ff;
26809  unsigned S = ((unsigned)s << 8) | s;
26810  unsigned T = ((unsigned)t << 8) | t;
26811  unsigned stk1;
26812  unsigned stk2;
26813  unsigned stk3;
26814  stk3 = ~D;
26815  stk2 = S | stk3;
26816  stk1 = T | stk2;
26817  return stk1;
26818}
26819
26820/* TSDnoo source opaque/pattern transparent. */
26821static unsigned xrop3_253_0_1 (unsigned char s, unsigned char t)
26822{
26823  unsigned D = 0x00ff;
26824  unsigned S = ((unsigned)s << 8) | s;
26825  unsigned T = ((unsigned)t << 8) | t;
26826  unsigned stk1;
26827  unsigned stk2;
26828  unsigned stk3;
26829  stk3 = ~D;
26830  stk2 = S | stk3;
26831  stk1 = T | stk2;
26832  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26833}
26834
26835/* TSDnoo source transparent/pattern opaque. */
26836static unsigned xrop3_253_1_0 (unsigned char s, unsigned char t)
26837{
26838  unsigned D = 0x00ff;
26839  unsigned S = ((unsigned)s << 8) | s;
26840  unsigned T = ((unsigned)t << 8) | t;
26841  unsigned stk1;
26842  unsigned stk2;
26843  unsigned stk3;
26844  stk3 = ~D;
26845  stk2 = S | stk3;
26846  stk1 = T | stk2;
26847  return (stk1 & (~S)) | (D & S);
26848}
26849
26850/* TSDnoo source/pattern transparent. */
26851static unsigned xrop3_253_1_1 (unsigned char s, unsigned char t)
26852{
26853  unsigned D = 0x00ff;
26854  unsigned S = ((unsigned)s << 8) | s;
26855  unsigned T = ((unsigned)t << 8) | t;
26856  unsigned stk1;
26857  unsigned stk2;
26858  unsigned stk3;
26859  stk3 = ~D;
26860  stk2 = S | stk3;
26861  stk1 = T | stk2;
26862  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26863}
26864
26865/* DTSoo source/pattern opaque. */
26866static void rop3_254_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26867{
26868  unsigned char stk1;
26869  unsigned char stk2;
26870  stk2 = T | S;
26871  stk1 = *D | stk2;
26872  *D = stk1;
26873}
26874
26875/* DTSoo source opaque/pattern transparent. */
26876static void rop3_254_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26877{
26878  unsigned char stk1;
26879  unsigned char stk2;
26880  stk2 = T | S;
26881  stk1 = *D | stk2;
26882  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26883}
26884
26885/* DTSoo source transparent/pattern opaque. */
26886static void rop3_254_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26887{
26888  unsigned char stk1;
26889  unsigned char stk2;
26890  stk2 = T | S;
26891  stk1 = *D | stk2;
26892  *D = (stk1 & (~S)) | (*D & S);
26893}
26894
26895/* DTSoo source/pattern transparent. */
26896static void rop3_254_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26897{
26898  unsigned char stk1;
26899  unsigned char stk2;
26900  stk2 = T | S;
26901  stk1 = *D | stk2;
26902  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26903}
26904
26905/* DTSoo source/pattern opaque. */
26906static unsigned xrop3_254_0_0 (unsigned char s, unsigned char t)
26907{
26908  unsigned D = 0x00ff;
26909  unsigned S = ((unsigned)s << 8) | s;
26910  unsigned T = ((unsigned)t << 8) | t;
26911  unsigned stk1;
26912  unsigned stk2;
26913  stk2 = T | S;
26914  stk1 = D | stk2;
26915  return stk1;
26916}
26917
26918/* DTSoo source opaque/pattern transparent. */
26919static unsigned xrop3_254_0_1 (unsigned char s, unsigned char t)
26920{
26921  unsigned D = 0x00ff;
26922  unsigned S = ((unsigned)s << 8) | s;
26923  unsigned T = ((unsigned)t << 8) | t;
26924  unsigned stk1;
26925  unsigned stk2;
26926  stk2 = T | S;
26927  stk1 = D | stk2;
26928  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
26929}
26930
26931/* DTSoo source transparent/pattern opaque. */
26932static unsigned xrop3_254_1_0 (unsigned char s, unsigned char t)
26933{
26934  unsigned D = 0x00ff;
26935  unsigned S = ((unsigned)s << 8) | s;
26936  unsigned T = ((unsigned)t << 8) | t;
26937  unsigned stk1;
26938  unsigned stk2;
26939  stk2 = T | S;
26940  stk1 = D | stk2;
26941  return (stk1 & (~S)) | (D & S);
26942}
26943
26944/* DTSoo source/pattern transparent. */
26945static unsigned xrop3_254_1_1 (unsigned char s, unsigned char t)
26946{
26947  unsigned D = 0x00ff;
26948  unsigned S = ((unsigned)s << 8) | s;
26949  unsigned T = ((unsigned)t << 8) | t;
26950  unsigned stk1;
26951  unsigned stk2;
26952  stk2 = T | S;
26953  stk1 = D | stk2;
26954  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
26955}
26956
26957/* 1 source/pattern opaque. */
26958static void rop3_255_0_0 (unsigned char *D, unsigned char S, unsigned char T)
26959{
26960  unsigned char stk1;
26961  stk1 = 255;
26962  *D = stk1;
26963}
26964
26965/* 1 source opaque/pattern transparent. */
26966static void rop3_255_0_1 (unsigned char *D, unsigned char S, unsigned char T)
26967{
26968  unsigned char stk1;
26969  stk1 = 255;
26970  *D = (stk1 & S) | (stk1 & (~T)) | (T & (~S) & *D);
26971}
26972
26973/* 1 source transparent/pattern opaque. */
26974static void rop3_255_1_0 (unsigned char *D, unsigned char S, unsigned char T)
26975{
26976  unsigned char stk1;
26977  stk1 = 255;
26978  *D = (stk1 & (~S)) | (*D & S);
26979}
26980
26981/* 1 source/pattern transparent. */
26982static void rop3_255_1_1 (unsigned char *D, unsigned char S, unsigned char T)
26983{
26984  unsigned char stk1;
26985  stk1 = 255;
26986  *D = (stk1 & (~S) & (~T)) | (*D & S) | (*D & T);
26987}
26988
26989/* 1 source/pattern opaque. */
26990static unsigned xrop3_255_0_0 (unsigned char s, unsigned char t)
26991{
26992  unsigned stk1;
26993  stk1 = 0xffff;
26994  return stk1;
26995}
26996
26997/* 1 source opaque/pattern transparent. */
26998static unsigned xrop3_255_0_1 (unsigned char s, unsigned char t)
26999{
27000  unsigned D = 0x00ff;
27001  unsigned S = ((unsigned)s << 8) | s;
27002  unsigned T = ((unsigned)t << 8) | t;
27003  unsigned stk1;
27004  stk1 = 0xffff;
27005  return (stk1 & S) | (stk1 & (~T)) | (T & (~S) & D);
27006}
27007
27008/* 1 source transparent/pattern opaque. */
27009static unsigned xrop3_255_1_0 (unsigned char s, unsigned char t)
27010{
27011  unsigned D = 0x00ff;
27012  unsigned S = ((unsigned)s << 8) | s;
27013  unsigned stk1;
27014  stk1 = 0xffff;
27015  return (stk1 & (~S)) | (D & S);
27016}
27017
27018/* 1 source/pattern transparent. */
27019static unsigned xrop3_255_1_1 (unsigned char s, unsigned char t)
27020{
27021  unsigned D = 0x00ff;
27022  unsigned S = ((unsigned)s << 8) | s;
27023  unsigned T = ((unsigned)t << 8) | t;
27024  unsigned stk1;
27025  stk1 = 0xffff;
27026  return (stk1 & (~S) & (~T)) | (D & S) | (D & T);
27027}
27028
27029static hpgs_rop3_func_t rop3_table[][2][2] = {
27030  {{rop3_0_0_0,rop3_0_0_1},{rop3_0_1_0,rop3_0_1_1}},
27031  {{rop3_1_0_0,rop3_1_0_1},{rop3_1_1_0,rop3_1_1_1}},
27032  {{rop3_2_0_0,rop3_2_0_1},{rop3_2_1_0,rop3_2_1_1}},
27033  {{rop3_3_0_0,rop3_3_0_1},{rop3_3_1_0,rop3_3_1_1}},
27034  {{rop3_4_0_0,rop3_4_0_1},{rop3_4_1_0,rop3_4_1_1}},
27035  {{rop3_5_0_0,rop3_5_0_1},{rop3_5_1_0,rop3_5_1_1}},
27036  {{rop3_6_0_0,rop3_6_0_1},{rop3_6_1_0,rop3_6_1_1}},
27037  {{rop3_7_0_0,rop3_7_0_1},{rop3_7_1_0,rop3_7_1_1}},
27038  {{rop3_8_0_0,rop3_8_0_1},{rop3_8_1_0,rop3_8_1_1}},
27039  {{rop3_9_0_0,rop3_9_0_1},{rop3_9_1_0,rop3_9_1_1}},
27040  {{rop3_10_0_0,rop3_10_0_1},{rop3_10_1_0,rop3_10_1_1}},
27041  {{rop3_11_0_0,rop3_11_0_1},{rop3_11_1_0,rop3_11_1_1}},
27042  {{rop3_12_0_0,rop3_12_0_1},{rop3_12_1_0,rop3_12_1_1}},
27043  {{rop3_13_0_0,rop3_13_0_1},{rop3_13_1_0,rop3_13_1_1}},
27044  {{rop3_14_0_0,rop3_14_0_1},{rop3_14_1_0,rop3_14_1_1}},
27045  {{rop3_15_0_0,rop3_15_0_1},{rop3_15_1_0,rop3_15_1_1}},
27046  {{rop3_16_0_0,rop3_16_0_1},{rop3_16_1_0,rop3_16_1_1}},
27047  {{rop3_17_0_0,rop3_17_0_1},{rop3_17_1_0,rop3_17_1_1}},
27048  {{rop3_18_0_0,rop3_18_0_1},{rop3_18_1_0,rop3_18_1_1}},
27049  {{rop3_19_0_0,rop3_19_0_1},{rop3_19_1_0,rop3_19_1_1}},
27050  {{rop3_20_0_0,rop3_20_0_1},{rop3_20_1_0,rop3_20_1_1}},
27051  {{rop3_21_0_0,rop3_21_0_1},{rop3_21_1_0,rop3_21_1_1}},
27052  {{rop3_22_0_0,rop3_22_0_1},{rop3_22_1_0,rop3_22_1_1}},
27053  {{rop3_23_0_0,rop3_23_0_1},{rop3_23_1_0,rop3_23_1_1}},
27054  {{rop3_24_0_0,rop3_24_0_1},{rop3_24_1_0,rop3_24_1_1}},
27055  {{rop3_25_0_0,rop3_25_0_1},{rop3_25_1_0,rop3_25_1_1}},
27056  {{rop3_26_0_0,rop3_26_0_1},{rop3_26_1_0,rop3_26_1_1}},
27057  {{rop3_27_0_0,rop3_27_0_1},{rop3_27_1_0,rop3_27_1_1}},
27058  {{rop3_28_0_0,rop3_28_0_1},{rop3_28_1_0,rop3_28_1_1}},
27059  {{rop3_29_0_0,rop3_29_0_1},{rop3_29_1_0,rop3_29_1_1}},
27060  {{rop3_30_0_0,rop3_30_0_1},{rop3_30_1_0,rop3_30_1_1}},
27061  {{rop3_31_0_0,rop3_31_0_1},{rop3_31_1_0,rop3_31_1_1}},
27062  {{rop3_32_0_0,rop3_32_0_1},{rop3_32_1_0,rop3_32_1_1}},
27063  {{rop3_33_0_0,rop3_33_0_1},{rop3_33_1_0,rop3_33_1_1}},
27064  {{rop3_34_0_0,rop3_34_0_1},{rop3_34_1_0,rop3_34_1_1}},
27065  {{rop3_35_0_0,rop3_35_0_1},{rop3_35_1_0,rop3_35_1_1}},
27066  {{rop3_36_0_0,rop3_36_0_1},{rop3_36_1_0,rop3_36_1_1}},
27067  {{rop3_37_0_0,rop3_37_0_1},{rop3_37_1_0,rop3_37_1_1}},
27068  {{rop3_38_0_0,rop3_38_0_1},{rop3_38_1_0,rop3_38_1_1}},
27069  {{rop3_39_0_0,rop3_39_0_1},{rop3_39_1_0,rop3_39_1_1}},
27070  {{rop3_40_0_0,rop3_40_0_1},{rop3_40_1_0,rop3_40_1_1}},
27071  {{rop3_41_0_0,rop3_41_0_1},{rop3_41_1_0,rop3_41_1_1}},
27072  {{rop3_42_0_0,rop3_42_0_1},{rop3_42_1_0,rop3_42_1_1}},
27073  {{rop3_43_0_0,rop3_43_0_1},{rop3_43_1_0,rop3_43_1_1}},
27074  {{rop3_44_0_0,rop3_44_0_1},{rop3_44_1_0,rop3_44_1_1}},
27075  {{rop3_45_0_0,rop3_45_0_1},{rop3_45_1_0,rop3_45_1_1}},
27076  {{rop3_46_0_0,rop3_46_0_1},{rop3_46_1_0,rop3_46_1_1}},
27077  {{rop3_47_0_0,rop3_47_0_1},{rop3_47_1_0,rop3_47_1_1}},
27078  {{rop3_48_0_0,rop3_48_0_1},{rop3_48_1_0,rop3_48_1_1}},
27079  {{rop3_49_0_0,rop3_49_0_1},{rop3_49_1_0,rop3_49_1_1}},
27080  {{rop3_50_0_0,rop3_50_0_1},{rop3_50_1_0,rop3_50_1_1}},
27081  {{rop3_51_0_0,rop3_51_0_1},{rop3_51_1_0,rop3_51_1_1}},
27082  {{rop3_52_0_0,rop3_52_0_1},{rop3_52_1_0,rop3_52_1_1}},
27083  {{rop3_53_0_0,rop3_53_0_1},{rop3_53_1_0,rop3_53_1_1}},
27084  {{rop3_54_0_0,rop3_54_0_1},{rop3_54_1_0,rop3_54_1_1}},
27085  {{rop3_55_0_0,rop3_55_0_1},{rop3_55_1_0,rop3_55_1_1}},
27086  {{rop3_56_0_0,rop3_56_0_1},{rop3_56_1_0,rop3_56_1_1}},
27087  {{rop3_57_0_0,rop3_57_0_1},{rop3_57_1_0,rop3_57_1_1}},
27088  {{rop3_58_0_0,rop3_58_0_1},{rop3_58_1_0,rop3_58_1_1}},
27089  {{rop3_59_0_0,rop3_59_0_1},{rop3_59_1_0,rop3_59_1_1}},
27090  {{rop3_60_0_0,rop3_60_0_1},{rop3_60_1_0,rop3_60_1_1}},
27091  {{rop3_61_0_0,rop3_61_0_1},{rop3_61_1_0,rop3_61_1_1}},
27092  {{rop3_62_0_0,rop3_62_0_1},{rop3_62_1_0,rop3_62_1_1}},
27093  {{rop3_63_0_0,rop3_63_0_1},{rop3_63_1_0,rop3_63_1_1}},
27094  {{rop3_64_0_0,rop3_64_0_1},{rop3_64_1_0,rop3_64_1_1}},
27095  {{rop3_65_0_0,rop3_65_0_1},{rop3_65_1_0,rop3_65_1_1}},
27096  {{rop3_66_0_0,rop3_66_0_1},{rop3_66_1_0,rop3_66_1_1}},
27097  {{rop3_67_0_0,rop3_67_0_1},{rop3_67_1_0,rop3_67_1_1}},
27098  {{rop3_68_0_0,rop3_68_0_1},{rop3_68_1_0,rop3_68_1_1}},
27099  {{rop3_69_0_0,rop3_69_0_1},{rop3_69_1_0,rop3_69_1_1}},
27100  {{rop3_70_0_0,rop3_70_0_1},{rop3_70_1_0,rop3_70_1_1}},
27101  {{rop3_71_0_0,rop3_71_0_1},{rop3_71_1_0,rop3_71_1_1}},
27102  {{rop3_72_0_0,rop3_72_0_1},{rop3_72_1_0,rop3_72_1_1}},
27103  {{rop3_73_0_0,rop3_73_0_1},{rop3_73_1_0,rop3_73_1_1}},
27104  {{rop3_74_0_0,rop3_74_0_1},{rop3_74_1_0,rop3_74_1_1}},
27105  {{rop3_75_0_0,rop3_75_0_1},{rop3_75_1_0,rop3_75_1_1}},
27106  {{rop3_76_0_0,rop3_76_0_1},{rop3_76_1_0,rop3_76_1_1}},
27107  {{rop3_77_0_0,rop3_77_0_1},{rop3_77_1_0,rop3_77_1_1}},
27108  {{rop3_78_0_0,rop3_78_0_1},{rop3_78_1_0,rop3_78_1_1}},
27109  {{rop3_79_0_0,rop3_79_0_1},{rop3_79_1_0,rop3_79_1_1}},
27110  {{rop3_80_0_0,rop3_80_0_1},{rop3_80_1_0,rop3_80_1_1}},
27111  {{rop3_81_0_0,rop3_81_0_1},{rop3_81_1_0,rop3_81_1_1}},
27112  {{rop3_82_0_0,rop3_82_0_1},{rop3_82_1_0,rop3_82_1_1}},
27113  {{rop3_83_0_0,rop3_83_0_1},{rop3_83_1_0,rop3_83_1_1}},
27114  {{rop3_84_0_0,rop3_84_0_1},{rop3_84_1_0,rop3_84_1_1}},
27115  {{rop3_85_0_0,rop3_85_0_1},{rop3_85_1_0,rop3_85_1_1}},
27116  {{rop3_86_0_0,rop3_86_0_1},{rop3_86_1_0,rop3_86_1_1}},
27117  {{rop3_87_0_0,rop3_87_0_1},{rop3_87_1_0,rop3_87_1_1}},
27118  {{rop3_88_0_0,rop3_88_0_1},{rop3_88_1_0,rop3_88_1_1}},
27119  {{rop3_89_0_0,rop3_89_0_1},{rop3_89_1_0,rop3_89_1_1}},
27120  {{rop3_90_0_0,rop3_90_0_1},{rop3_90_1_0,rop3_90_1_1}},
27121  {{rop3_91_0_0,rop3_91_0_1},{rop3_91_1_0,rop3_91_1_1}},
27122  {{rop3_92_0_0,rop3_92_0_1},{rop3_92_1_0,rop3_92_1_1}},
27123  {{rop3_93_0_0,rop3_93_0_1},{rop3_93_1_0,rop3_93_1_1}},
27124  {{rop3_94_0_0,rop3_94_0_1},{rop3_94_1_0,rop3_94_1_1}},
27125  {{rop3_95_0_0,rop3_95_0_1},{rop3_95_1_0,rop3_95_1_1}},
27126  {{rop3_96_0_0,rop3_96_0_1},{rop3_96_1_0,rop3_96_1_1}},
27127  {{rop3_97_0_0,rop3_97_0_1},{rop3_97_1_0,rop3_97_1_1}},
27128  {{rop3_98_0_0,rop3_98_0_1},{rop3_98_1_0,rop3_98_1_1}},
27129  {{rop3_99_0_0,rop3_99_0_1},{rop3_99_1_0,rop3_99_1_1}},
27130  {{rop3_100_0_0,rop3_100_0_1},{rop3_100_1_0,rop3_100_1_1}},
27131  {{rop3_101_0_0,rop3_101_0_1},{rop3_101_1_0,rop3_101_1_1}},
27132  {{rop3_102_0_0,rop3_102_0_1},{rop3_102_1_0,rop3_102_1_1}},
27133  {{rop3_103_0_0,rop3_103_0_1},{rop3_103_1_0,rop3_103_1_1}},
27134  {{rop3_104_0_0,rop3_104_0_1},{rop3_104_1_0,rop3_104_1_1}},
27135  {{rop3_105_0_0,rop3_105_0_1},{rop3_105_1_0,rop3_105_1_1}},
27136  {{rop3_106_0_0,rop3_106_0_1},{rop3_106_1_0,rop3_106_1_1}},
27137  {{rop3_107_0_0,rop3_107_0_1},{rop3_107_1_0,rop3_107_1_1}},
27138  {{rop3_108_0_0,rop3_108_0_1},{rop3_108_1_0,rop3_108_1_1}},
27139  {{rop3_109_0_0,rop3_109_0_1},{rop3_109_1_0,rop3_109_1_1}},
27140  {{rop3_110_0_0,rop3_110_0_1},{rop3_110_1_0,rop3_110_1_1}},
27141  {{rop3_111_0_0,rop3_111_0_1},{rop3_111_1_0,rop3_111_1_1}},
27142  {{rop3_112_0_0,rop3_112_0_1},{rop3_112_1_0,rop3_112_1_1}},
27143  {{rop3_113_0_0,rop3_113_0_1},{rop3_113_1_0,rop3_113_1_1}},
27144  {{rop3_114_0_0,rop3_114_0_1},{rop3_114_1_0,rop3_114_1_1}},
27145  {{rop3_115_0_0,rop3_115_0_1},{rop3_115_1_0,rop3_115_1_1}},
27146  {{rop3_116_0_0,rop3_116_0_1},{rop3_116_1_0,rop3_116_1_1}},
27147  {{rop3_117_0_0,rop3_117_0_1},{rop3_117_1_0,rop3_117_1_1}},
27148  {{rop3_118_0_0,rop3_118_0_1},{rop3_118_1_0,rop3_118_1_1}},
27149  {{rop3_119_0_0,rop3_119_0_1},{rop3_119_1_0,rop3_119_1_1}},
27150  {{rop3_120_0_0,rop3_120_0_1},{rop3_120_1_0,rop3_120_1_1}},
27151  {{rop3_121_0_0,rop3_121_0_1},{rop3_121_1_0,rop3_121_1_1}},
27152  {{rop3_122_0_0,rop3_122_0_1},{rop3_122_1_0,rop3_122_1_1}},
27153  {{rop3_123_0_0,rop3_123_0_1},{rop3_123_1_0,rop3_123_1_1}},
27154  {{rop3_124_0_0,rop3_124_0_1},{rop3_124_1_0,rop3_124_1_1}},
27155  {{rop3_125_0_0,rop3_125_0_1},{rop3_125_1_0,rop3_125_1_1}},
27156  {{rop3_126_0_0,rop3_126_0_1},{rop3_126_1_0,rop3_126_1_1}},
27157  {{rop3_127_0_0,rop3_127_0_1},{rop3_127_1_0,rop3_127_1_1}},
27158  {{rop3_128_0_0,rop3_128_0_1},{rop3_128_1_0,rop3_128_1_1}},
27159  {{rop3_129_0_0,rop3_129_0_1},{rop3_129_1_0,rop3_129_1_1}},
27160  {{rop3_130_0_0,rop3_130_0_1},{rop3_130_1_0,rop3_130_1_1}},
27161  {{rop3_131_0_0,rop3_131_0_1},{rop3_131_1_0,rop3_131_1_1}},
27162  {{rop3_132_0_0,rop3_132_0_1},{rop3_132_1_0,rop3_132_1_1}},
27163  {{rop3_133_0_0,rop3_133_0_1},{rop3_133_1_0,rop3_133_1_1}},
27164  {{rop3_134_0_0,rop3_134_0_1},{rop3_134_1_0,rop3_134_1_1}},
27165  {{rop3_135_0_0,rop3_135_0_1},{rop3_135_1_0,rop3_135_1_1}},
27166  {{rop3_136_0_0,rop3_136_0_1},{rop3_136_1_0,rop3_136_1_1}},
27167  {{rop3_137_0_0,rop3_137_0_1},{rop3_137_1_0,rop3_137_1_1}},
27168  {{rop3_138_0_0,rop3_138_0_1},{rop3_138_1_0,rop3_138_1_1}},
27169  {{rop3_139_0_0,rop3_139_0_1},{rop3_139_1_0,rop3_139_1_1}},
27170  {{rop3_140_0_0,rop3_140_0_1},{rop3_140_1_0,rop3_140_1_1}},
27171  {{rop3_141_0_0,rop3_141_0_1},{rop3_141_1_0,rop3_141_1_1}},
27172  {{rop3_142_0_0,rop3_142_0_1},{rop3_142_1_0,rop3_142_1_1}},
27173  {{rop3_143_0_0,rop3_143_0_1},{rop3_143_1_0,rop3_143_1_1}},
27174  {{rop3_144_0_0,rop3_144_0_1},{rop3_144_1_0,rop3_144_1_1}},
27175  {{rop3_145_0_0,rop3_145_0_1},{rop3_145_1_0,rop3_145_1_1}},
27176  {{rop3_146_0_0,rop3_146_0_1},{rop3_146_1_0,rop3_146_1_1}},
27177  {{rop3_147_0_0,rop3_147_0_1},{rop3_147_1_0,rop3_147_1_1}},
27178  {{rop3_148_0_0,rop3_148_0_1},{rop3_148_1_0,rop3_148_1_1}},
27179  {{rop3_149_0_0,rop3_149_0_1},{rop3_149_1_0,rop3_149_1_1}},
27180  {{rop3_150_0_0,rop3_150_0_1},{rop3_150_1_0,rop3_150_1_1}},
27181  {{rop3_151_0_0,rop3_151_0_1},{rop3_151_1_0,rop3_151_1_1}},
27182  {{rop3_152_0_0,rop3_152_0_1},{rop3_152_1_0,rop3_152_1_1}},
27183  {{rop3_153_0_0,rop3_153_0_1},{rop3_153_1_0,rop3_153_1_1}},
27184  {{rop3_154_0_0,rop3_154_0_1},{rop3_154_1_0,rop3_154_1_1}},
27185  {{rop3_155_0_0,rop3_155_0_1},{rop3_155_1_0,rop3_155_1_1}},
27186  {{rop3_156_0_0,rop3_156_0_1},{rop3_156_1_0,rop3_156_1_1}},
27187  {{rop3_157_0_0,rop3_157_0_1},{rop3_157_1_0,rop3_157_1_1}},
27188  {{rop3_158_0_0,rop3_158_0_1},{rop3_158_1_0,rop3_158_1_1}},
27189  {{rop3_159_0_0,rop3_159_0_1},{rop3_159_1_0,rop3_159_1_1}},
27190  {{rop3_160_0_0,rop3_160_0_1},{rop3_160_1_0,rop3_160_1_1}},
27191  {{rop3_161_0_0,rop3_161_0_1},{rop3_161_1_0,rop3_161_1_1}},
27192  {{rop3_162_0_0,rop3_162_0_1},{rop3_162_1_0,rop3_162_1_1}},
27193  {{rop3_163_0_0,rop3_163_0_1},{rop3_163_1_0,rop3_163_1_1}},
27194  {{rop3_164_0_0,rop3_164_0_1},{rop3_164_1_0,rop3_164_1_1}},
27195  {{rop3_165_0_0,rop3_165_0_1},{rop3_165_1_0,rop3_165_1_1}},
27196  {{rop3_166_0_0,rop3_166_0_1},{rop3_166_1_0,rop3_166_1_1}},
27197  {{rop3_167_0_0,rop3_167_0_1},{rop3_167_1_0,rop3_167_1_1}},
27198  {{rop3_168_0_0,rop3_168_0_1},{rop3_168_1_0,rop3_168_1_1}},
27199  {{rop3_169_0_0,rop3_169_0_1},{rop3_169_1_0,rop3_169_1_1}},
27200  {{rop3_170_0_0,rop3_170_0_1},{rop3_170_1_0,rop3_170_1_1}},
27201  {{rop3_171_0_0,rop3_171_0_1},{rop3_171_1_0,rop3_171_1_1}},
27202  {{rop3_172_0_0,rop3_172_0_1},{rop3_172_1_0,rop3_172_1_1}},
27203  {{rop3_173_0_0,rop3_173_0_1},{rop3_173_1_0,rop3_173_1_1}},
27204  {{rop3_174_0_0,rop3_174_0_1},{rop3_174_1_0,rop3_174_1_1}},
27205  {{rop3_175_0_0,rop3_175_0_1},{rop3_175_1_0,rop3_175_1_1}},
27206  {{rop3_176_0_0,rop3_176_0_1},{rop3_176_1_0,rop3_176_1_1}},
27207  {{rop3_177_0_0,rop3_177_0_1},{rop3_177_1_0,rop3_177_1_1}},
27208  {{rop3_178_0_0,rop3_178_0_1},{rop3_178_1_0,rop3_178_1_1}},
27209  {{rop3_179_0_0,rop3_179_0_1},{rop3_179_1_0,rop3_179_1_1}},
27210  {{rop3_180_0_0,rop3_180_0_1},{rop3_180_1_0,rop3_180_1_1}},
27211  {{rop3_181_0_0,rop3_181_0_1},{rop3_181_1_0,rop3_181_1_1}},
27212  {{rop3_182_0_0,rop3_182_0_1},{rop3_182_1_0,rop3_182_1_1}},
27213  {{rop3_183_0_0,rop3_183_0_1},{rop3_183_1_0,rop3_183_1_1}},
27214  {{rop3_184_0_0,rop3_184_0_1},{rop3_184_1_0,rop3_184_1_1}},
27215  {{rop3_185_0_0,rop3_185_0_1},{rop3_185_1_0,rop3_185_1_1}},
27216  {{rop3_186_0_0,rop3_186_0_1},{rop3_186_1_0,rop3_186_1_1}},
27217  {{rop3_187_0_0,rop3_187_0_1},{rop3_187_1_0,rop3_187_1_1}},
27218  {{rop3_188_0_0,rop3_188_0_1},{rop3_188_1_0,rop3_188_1_1}},
27219  {{rop3_189_0_0,rop3_189_0_1},{rop3_189_1_0,rop3_189_1_1}},
27220  {{rop3_190_0_0,rop3_190_0_1},{rop3_190_1_0,rop3_190_1_1}},
27221  {{rop3_191_0_0,rop3_191_0_1},{rop3_191_1_0,rop3_191_1_1}},
27222  {{rop3_192_0_0,rop3_192_0_1},{rop3_192_1_0,rop3_192_1_1}},
27223  {{rop3_193_0_0,rop3_193_0_1},{rop3_193_1_0,rop3_193_1_1}},
27224  {{rop3_194_0_0,rop3_194_0_1},{rop3_194_1_0,rop3_194_1_1}},
27225  {{rop3_195_0_0,rop3_195_0_1},{rop3_195_1_0,rop3_195_1_1}},
27226  {{rop3_196_0_0,rop3_196_0_1},{rop3_196_1_0,rop3_196_1_1}},
27227  {{rop3_197_0_0,rop3_197_0_1},{rop3_197_1_0,rop3_197_1_1}},
27228  {{rop3_198_0_0,rop3_198_0_1},{rop3_198_1_0,rop3_198_1_1}},
27229  {{rop3_199_0_0,rop3_199_0_1},{rop3_199_1_0,rop3_199_1_1}},
27230  {{rop3_200_0_0,rop3_200_0_1},{rop3_200_1_0,rop3_200_1_1}},
27231  {{rop3_201_0_0,rop3_201_0_1},{rop3_201_1_0,rop3_201_1_1}},
27232  {{rop3_202_0_0,rop3_202_0_1},{rop3_202_1_0,rop3_202_1_1}},
27233  {{rop3_203_0_0,rop3_203_0_1},{rop3_203_1_0,rop3_203_1_1}},
27234  {{rop3_204_0_0,rop3_204_0_1},{rop3_204_1_0,rop3_204_1_1}},
27235  {{rop3_205_0_0,rop3_205_0_1},{rop3_205_1_0,rop3_205_1_1}},
27236  {{rop3_206_0_0,rop3_206_0_1},{rop3_206_1_0,rop3_206_1_1}},
27237  {{rop3_207_0_0,rop3_207_0_1},{rop3_207_1_0,rop3_207_1_1}},
27238  {{rop3_208_0_0,rop3_208_0_1},{rop3_208_1_0,rop3_208_1_1}},
27239  {{rop3_209_0_0,rop3_209_0_1},{rop3_209_1_0,rop3_209_1_1}},
27240  {{rop3_210_0_0,rop3_210_0_1},{rop3_210_1_0,rop3_210_1_1}},
27241  {{rop3_211_0_0,rop3_211_0_1},{rop3_211_1_0,rop3_211_1_1}},
27242  {{rop3_212_0_0,rop3_212_0_1},{rop3_212_1_0,rop3_212_1_1}},
27243  {{rop3_213_0_0,rop3_213_0_1},{rop3_213_1_0,rop3_213_1_1}},
27244  {{rop3_214_0_0,rop3_214_0_1},{rop3_214_1_0,rop3_214_1_1}},
27245  {{rop3_215_0_0,rop3_215_0_1},{rop3_215_1_0,rop3_215_1_1}},
27246  {{rop3_216_0_0,rop3_216_0_1},{rop3_216_1_0,rop3_216_1_1}},
27247  {{rop3_217_0_0,rop3_217_0_1},{rop3_217_1_0,rop3_217_1_1}},
27248  {{rop3_218_0_0,rop3_218_0_1},{rop3_218_1_0,rop3_218_1_1}},
27249  {{rop3_219_0_0,rop3_219_0_1},{rop3_219_1_0,rop3_219_1_1}},
27250  {{rop3_220_0_0,rop3_220_0_1},{rop3_220_1_0,rop3_220_1_1}},
27251  {{rop3_221_0_0,rop3_221_0_1},{rop3_221_1_0,rop3_221_1_1}},
27252  {{rop3_222_0_0,rop3_222_0_1},{rop3_222_1_0,rop3_222_1_1}},
27253  {{rop3_223_0_0,rop3_223_0_1},{rop3_223_1_0,rop3_223_1_1}},
27254  {{rop3_224_0_0,rop3_224_0_1},{rop3_224_1_0,rop3_224_1_1}},
27255  {{rop3_225_0_0,rop3_225_0_1},{rop3_225_1_0,rop3_225_1_1}},
27256  {{rop3_226_0_0,rop3_226_0_1},{rop3_226_1_0,rop3_226_1_1}},
27257  {{rop3_227_0_0,rop3_227_0_1},{rop3_227_1_0,rop3_227_1_1}},
27258  {{rop3_228_0_0,rop3_228_0_1},{rop3_228_1_0,rop3_228_1_1}},
27259  {{rop3_229_0_0,rop3_229_0_1},{rop3_229_1_0,rop3_229_1_1}},
27260  {{rop3_230_0_0,rop3_230_0_1},{rop3_230_1_0,rop3_230_1_1}},
27261  {{rop3_231_0_0,rop3_231_0_1},{rop3_231_1_0,rop3_231_1_1}},
27262  {{rop3_232_0_0,rop3_232_0_1},{rop3_232_1_0,rop3_232_1_1}},
27263  {{rop3_233_0_0,rop3_233_0_1},{rop3_233_1_0,rop3_233_1_1}},
27264  {{rop3_234_0_0,rop3_234_0_1},{rop3_234_1_0,rop3_234_1_1}},
27265  {{rop3_235_0_0,rop3_235_0_1},{rop3_235_1_0,rop3_235_1_1}},
27266  {{rop3_236_0_0,rop3_236_0_1},{rop3_236_1_0,rop3_236_1_1}},
27267  {{rop3_237_0_0,rop3_237_0_1},{rop3_237_1_0,rop3_237_1_1}},
27268  {{rop3_238_0_0,rop3_238_0_1},{rop3_238_1_0,rop3_238_1_1}},
27269  {{rop3_239_0_0,rop3_239_0_1},{rop3_239_1_0,rop3_239_1_1}},
27270  {{rop3_240_0_0,rop3_240_0_1},{rop3_240_1_0,rop3_240_1_1}},
27271  {{rop3_241_0_0,rop3_241_0_1},{rop3_241_1_0,rop3_241_1_1}},
27272  {{rop3_242_0_0,rop3_242_0_1},{rop3_242_1_0,rop3_242_1_1}},
27273  {{rop3_243_0_0,rop3_243_0_1},{rop3_243_1_0,rop3_243_1_1}},
27274  {{rop3_244_0_0,rop3_244_0_1},{rop3_244_1_0,rop3_244_1_1}},
27275  {{rop3_245_0_0,rop3_245_0_1},{rop3_245_1_0,rop3_245_1_1}},
27276  {{rop3_246_0_0,rop3_246_0_1},{rop3_246_1_0,rop3_246_1_1}},
27277  {{rop3_247_0_0,rop3_247_0_1},{rop3_247_1_0,rop3_247_1_1}},
27278  {{rop3_248_0_0,rop3_248_0_1},{rop3_248_1_0,rop3_248_1_1}},
27279  {{rop3_249_0_0,rop3_249_0_1},{rop3_249_1_0,rop3_249_1_1}},
27280  {{rop3_250_0_0,rop3_250_0_1},{rop3_250_1_0,rop3_250_1_1}},
27281  {{rop3_251_0_0,rop3_251_0_1},{rop3_251_1_0,rop3_251_1_1}},
27282  {{rop3_252_0_0,rop3_252_0_1},{rop3_252_1_0,rop3_252_1_1}},
27283  {{rop3_253_0_0,rop3_253_0_1},{rop3_253_1_0,rop3_253_1_1}},
27284  {{rop3_254_0_0,rop3_254_0_1},{rop3_254_1_0,rop3_254_1_1}},
27285  {{rop3_255_0_0,rop3_255_0_1},{rop3_255_1_0,rop3_255_1_1}}
27286};
27287
27288hpgs_rop3_func_t hpgs_rop3_func(int rop3,
27289                                hpgs_bool src_transparency,
27290                                hpgs_bool pattern_transparency)
27291{
27292  if (rop3 < 0 || rop3 >= 256) return 0;
27293  return rop3_table[rop3][src_transparency!=0][pattern_transparency!=0];
27294}
27295static hpgs_xrop3_func_t xrop3_table[][2][2] = {
27296  {{xrop3_0_0_0,xrop3_0_0_1},{xrop3_0_1_0,xrop3_0_1_1}},
27297  {{xrop3_1_0_0,xrop3_1_0_1},{xrop3_1_1_0,xrop3_1_1_1}},
27298  {{xrop3_2_0_0,xrop3_2_0_1},{xrop3_2_1_0,xrop3_2_1_1}},
27299  {{xrop3_3_0_0,xrop3_3_0_1},{xrop3_3_1_0,xrop3_3_1_1}},
27300  {{xrop3_4_0_0,xrop3_4_0_1},{xrop3_4_1_0,xrop3_4_1_1}},
27301  {{xrop3_5_0_0,xrop3_5_0_1},{xrop3_5_1_0,xrop3_5_1_1}},
27302  {{xrop3_6_0_0,xrop3_6_0_1},{xrop3_6_1_0,xrop3_6_1_1}},
27303  {{xrop3_7_0_0,xrop3_7_0_1},{xrop3_7_1_0,xrop3_7_1_1}},
27304  {{xrop3_8_0_0,xrop3_8_0_1},{xrop3_8_1_0,xrop3_8_1_1}},
27305  {{xrop3_9_0_0,xrop3_9_0_1},{xrop3_9_1_0,xrop3_9_1_1}},
27306  {{xrop3_10_0_0,xrop3_10_0_1},{xrop3_10_1_0,xrop3_10_1_1}},
27307  {{xrop3_11_0_0,xrop3_11_0_1},{xrop3_11_1_0,xrop3_11_1_1}},
27308  {{xrop3_12_0_0,xrop3_12_0_1},{xrop3_12_1_0,xrop3_12_1_1}},
27309  {{xrop3_13_0_0,xrop3_13_0_1},{xrop3_13_1_0,xrop3_13_1_1}},
27310  {{xrop3_14_0_0,xrop3_14_0_1},{xrop3_14_1_0,xrop3_14_1_1}},
27311  {{xrop3_15_0_0,xrop3_15_0_1},{xrop3_15_1_0,xrop3_15_1_1}},
27312  {{xrop3_16_0_0,xrop3_16_0_1},{xrop3_16_1_0,xrop3_16_1_1}},
27313  {{xrop3_17_0_0,xrop3_17_0_1},{xrop3_17_1_0,xrop3_17_1_1}},
27314  {{xrop3_18_0_0,xrop3_18_0_1},{xrop3_18_1_0,xrop3_18_1_1}},
27315  {{xrop3_19_0_0,xrop3_19_0_1},{xrop3_19_1_0,xrop3_19_1_1}},
27316  {{xrop3_20_0_0,xrop3_20_0_1},{xrop3_20_1_0,xrop3_20_1_1}},
27317  {{xrop3_21_0_0,xrop3_21_0_1},{xrop3_21_1_0,xrop3_21_1_1}},
27318  {{xrop3_22_0_0,xrop3_22_0_1},{xrop3_22_1_0,xrop3_22_1_1}},
27319  {{xrop3_23_0_0,xrop3_23_0_1},{xrop3_23_1_0,xrop3_23_1_1}},
27320  {{xrop3_24_0_0,xrop3_24_0_1},{xrop3_24_1_0,xrop3_24_1_1}},
27321  {{xrop3_25_0_0,xrop3_25_0_1},{xrop3_25_1_0,xrop3_25_1_1}},
27322  {{xrop3_26_0_0,xrop3_26_0_1},{xrop3_26_1_0,xrop3_26_1_1}},
27323  {{xrop3_27_0_0,xrop3_27_0_1},{xrop3_27_1_0,xrop3_27_1_1}},
27324  {{xrop3_28_0_0,xrop3_28_0_1},{xrop3_28_1_0,xrop3_28_1_1}},
27325  {{xrop3_29_0_0,xrop3_29_0_1},{xrop3_29_1_0,xrop3_29_1_1}},
27326  {{xrop3_30_0_0,xrop3_30_0_1},{xrop3_30_1_0,xrop3_30_1_1}},
27327  {{xrop3_31_0_0,xrop3_31_0_1},{xrop3_31_1_0,xrop3_31_1_1}},
27328  {{xrop3_32_0_0,xrop3_32_0_1},{xrop3_32_1_0,xrop3_32_1_1}},
27329  {{xrop3_33_0_0,xrop3_33_0_1},{xrop3_33_1_0,xrop3_33_1_1}},
27330  {{xrop3_34_0_0,xrop3_34_0_1},{xrop3_34_1_0,xrop3_34_1_1}},
27331  {{xrop3_35_0_0,xrop3_35_0_1},{xrop3_35_1_0,xrop3_35_1_1}},
27332  {{xrop3_36_0_0,xrop3_36_0_1},{xrop3_36_1_0,xrop3_36_1_1}},
27333  {{xrop3_37_0_0,xrop3_37_0_1},{xrop3_37_1_0,xrop3_37_1_1}},
27334  {{xrop3_38_0_0,xrop3_38_0_1},{xrop3_38_1_0,xrop3_38_1_1}},
27335  {{xrop3_39_0_0,xrop3_39_0_1},{xrop3_39_1_0,xrop3_39_1_1}},
27336  {{xrop3_40_0_0,xrop3_40_0_1},{xrop3_40_1_0,xrop3_40_1_1}},
27337  {{xrop3_41_0_0,xrop3_41_0_1},{xrop3_41_1_0,xrop3_41_1_1}},
27338  {{xrop3_42_0_0,xrop3_42_0_1},{xrop3_42_1_0,xrop3_42_1_1}},
27339  {{xrop3_43_0_0,xrop3_43_0_1},{xrop3_43_1_0,xrop3_43_1_1}},
27340  {{xrop3_44_0_0,xrop3_44_0_1},{xrop3_44_1_0,xrop3_44_1_1}},
27341  {{xrop3_45_0_0,xrop3_45_0_1},{xrop3_45_1_0,xrop3_45_1_1}},
27342  {{xrop3_46_0_0,xrop3_46_0_1},{xrop3_46_1_0,xrop3_46_1_1}},
27343  {{xrop3_47_0_0,xrop3_47_0_1},{xrop3_47_1_0,xrop3_47_1_1}},
27344  {{xrop3_48_0_0,xrop3_48_0_1},{xrop3_48_1_0,xrop3_48_1_1}},
27345  {{xrop3_49_0_0,xrop3_49_0_1},{xrop3_49_1_0,xrop3_49_1_1}},
27346  {{xrop3_50_0_0,xrop3_50_0_1},{xrop3_50_1_0,xrop3_50_1_1}},
27347  {{xrop3_51_0_0,xrop3_51_0_1},{xrop3_51_1_0,xrop3_51_1_1}},
27348  {{xrop3_52_0_0,xrop3_52_0_1},{xrop3_52_1_0,xrop3_52_1_1}},
27349  {{xrop3_53_0_0,xrop3_53_0_1},{xrop3_53_1_0,xrop3_53_1_1}},
27350  {{xrop3_54_0_0,xrop3_54_0_1},{xrop3_54_1_0,xrop3_54_1_1}},
27351  {{xrop3_55_0_0,xrop3_55_0_1},{xrop3_55_1_0,xrop3_55_1_1}},
27352  {{xrop3_56_0_0,xrop3_56_0_1},{xrop3_56_1_0,xrop3_56_1_1}},
27353  {{xrop3_57_0_0,xrop3_57_0_1},{xrop3_57_1_0,xrop3_57_1_1}},
27354  {{xrop3_58_0_0,xrop3_58_0_1},{xrop3_58_1_0,xrop3_58_1_1}},
27355  {{xrop3_59_0_0,xrop3_59_0_1},{xrop3_59_1_0,xrop3_59_1_1}},
27356  {{xrop3_60_0_0,xrop3_60_0_1},{xrop3_60_1_0,xrop3_60_1_1}},
27357  {{xrop3_61_0_0,xrop3_61_0_1},{xrop3_61_1_0,xrop3_61_1_1}},
27358  {{xrop3_62_0_0,xrop3_62_0_1},{xrop3_62_1_0,xrop3_62_1_1}},
27359  {{xrop3_63_0_0,xrop3_63_0_1},{xrop3_63_1_0,xrop3_63_1_1}},
27360  {{xrop3_64_0_0,xrop3_64_0_1},{xrop3_64_1_0,xrop3_64_1_1}},
27361  {{xrop3_65_0_0,xrop3_65_0_1},{xrop3_65_1_0,xrop3_65_1_1}},
27362  {{xrop3_66_0_0,xrop3_66_0_1},{xrop3_66_1_0,xrop3_66_1_1}},
27363  {{xrop3_67_0_0,xrop3_67_0_1},{xrop3_67_1_0,xrop3_67_1_1}},
27364  {{xrop3_68_0_0,xrop3_68_0_1},{xrop3_68_1_0,xrop3_68_1_1}},
27365  {{xrop3_69_0_0,xrop3_69_0_1},{xrop3_69_1_0,xrop3_69_1_1}},
27366  {{xrop3_70_0_0,xrop3_70_0_1},{xrop3_70_1_0,xrop3_70_1_1}},
27367  {{xrop3_71_0_0,xrop3_71_0_1},{xrop3_71_1_0,xrop3_71_1_1}},
27368  {{xrop3_72_0_0,xrop3_72_0_1},{xrop3_72_1_0,xrop3_72_1_1}},
27369  {{xrop3_73_0_0,xrop3_73_0_1},{xrop3_73_1_0,xrop3_73_1_1}},
27370  {{xrop3_74_0_0,xrop3_74_0_1},{xrop3_74_1_0,xrop3_74_1_1}},
27371  {{xrop3_75_0_0,xrop3_75_0_1},{xrop3_75_1_0,xrop3_75_1_1}},
27372  {{xrop3_76_0_0,xrop3_76_0_1},{xrop3_76_1_0,xrop3_76_1_1}},
27373  {{xrop3_77_0_0,xrop3_77_0_1},{xrop3_77_1_0,xrop3_77_1_1}},
27374  {{xrop3_78_0_0,xrop3_78_0_1},{xrop3_78_1_0,xrop3_78_1_1}},
27375  {{xrop3_79_0_0,xrop3_79_0_1},{xrop3_79_1_0,xrop3_79_1_1}},
27376  {{xrop3_80_0_0,xrop3_80_0_1},{xrop3_80_1_0,xrop3_80_1_1}},
27377  {{xrop3_81_0_0,xrop3_81_0_1},{xrop3_81_1_0,xrop3_81_1_1}},
27378  {{xrop3_82_0_0,xrop3_82_0_1},{xrop3_82_1_0,xrop3_82_1_1}},
27379  {{xrop3_83_0_0,xrop3_83_0_1},{xrop3_83_1_0,xrop3_83_1_1}},
27380  {{xrop3_84_0_0,xrop3_84_0_1},{xrop3_84_1_0,xrop3_84_1_1}},
27381  {{xrop3_85_0_0,xrop3_85_0_1},{xrop3_85_1_0,xrop3_85_1_1}},
27382  {{xrop3_86_0_0,xrop3_86_0_1},{xrop3_86_1_0,xrop3_86_1_1}},
27383  {{xrop3_87_0_0,xrop3_87_0_1},{xrop3_87_1_0,xrop3_87_1_1}},
27384  {{xrop3_88_0_0,xrop3_88_0_1},{xrop3_88_1_0,xrop3_88_1_1}},
27385  {{xrop3_89_0_0,xrop3_89_0_1},{xrop3_89_1_0,xrop3_89_1_1}},
27386  {{xrop3_90_0_0,xrop3_90_0_1},{xrop3_90_1_0,xrop3_90_1_1}},
27387  {{xrop3_91_0_0,xrop3_91_0_1},{xrop3_91_1_0,xrop3_91_1_1}},
27388  {{xrop3_92_0_0,xrop3_92_0_1},{xrop3_92_1_0,xrop3_92_1_1}},
27389  {{xrop3_93_0_0,xrop3_93_0_1},{xrop3_93_1_0,xrop3_93_1_1}},
27390  {{xrop3_94_0_0,xrop3_94_0_1},{xrop3_94_1_0,xrop3_94_1_1}},
27391  {{xrop3_95_0_0,xrop3_95_0_1},{xrop3_95_1_0,xrop3_95_1_1}},
27392  {{xrop3_96_0_0,xrop3_96_0_1},{xrop3_96_1_0,xrop3_96_1_1}},
27393  {{xrop3_97_0_0,xrop3_97_0_1},{xrop3_97_1_0,xrop3_97_1_1}},
27394  {{xrop3_98_0_0,xrop3_98_0_1},{xrop3_98_1_0,xrop3_98_1_1}},
27395  {{xrop3_99_0_0,xrop3_99_0_1},{xrop3_99_1_0,xrop3_99_1_1}},
27396  {{xrop3_100_0_0,xrop3_100_0_1},{xrop3_100_1_0,xrop3_100_1_1}},
27397  {{xrop3_101_0_0,xrop3_101_0_1},{xrop3_101_1_0,xrop3_101_1_1}},
27398  {{xrop3_102_0_0,xrop3_102_0_1},{xrop3_102_1_0,xrop3_102_1_1}},
27399  {{xrop3_103_0_0,xrop3_103_0_1},{xrop3_103_1_0,xrop3_103_1_1}},
27400  {{xrop3_104_0_0,xrop3_104_0_1},{xrop3_104_1_0,xrop3_104_1_1}},
27401  {{xrop3_105_0_0,xrop3_105_0_1},{xrop3_105_1_0,xrop3_105_1_1}},
27402  {{xrop3_106_0_0,xrop3_106_0_1},{xrop3_106_1_0,xrop3_106_1_1}},
27403  {{xrop3_107_0_0,xrop3_107_0_1},{xrop3_107_1_0,xrop3_107_1_1}},
27404  {{xrop3_108_0_0,xrop3_108_0_1},{xrop3_108_1_0,xrop3_108_1_1}},
27405  {{xrop3_109_0_0,xrop3_109_0_1},{xrop3_109_1_0,xrop3_109_1_1}},
27406  {{xrop3_110_0_0,xrop3_110_0_1},{xrop3_110_1_0,xrop3_110_1_1}},
27407  {{xrop3_111_0_0,xrop3_111_0_1},{xrop3_111_1_0,xrop3_111_1_1}},
27408  {{xrop3_112_0_0,xrop3_112_0_1},{xrop3_112_1_0,xrop3_112_1_1}},
27409  {{xrop3_113_0_0,xrop3_113_0_1},{xrop3_113_1_0,xrop3_113_1_1}},
27410  {{xrop3_114_0_0,xrop3_114_0_1},{xrop3_114_1_0,xrop3_114_1_1}},
27411  {{xrop3_115_0_0,xrop3_115_0_1},{xrop3_115_1_0,xrop3_115_1_1}},
27412  {{xrop3_116_0_0,xrop3_116_0_1},{xrop3_116_1_0,xrop3_116_1_1}},
27413  {{xrop3_117_0_0,xrop3_117_0_1},{xrop3_117_1_0,xrop3_117_1_1}},
27414  {{xrop3_118_0_0,xrop3_118_0_1},{xrop3_118_1_0,xrop3_118_1_1}},
27415  {{xrop3_119_0_0,xrop3_119_0_1},{xrop3_119_1_0,xrop3_119_1_1}},
27416  {{xrop3_120_0_0,xrop3_120_0_1},{xrop3_120_1_0,xrop3_120_1_1}},
27417  {{xrop3_121_0_0,xrop3_121_0_1},{xrop3_121_1_0,xrop3_121_1_1}},
27418  {{xrop3_122_0_0,xrop3_122_0_1},{xrop3_122_1_0,xrop3_122_1_1}},
27419  {{xrop3_123_0_0,xrop3_123_0_1},{xrop3_123_1_0,xrop3_123_1_1}},
27420  {{xrop3_124_0_0,xrop3_124_0_1},{xrop3_124_1_0,xrop3_124_1_1}},
27421  {{xrop3_125_0_0,xrop3_125_0_1},{xrop3_125_1_0,xrop3_125_1_1}},
27422  {{xrop3_126_0_0,xrop3_126_0_1},{xrop3_126_1_0,xrop3_126_1_1}},
27423  {{xrop3_127_0_0,xrop3_127_0_1},{xrop3_127_1_0,xrop3_127_1_1}},
27424  {{xrop3_128_0_0,xrop3_128_0_1},{xrop3_128_1_0,xrop3_128_1_1}},
27425  {{xrop3_129_0_0,xrop3_129_0_1},{xrop3_129_1_0,xrop3_129_1_1}},
27426  {{xrop3_130_0_0,xrop3_130_0_1},{xrop3_130_1_0,xrop3_130_1_1}},
27427  {{xrop3_131_0_0,xrop3_131_0_1},{xrop3_131_1_0,xrop3_131_1_1}},
27428  {{xrop3_132_0_0,xrop3_132_0_1},{xrop3_132_1_0,xrop3_132_1_1}},
27429  {{xrop3_133_0_0,xrop3_133_0_1},{xrop3_133_1_0,xrop3_133_1_1}},
27430  {{xrop3_134_0_0,xrop3_134_0_1},{xrop3_134_1_0,xrop3_134_1_1}},
27431  {{xrop3_135_0_0,xrop3_135_0_1},{xrop3_135_1_0,xrop3_135_1_1}},
27432  {{xrop3_136_0_0,xrop3_136_0_1},{xrop3_136_1_0,xrop3_136_1_1}},
27433  {{xrop3_137_0_0,xrop3_137_0_1},{xrop3_137_1_0,xrop3_137_1_1}},
27434  {{xrop3_138_0_0,xrop3_138_0_1},{xrop3_138_1_0,xrop3_138_1_1}},
27435  {{xrop3_139_0_0,xrop3_139_0_1},{xrop3_139_1_0,xrop3_139_1_1}},
27436  {{xrop3_140_0_0,xrop3_140_0_1},{xrop3_140_1_0,xrop3_140_1_1}},
27437  {{xrop3_141_0_0,xrop3_141_0_1},{xrop3_141_1_0,xrop3_141_1_1}},
27438  {{xrop3_142_0_0,xrop3_142_0_1},{xrop3_142_1_0,xrop3_142_1_1}},
27439  {{xrop3_143_0_0,xrop3_143_0_1},{xrop3_143_1_0,xrop3_143_1_1}},
27440  {{xrop3_144_0_0,xrop3_144_0_1},{xrop3_144_1_0,xrop3_144_1_1}},
27441  {{xrop3_145_0_0,xrop3_145_0_1},{xrop3_145_1_0,xrop3_145_1_1}},
27442  {{xrop3_146_0_0,xrop3_146_0_1},{xrop3_146_1_0,xrop3_146_1_1}},
27443  {{xrop3_147_0_0,xrop3_147_0_1},{xrop3_147_1_0,xrop3_147_1_1}},
27444  {{xrop3_148_0_0,xrop3_148_0_1},{xrop3_148_1_0,xrop3_148_1_1}},
27445  {{xrop3_149_0_0,xrop3_149_0_1},{xrop3_149_1_0,xrop3_149_1_1}},
27446  {{xrop3_150_0_0,xrop3_150_0_1},{xrop3_150_1_0,xrop3_150_1_1}},
27447  {{xrop3_151_0_0,xrop3_151_0_1},{xrop3_151_1_0,xrop3_151_1_1}},
27448  {{xrop3_152_0_0,xrop3_152_0_1},{xrop3_152_1_0,xrop3_152_1_1}},
27449  {{xrop3_153_0_0,xrop3_153_0_1},{xrop3_153_1_0,xrop3_153_1_1}},
27450  {{xrop3_154_0_0,xrop3_154_0_1},{xrop3_154_1_0,xrop3_154_1_1}},
27451  {{xrop3_155_0_0,xrop3_155_0_1},{xrop3_155_1_0,xrop3_155_1_1}},
27452  {{xrop3_156_0_0,xrop3_156_0_1},{xrop3_156_1_0,xrop3_156_1_1}},
27453  {{xrop3_157_0_0,xrop3_157_0_1},{xrop3_157_1_0,xrop3_157_1_1}},
27454  {{xrop3_158_0_0,xrop3_158_0_1},{xrop3_158_1_0,xrop3_158_1_1}},
27455  {{xrop3_159_0_0,xrop3_159_0_1},{xrop3_159_1_0,xrop3_159_1_1}},
27456  {{xrop3_160_0_0,xrop3_160_0_1},{xrop3_160_1_0,xrop3_160_1_1}},
27457  {{xrop3_161_0_0,xrop3_161_0_1},{xrop3_161_1_0,xrop3_161_1_1}},
27458  {{xrop3_162_0_0,xrop3_162_0_1},{xrop3_162_1_0,xrop3_162_1_1}},
27459  {{xrop3_163_0_0,xrop3_163_0_1},{xrop3_163_1_0,xrop3_163_1_1}},
27460  {{xrop3_164_0_0,xrop3_164_0_1},{xrop3_164_1_0,xrop3_164_1_1}},
27461  {{xrop3_165_0_0,xrop3_165_0_1},{xrop3_165_1_0,xrop3_165_1_1}},
27462  {{xrop3_166_0_0,xrop3_166_0_1},{xrop3_166_1_0,xrop3_166_1_1}},
27463  {{xrop3_167_0_0,xrop3_167_0_1},{xrop3_167_1_0,xrop3_167_1_1}},
27464  {{xrop3_168_0_0,xrop3_168_0_1},{xrop3_168_1_0,xrop3_168_1_1}},
27465  {{xrop3_169_0_0,xrop3_169_0_1},{xrop3_169_1_0,xrop3_169_1_1}},
27466  {{xrop3_170_0_0,xrop3_170_0_1},{xrop3_170_1_0,xrop3_170_1_1}},
27467  {{xrop3_171_0_0,xrop3_171_0_1},{xrop3_171_1_0,xrop3_171_1_1}},
27468  {{xrop3_172_0_0,xrop3_172_0_1},{xrop3_172_1_0,xrop3_172_1_1}},
27469  {{xrop3_173_0_0,xrop3_173_0_1},{xrop3_173_1_0,xrop3_173_1_1}},
27470  {{xrop3_174_0_0,xrop3_174_0_1},{xrop3_174_1_0,xrop3_174_1_1}},
27471  {{xrop3_175_0_0,xrop3_175_0_1},{xrop3_175_1_0,xrop3_175_1_1}},
27472  {{xrop3_176_0_0,xrop3_176_0_1},{xrop3_176_1_0,xrop3_176_1_1}},
27473  {{xrop3_177_0_0,xrop3_177_0_1},{xrop3_177_1_0,xrop3_177_1_1}},
27474  {{xrop3_178_0_0,xrop3_178_0_1},{xrop3_178_1_0,xrop3_178_1_1}},
27475  {{xrop3_179_0_0,xrop3_179_0_1},{xrop3_179_1_0,xrop3_179_1_1}},
27476  {{xrop3_180_0_0,xrop3_180_0_1},{xrop3_180_1_0,xrop3_180_1_1}},
27477  {{xrop3_181_0_0,xrop3_181_0_1},{xrop3_181_1_0,xrop3_181_1_1}},
27478  {{xrop3_182_0_0,xrop3_182_0_1},{xrop3_182_1_0,xrop3_182_1_1}},
27479  {{xrop3_183_0_0,xrop3_183_0_1},{xrop3_183_1_0,xrop3_183_1_1}},
27480  {{xrop3_184_0_0,xrop3_184_0_1},{xrop3_184_1_0,xrop3_184_1_1}},
27481  {{xrop3_185_0_0,xrop3_185_0_1},{xrop3_185_1_0,xrop3_185_1_1}},
27482  {{xrop3_186_0_0,xrop3_186_0_1},{xrop3_186_1_0,xrop3_186_1_1}},
27483  {{xrop3_187_0_0,xrop3_187_0_1},{xrop3_187_1_0,xrop3_187_1_1}},
27484  {{xrop3_188_0_0,xrop3_188_0_1},{xrop3_188_1_0,xrop3_188_1_1}},
27485  {{xrop3_189_0_0,xrop3_189_0_1},{xrop3_189_1_0,xrop3_189_1_1}},
27486  {{xrop3_190_0_0,xrop3_190_0_1},{xrop3_190_1_0,xrop3_190_1_1}},
27487  {{xrop3_191_0_0,xrop3_191_0_1},{xrop3_191_1_0,xrop3_191_1_1}},
27488  {{xrop3_192_0_0,xrop3_192_0_1},{xrop3_192_1_0,xrop3_192_1_1}},
27489  {{xrop3_193_0_0,xrop3_193_0_1},{xrop3_193_1_0,xrop3_193_1_1}},
27490  {{xrop3_194_0_0,xrop3_194_0_1},{xrop3_194_1_0,xrop3_194_1_1}},
27491  {{xrop3_195_0_0,xrop3_195_0_1},{xrop3_195_1_0,xrop3_195_1_1}},
27492  {{xrop3_196_0_0,xrop3_196_0_1},{xrop3_196_1_0,xrop3_196_1_1}},
27493  {{xrop3_197_0_0,xrop3_197_0_1},{xrop3_197_1_0,xrop3_197_1_1}},
27494  {{xrop3_198_0_0,xrop3_198_0_1},{xrop3_198_1_0,xrop3_198_1_1}},
27495  {{xrop3_199_0_0,xrop3_199_0_1},{xrop3_199_1_0,xrop3_199_1_1}},
27496  {{xrop3_200_0_0,xrop3_200_0_1},{xrop3_200_1_0,xrop3_200_1_1}},
27497  {{xrop3_201_0_0,xrop3_201_0_1},{xrop3_201_1_0,xrop3_201_1_1}},
27498  {{xrop3_202_0_0,xrop3_202_0_1},{xrop3_202_1_0,xrop3_202_1_1}},
27499  {{xrop3_203_0_0,xrop3_203_0_1},{xrop3_203_1_0,xrop3_203_1_1}},
27500  {{xrop3_204_0_0,xrop3_204_0_1},{xrop3_204_1_0,xrop3_204_1_1}},
27501  {{xrop3_205_0_0,xrop3_205_0_1},{xrop3_205_1_0,xrop3_205_1_1}},
27502  {{xrop3_206_0_0,xrop3_206_0_1},{xrop3_206_1_0,xrop3_206_1_1}},
27503  {{xrop3_207_0_0,xrop3_207_0_1},{xrop3_207_1_0,xrop3_207_1_1}},
27504  {{xrop3_208_0_0,xrop3_208_0_1},{xrop3_208_1_0,xrop3_208_1_1}},
27505  {{xrop3_209_0_0,xrop3_209_0_1},{xrop3_209_1_0,xrop3_209_1_1}},
27506  {{xrop3_210_0_0,xrop3_210_0_1},{xrop3_210_1_0,xrop3_210_1_1}},
27507  {{xrop3_211_0_0,xrop3_211_0_1},{xrop3_211_1_0,xrop3_211_1_1}},
27508  {{xrop3_212_0_0,xrop3_212_0_1},{xrop3_212_1_0,xrop3_212_1_1}},
27509  {{xrop3_213_0_0,xrop3_213_0_1},{xrop3_213_1_0,xrop3_213_1_1}},
27510  {{xrop3_214_0_0,xrop3_214_0_1},{xrop3_214_1_0,xrop3_214_1_1}},
27511  {{xrop3_215_0_0,xrop3_215_0_1},{xrop3_215_1_0,xrop3_215_1_1}},
27512  {{xrop3_216_0_0,xrop3_216_0_1},{xrop3_216_1_0,xrop3_216_1_1}},
27513  {{xrop3_217_0_0,xrop3_217_0_1},{xrop3_217_1_0,xrop3_217_1_1}},
27514  {{xrop3_218_0_0,xrop3_218_0_1},{xrop3_218_1_0,xrop3_218_1_1}},
27515  {{xrop3_219_0_0,xrop3_219_0_1},{xrop3_219_1_0,xrop3_219_1_1}},
27516  {{xrop3_220_0_0,xrop3_220_0_1},{xrop3_220_1_0,xrop3_220_1_1}},
27517  {{xrop3_221_0_0,xrop3_221_0_1},{xrop3_221_1_0,xrop3_221_1_1}},
27518  {{xrop3_222_0_0,xrop3_222_0_1},{xrop3_222_1_0,xrop3_222_1_1}},
27519  {{xrop3_223_0_0,xrop3_223_0_1},{xrop3_223_1_0,xrop3_223_1_1}},
27520  {{xrop3_224_0_0,xrop3_224_0_1},{xrop3_224_1_0,xrop3_224_1_1}},
27521  {{xrop3_225_0_0,xrop3_225_0_1},{xrop3_225_1_0,xrop3_225_1_1}},
27522  {{xrop3_226_0_0,xrop3_226_0_1},{xrop3_226_1_0,xrop3_226_1_1}},
27523  {{xrop3_227_0_0,xrop3_227_0_1},{xrop3_227_1_0,xrop3_227_1_1}},
27524  {{xrop3_228_0_0,xrop3_228_0_1},{xrop3_228_1_0,xrop3_228_1_1}},
27525  {{xrop3_229_0_0,xrop3_229_0_1},{xrop3_229_1_0,xrop3_229_1_1}},
27526  {{xrop3_230_0_0,xrop3_230_0_1},{xrop3_230_1_0,xrop3_230_1_1}},
27527  {{xrop3_231_0_0,xrop3_231_0_1},{xrop3_231_1_0,xrop3_231_1_1}},
27528  {{xrop3_232_0_0,xrop3_232_0_1},{xrop3_232_1_0,xrop3_232_1_1}},
27529  {{xrop3_233_0_0,xrop3_233_0_1},{xrop3_233_1_0,xrop3_233_1_1}},
27530  {{xrop3_234_0_0,xrop3_234_0_1},{xrop3_234_1_0,xrop3_234_1_1}},
27531  {{xrop3_235_0_0,xrop3_235_0_1},{xrop3_235_1_0,xrop3_235_1_1}},
27532  {{xrop3_236_0_0,xrop3_236_0_1},{xrop3_236_1_0,xrop3_236_1_1}},
27533  {{xrop3_237_0_0,xrop3_237_0_1},{xrop3_237_1_0,xrop3_237_1_1}},
27534  {{xrop3_238_0_0,xrop3_238_0_1},{xrop3_238_1_0,xrop3_238_1_1}},
27535  {{xrop3_239_0_0,xrop3_239_0_1},{xrop3_239_1_0,xrop3_239_1_1}},
27536  {{xrop3_240_0_0,xrop3_240_0_1},{xrop3_240_1_0,xrop3_240_1_1}},
27537  {{xrop3_241_0_0,xrop3_241_0_1},{xrop3_241_1_0,xrop3_241_1_1}},
27538  {{xrop3_242_0_0,xrop3_242_0_1},{xrop3_242_1_0,xrop3_242_1_1}},
27539  {{xrop3_243_0_0,xrop3_243_0_1},{xrop3_243_1_0,xrop3_243_1_1}},
27540  {{xrop3_244_0_0,xrop3_244_0_1},{xrop3_244_1_0,xrop3_244_1_1}},
27541  {{xrop3_245_0_0,xrop3_245_0_1},{xrop3_245_1_0,xrop3_245_1_1}},
27542  {{xrop3_246_0_0,xrop3_246_0_1},{xrop3_246_1_0,xrop3_246_1_1}},
27543  {{xrop3_247_0_0,xrop3_247_0_1},{xrop3_247_1_0,xrop3_247_1_1}},
27544  {{xrop3_248_0_0,xrop3_248_0_1},{xrop3_248_1_0,xrop3_248_1_1}},
27545  {{xrop3_249_0_0,xrop3_249_0_1},{xrop3_249_1_0,xrop3_249_1_1}},
27546  {{xrop3_250_0_0,xrop3_250_0_1},{xrop3_250_1_0,xrop3_250_1_1}},
27547  {{xrop3_251_0_0,xrop3_251_0_1},{xrop3_251_1_0,xrop3_251_1_1}},
27548  {{xrop3_252_0_0,xrop3_252_0_1},{xrop3_252_1_0,xrop3_252_1_1}},
27549  {{xrop3_253_0_0,xrop3_253_0_1},{xrop3_253_1_0,xrop3_253_1_1}},
27550  {{xrop3_254_0_0,xrop3_254_0_1},{xrop3_254_1_0,xrop3_254_1_1}},
27551  {{xrop3_255_0_0,xrop3_255_0_1},{xrop3_255_1_0,xrop3_255_1_1}}
27552};
27553
27554hpgs_xrop3_func_t hpgs_xrop3_func(int rop3,
27555                                  hpgs_bool src_transparency,
27556                                  hpgs_bool pattern_transparency)
27557{
27558  if (rop3 < 0 || rop3 >= 256) return 0;
27559  return xrop3_table[rop3][src_transparency!=0][pattern_transparency!=0];
27560}
27561